vance 发表于 2016-12-24 12:46

菜鸟版金盾2018SS加密视频破解

今天刚拿到金盾2018SS加密的视频,界面如下:


   

机器码由源来的“00000-00000-00000-00000”变成了一串32位的字符串了;



OD打开我们发现其实18SS的播放器仍然是有类似的机器码,只不过是三组数据构成,类似"0000-0000-0000"这样的格式;






运行-->暂停-->返回到用户代码-->查找字符串
我们可以发现和之前的版本有类似的地方,大概的机器码生成的地方,就可能在这里;
0089B808   .55            push ebp
0089B809   .8BEC          mov ebp,esp
0089B80B   .83C4 F0       add esp,-0x10
0089B80E   .53            push ebx
0089B80F   .56            push esi
0089B810   .57            push edi
0089B811   .33C9          xor ecx,ecx
0089B813   .894D FC       mov dword ptr ss:,ecx
0089B816   .8945 F8       mov dword ptr ss:,eax
0089B819   .33C0          xor eax,eax
0089B81B   .55            push ebp
0089B81C   .68 59BA8900   push 金盾18SS.0089BA59
0089B821   .64:FF30       push dword ptr fs:
0089B824   .64:8920       mov dword ptr fs:,esp
0089B827   .A1 B0128F00   mov eax,dword ptr ds:
0089B82C   .8B80 64020000 mov eax,dword ptr ds:
0089B832   .B2 01         mov dl,0x1
0089B834   .8B08          mov ecx,dword ptr ds:
0089B836   .FF91 E8000000 call dword ptr ds:
0089B83C   .33C0          xor eax,eax
0089B83E   .55            push ebp
0089B83F   .68 5EB88900   push 金盾18SS.0089B85E
0089B844   .64:FF30       push dword ptr fs:
0089B847   .64:8920       mov dword ptr fs:,esp
0089B84A   .E8 39E0F7FF   call 金盾18SS.00819888
0089B84F   .8B10          mov edx,dword ptr ds:
0089B851   .FF52 14       call dword ptr ds:
0089B854   .33C0          xor eax,eax
0089B856   .5A            pop edx
0089B857   .59            pop ecx
0089B858   .59            pop ecx
0089B859   .64:8910       mov dword ptr fs:,edx
0089B85C   .EB 0A         jmp short 金盾18SS.0089B868
0089B85E   .^ E9 FDDDB6FF   jmp 金盾18SS.00409660
0089B863   .E8 50E2B6FF   call 金盾18SS.00409AB8
0089B868   >A1 EC5D8D00   mov eax,dword ptr ds:
0089B86D   .8338 00       cmp dword ptr ds:,0x0
0089B870   .0F84 01010000 je 金盾18SS.0089B977
0089B876   .8B0D EC5D8D00 mov ecx,dword ptr ds:          ;金盾18SS.008F1C4C
0089B87C   .8B09          mov ecx,dword ptr ds:
0089B87E   .8D45 FC       lea eax,dword ptr ss:
0089B881   .BA 74BA8900   mov edx,金盾18SS.0089BA74                  ;c:\drmsoft\face
0089B886   .E8 71FBB6FF   call 金盾18SS.0040B3FC
0089B88B   .B2 01         mov dl,0x1
0089B88D   .8B45 FC       mov eax,dword ptr ss:
0089B890   .E8 B3AEB8FF   call 金盾18SS.00426748
0089B895   .84C0          test al,al
0089B897   .74 08         je short 金盾18SS.0089B8A1
0089B899   .8B45 FC       mov eax,dword ptr ss:
0089B89C   .E8 33B3B8FF   call 金盾18SS.00426BD4
0089B8A1   >33D2          xor edx,edx
0089B8A3   .55            push ebp
0089B8A4   .68 70B98900   push 金盾18SS.0089B970
0089B8A9   .64:FF32       push dword ptr fs:
0089B8AC   .64:8922       mov dword ptr fs:,esp
0089B8AF   .8B45 FC       mov eax,dword ptr ss:
0089B8B2   .E8 FDAAB8FF   call 金盾18SS.004263B4
0089B8B7   .50            push eax
0089B8B8   .E8 3B8EB7FF   call 金盾18SS.004146F8
0089B8BD   .6A 01         push 0x1
0089B8BF   .8B4D FC       mov ecx,dword ptr ss:
0089B8C2   .B2 01         mov dl,0x1
0089B8C4   .A1 AC444400   mov eax,dword ptr ds:          ;8FF
0089B8C9   .E8 A696BCFF   call 金盾18SS.00464F74
0089B8CE   .8BD8          mov ebx,eax
0089B8D0   .6A 40         push 0x40
0089B8D2   .8B0D A8608D00 mov ecx,dword ptr ds:          ;金盾18SS.008F1AB0
0089B8D8   .8B09          mov ecx,dword ptr ds:
0089B8DA   .B2 01         mov dl,0x1
0089B8DC   .A1 AC444400   mov eax,dword ptr ds:          ;8FF
0089B8E1   .E8 8E96BCFF   call 金盾18SS.00464F74
0089B8E6   .8945 F4       mov dword ptr ss:,eax
0089B8E9   .8B15 7C558D00 mov edx,dword ptr ds:          ;金盾18SS.008F1C58
0089B8EF   .8B12          mov edx,dword ptr ds:
0089B8F1   .F7DA          neg edx
0089B8F3   .66:B9 0200    mov cx,0x2
0089B8F7   .8B45 F4       mov eax,dword ptr ss:
0089B8FA   .8B30          mov esi,dword ptr ds:
0089B8FC   .FF56 1C       call dword ptr ds:
0089B8FF   .8D55 F0       lea edx,dword ptr ss:
0089B902   .B9 04000000   mov ecx,0x4
0089B907   .8B45 F4       mov eax,dword ptr ss:
0089B90A   .E8 7590BCFF   call 金盾18SS.00464984
0089B90F   .8B15 7C558D00 mov edx,dword ptr ds:          ;金盾18SS.008F1C58
0089B915   .8B12          mov edx,dword ptr ds:
0089B917   .0355 F0       add edx,dword ptr ss:
0089B91A   .F7DA          neg edx
0089B91C   .66:B9 0200    mov cx,0x2
0089B920   .8B45 F4       mov eax,dword ptr ss:
0089B923   .8B30          mov esi,dword ptr ds:
0089B925   .FF56 1C       call dword ptr ds:
0089B928   .8B45 F0       mov eax,dword ptr ss:
0089B92B   .99            cdq
0089B92C   .52            push edx
0089B92D   .50            push eax
0089B92E   .8B55 F4       mov edx,dword ptr ss:
0089B931   .8BC3          mov eax,ebx
0089B933   .E8 EC92BCFF   call 金盾18SS.00464C24
0089B938   .8BC3          mov eax,ebx
0089B93A   .E8 B5CDB6FF   call 金盾18SS.004086F4
0089B93F   .6A 00         push 0x0
0089B941   .A1 B0128F00   mov eax,dword ptr ds:
0089B946   .8B80 6C020000 mov eax,dword ptr ds:
0089B94C   .8B80 60030000 mov eax,dword ptr ds:
0089B952   .8B55 FC       mov edx,dword ptr ss:
0089B955   .E8 967AE2FF   call 金盾18SS.006C33F0
0089B95A   .33C0          xor eax,eax
0089B95C   .5A            pop edx
0089B95D   .59            pop ecx
0089B95E   .59            pop ecx
0089B95F   .64:8910       mov dword ptr fs:,edx
0089B962   .68 77B98900   push 金盾18SS.0089B977
0089B967   >8B45 F4       mov eax,dword ptr ss:
0089B96A   .E8 85CDB6FF   call 金盾18SS.004086F4
0089B96F   .C3            retn
0089B970   .^ E9 9FDFB6FF   jmp 金盾18SS.00409914
0089B975   .^ EB F0         jmp short 金盾18SS.0089B967
0089B977   >8B15 1C5D8D00 mov edx,dword ptr ds:          ;金盾18SS.008F1B48
0089B97D   .8B12          mov edx,dword ptr ds:
0089B97F   .A1 B0128F00   mov eax,dword ptr ds:
0089B984   .E8 5BC1E5FF   call 金盾18SS.006F7AE4
0089B989   .8B15 685A8D00 mov edx,dword ptr ds:          ;金盾18SS.008F1AD8
0089B98F   .8B12          mov edx,dword ptr ds:
0089B991   .A1 B0128F00   mov eax,dword ptr ds:
0089B996   .8B80 54020000 mov eax,dword ptr ds:
0089B99C   .8B08          mov ecx,dword ptr ds:
0089B99E   .FF91 C0020000 call dword ptr ds:
0089B9A4   .8B15 A44E8D00 mov edx,dword ptr ds:          ;金盾18SS.008F1B60
0089B9AA   .8B12          mov edx,dword ptr ds:
0089B9AC   .8B45 F8       mov eax,dword ptr ss:
0089B9AF   .8B80 64020000 mov eax,dword ptr ds:
0089B9B5   .8B08          mov ecx,dword ptr ds:
0089B9B7   .FF91 70020000 call dword ptr ds:
0089B9BD   .8B15 445C8D00 mov edx,dword ptr ds:          ;金盾18SS.008F1B5C
0089B9C3   .8B12          mov edx,dword ptr ds:
0089B9C5   .8B45 F8       mov eax,dword ptr ss:
0089B9C8   .8B80 5C020000 mov eax,dword ptr ds:
0089B9CE   .8B08          mov ecx,dword ptr ds:
0089B9D0   .FF91 70020000 call dword ptr ds:
0089B9D6   .8B45 F8       mov eax,dword ptr ss:
0089B9D9   .8B80 60020000 mov eax,dword ptr ds:
0089B9DF   .33D2          xor edx,edx
0089B9E1   .8B08          mov ecx,dword ptr ds:
0089B9E3   .FF91 7C020000 call dword ptr ds:
0089B9E9   .8B15 CC5D8D00 mov edx,dword ptr ds:          ;金盾18SS.008F1B50
0089B9EF   .8B12          mov edx,dword ptr ds:
0089B9F1   .A1 B0128F00   mov eax,dword ptr ds:
0089B9F6   .8B80 70020000 mov eax,dword ptr ds:
0089B9FC   .8B08          mov ecx,dword ptr ds:
0089B9FE   .FF91 70020000 call dword ptr ds:
0089BA04   .A1 744F8D00   mov eax,dword ptr ds:
0089BA09   .8B00          mov eax,dword ptr ds:
0089BA0B   .BA A0BA8900   mov edx,金盾18SS.0089BAA0                  ;1
0089BA10   .E8 1FFBB6FF   call 金盾18SS.0040B534
0089BA15   .75 17         jnz short 金盾18SS.0089BA2E
0089BA17   .A1 B0128F00   mov eax,dword ptr ds:
0089BA1C   .8B80 70020000 mov eax,dword ptr ds:
0089BA22   .B2 01         mov dl,0x1
0089BA24   .8B08          mov ecx,dword ptr ds:
0089BA26   .FF91 EC000000 call dword ptr ds:
0089BA2C   .EB 15         jmp short 金盾18SS.0089BA43
0089BA2E   >A1 B0128F00   mov eax,dword ptr ds:
0089BA33   .8B80 70020000 mov eax,dword ptr ds:
0089BA39   .33D2          xor edx,edx
0089BA3B   .8B08          mov ecx,dword ptr ds:
0089BA3D   .FF91 EC000000 call dword ptr ds:
0089BA43   >33C0          xor eax,eax
0089BA45   .5A            pop edx
0089BA46   .59            pop ecx
0089BA47   .59            pop ecx
0089BA48   .64:8910       mov dword ptr fs:,edx
0089BA4B   .68 60BA8900   push 金盾18SS.0089BA60
0089BA50   >8D45 FC       lea eax,dword ptr ss:
0089BA53   .E8 D0E8B6FF   call 金盾18SS.0040A328
0089BA58   .C3            retn
0089BA59   .^ E9 B6DEB6FF   jmp 金盾18SS.00409914
0089BA5E   .^ EB F0         jmp short 金盾18SS.0089BA50
0089BA60   .5F            pop edi
0089BA61   .5E            pop esi
0089BA62   .5B            pop ebx
0089BA63   .8BE5          mov esp,ebp
0089BA65   .5D            pop ebp
0089BA66   .C3            retn




