和菜鸟们一起攻克金盾2018SS加密视频(更新:2015-02-04)
本帖最后由 孙忠山 于 2015-2-4 18:14 编辑今天刚拿到金盾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跟下来,可以发现机器码生成了并可以替换
替换两次运行后程序的机器码改变了,这说明加密视频打开后的机器码成功替换,接下来就是输入正确的播放密码并且再次验证机器码
所以我们必须还要找到播放后验证机器码的地方。
这么久才更新,在此表示抱歉,一来临近春节,各方面的工作比较紧张;二来,也希望吾爱的朋友们一起分析,发表自己的成果,可是这么久
都没有人分享一点,那还是由来我继续写下去吧。
更新时间:2015-02-04
上次我们分析到加密视频打开后替换机器码,接下来就是输入正确的播放密码后,程序再次验证机器码的问题。
经过分析得到了一个关键的地方,在这里就直接放出来吧,这个CALL只是个启示,中间会出现一个问题,将在
下次的分析中给出答案。
断点:0089C940
和之前的方式一样,程序运行后就可以下这个断点,就可以正常地替换机器码吧,大概有十几次吧!
先分享到此,亲们去偿试试,希望多把你遇到的问题或者发现的解决地方法分享出来哦~
在下周我再来解答大家的问题
(保存一下)
完全看不懂 不过感觉很吊的样子 很盼望后续内容 请问一下没有密码可以提取2017s的吗? 学习的不错 标记一下 开始学习 额,什么都看不懂 1454175027 发表于 2015-1-25 01:04
替换机器码没毛用啊,提取不了
那你能替换么? Hmily 发表于 2015-1-22 22:09
期待后续内容。
H大,{:1_928:}见H大必膜拜 给牛人顶起来,很佩服会破解视频加密的。 谢谢大神的无私分享 大神,拜膜 关注,楼主加油! 谢谢楼主无私分享,学习了 看不懂,呜呜 期待后续内容。 楼住稍后的理解有点久。。