小菜一枚,对论坛某个VM了的加强版CM分析
原帖地址:http://www.52pojie.cn/thread-214365-2-1.html小菜一枚 大牛绕过,问题很多,不喜勿喷。谢谢。。。
载入OD发现首段是JMP很明显的VM保护不管
作者加了反调试 那么我们先干掉他
004016A8 55 push ebp 此处RETN
004016A9 8BEC mov ebp,esp
004016AB EB 01 jmp Xa.004016AE
004016AD 0FEB01 por mm0,qword ptr ds:
004016B0 0FE89E 000000EB psubsb mm3,qword ptr ds:
004016B7 0182 F873010F add dword ptr ds:,eax
004016BD E8 64320000 call a.00404926
004016C2 EB 01 jmp Xa.004016C5
004016C4 0FEB01 por mm0,qword ptr ds:
004016C7 0FE87A 32 psubsb mm7,qword ptr ds:
004016CB 0000 add byte ptr ds:,al
004016CD EB 01 jmp Xa.004016D0
004016CF BA F972018A mov edx,0x8A0172F9
004016D4 E8 98320000 call a.00404971
004016D9 F8 clc
004016DA 73 01 jnb Xa.004016DD
004016DC^ 70 F8 jo Xa.004016D6
004016DE 73 01 jnb Xa.004016E1
调试中发现作者加入时钟 那么我们也把他干掉 下按钮事件
bp SetTimer 然后来到
0040FD13 8B46 40 mov eax,dword ptr ds:
0040FD16 85C0 test eax,eax
0040FD18 7E 20 jle Xa.0040FD3A 此处改为JMP 让他跳过时钟
0040FD1A 8B4E 4C mov ecx,dword ptr ds:
0040FD1D 85C9 test ecx,ecx
0040FD1F 304E 69 xor byte ptr ds:,cl
0040FD22 0050 8B add byte ptr ds:,dl
0040FD25 46 inc esi
0040FD26 1C 68 sbb al,0x68
0040FD28 E8 03000050 call 5040FD30
0040FD2D FF15 58754700 call dword ptr ds:[<&USER32.SetTimer>] ; USER32.SetTimer
0040FD33 C746 50 0100000>mov dword ptr ds:,0x1
0040FD3A 33C0 xor eax,eax
0040FD3C 5E pop esi
0040FD3D C2 0400 retn 0x4
然后我们00401000 接着FF55FC5F5E来到按钮事件
然后我们随意输入55555555下好断 F7进入
00404A40 55 push ebp
00404A41 8BEC mov ebp,esp
00404A43 81EC 0C000000 sub esp,0xC
00404A49 EB 01 jmp Xa.00404A4C
00404A4B B8 E8000000 mov eax,0xE8
00404A50 0083 042406C3 add byte ptr ds:,al
00404A56^ 78 E8 js Xa.00404A40
00404A58 8A01 mov al,byte ptr ds:
00404A5A 0000 add byte ptr ds:,al
00404A5C F9 stc
00404A5D 72 01 jb Xa.00404A60
00404A5F BD C745FC00 mov ebp,0xFC45C7
00404A64 0000 add byte ptr ds:,al
00404A66 006A 00 add byte ptr ds:,ch
00404A69 EB 01 jmp Xa.00404A6C
00404A6B^ 74 F8 je Xa.00404A65
00404A6D 73 01 jnb Xa.00404A70
00404A6F B9 FF75FCE8 mov ecx,0xE8FC75FF
00404A74 0000 add byte ptr ds:,al
00404A76 0000 add byte ptr ds:,al
00404A78 830424 06 add dword ptr ss:,0x6
00404A7C C3 retn
看到这么一坨 不要紧我们F8跟进一路各种眼花缭乱不要紧
当我们来到这个地方的时候要注意
00404AFC 83C4 08 add esp,0x8 此处将EAX=0
00404AFF 83F8 00 cmp eax,0x0
00404B02 B8 00000000 mov eax,0x0
00404B07 0F94C0 sete al
00404B0A 8945 F4 mov dword ptr ss:,eax
00404B0D 8B5D F8 mov ebx,dword ptr ss:
00404B10 85DB test ebx,ebx
00404B12 74 09 je Xa.00404B1D
00404B14 53 push ebx
00404B15 E8 15160000 call a.0040612F
00404B1A 83C4 04 add esp,0x4
00404B1D 8B5D FC mov ebx,dword ptr ss:
00404B20 85DB test ebx,ebx
00404B22 74 09 je Xa.00404B2D
00404B24 53 push ebx
00404B25 E8 05160000 call a.0040612F
00404B2A 83C4 04 add esp,0x4
00404B2D 837D F4 00 cmp dword ptr ss:,0x0
00404B31 0F84 46000000 je a.00404B7D
00404B37 EB 01 jmp Xa.00404B3A
作者把注册码设置成随机码所以追码就无效了那我们就通过修改返回值来实现爆破
膜拜大牛! E_eYYF 发表于 2013-9-20 19:36 static/image/common/back.gif
膜拜大牛!
大牛不要逗小菜了
表示我疑惑哪里VM了- - 楼主的教程非常啊。虽然我也搞定了这个CM,但是还是从楼主这里学到了很多。 炫火 发表于 2013-9-20 19:50 static/image/common/back.gif
表示我疑惑哪里VM了- -
膜拜大牛
马斯维尔 发表于 2013-9-20 19:52 static/image/common/back.gif
楼主的教程非常啊。虽然我也搞定了这个CM,但是还是从楼主这里学到了很多。
破解方法很多 大牛门都有自己秒破的方法 那才是膜拜之
将EAX=0,,,直接用MOV EAX,0 吗? {:1_924:} 围观 学习中
页:
[1]