从这里我们F8单步分析


   


从上面分析跟踪后发现,在0089CD17下断然后F8跟下来,可以发现机器码生成了并可以替换





替换两次运行后程序的机器码改变了,这说明加密视频打开后的机器码成功替换,接下来就是输入正确的播放密码并且再次验证机器码

所以我们必须还要找到播放后验证机器码的地方。


接下来就是输入正确的播放密码后,程序再次验证机器码的问题。

经过分析得到了一个关键的地方,在这里就直接放出来吧,这个CALL只是个启示,中间会出现一个问题,将在

下次的分析中给出答案。


断点:0089C940

和之前的方式一样,程序运行后就可以下这个断点,就可以正常地替换机器码吧,大概有十几次吧!

斌之樊篱 发表于 2017-1-5 09:08

非常感谢分享,值得学习

za6268963 发表于 2017-1-5 10:03

谢谢,楼主辛苦了

xsm520 发表于 2017-3-20 15:10

我有一些视频也是被金盾加密的,能教下怎么解密吗??

huchuan888 发表于 2018-4-19 16:48

很受益谢谢分享

msine88 发表于 2021-7-19 13:02

楼主有没有金盾2022版的分析方法

ghostxu 发表于 2022-1-16 12:00

很好很强悍,坚持下去哦~

kalove 发表于 2022-1-16 17:08

支持~谢谢大神的分享~

越宝 发表于 2022-1-17 20:00

谢谢楼主分享

越宝 发表于 2022-1-19 08:48

谢谢大佬!
页: [1] 2 3
查看完整版本: 菜鸟版金盾2018SS加密视频逆向