我是小害虫 发表于 2013-9-20 19:29

小菜一枚,对论坛某个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
作者把注册码设置成随机码所以追码就无效了那我们就通过修改返回值来实现爆破







LoongKing 发表于 2013-9-20 19:36

膜拜大牛!

我是小害虫 发表于 2013-9-20 19:44

E_eYYF 发表于 2013-9-20 19:36 static/image/common/back.gif
膜拜大牛!

大牛不要逗小菜了

炫火 发表于 2013-9-20 19:50

表示我疑惑哪里VM了- -

马斯维尔 发表于 2013-9-20 19:52

楼主的教程非常啊。虽然我也搞定了这个CM,但是还是从楼主这里学到了很多。

我是小害虫 发表于 2013-9-20 19:56

炫火 发表于 2013-9-20 19:50 static/image/common/back.gif
表示我疑惑哪里VM了- -

膜拜大牛

我是小害虫 发表于 2013-9-20 19:57

马斯维尔 发表于 2013-9-20 19:52 static/image/common/back.gif
楼主的教程非常啊。虽然我也搞定了这个CM,但是还是从楼主这里学到了很多。

破解方法很多 大牛门都有自己秒破的方法 那才是膜拜之

wolaileo 发表于 2013-9-21 15:30

将EAX=0,,,直接用MOV EAX,0 吗?

q493632284 发表于 2013-9-21 15:33

{:1_924:} 围观   学习中
页: [1]
查看完整版本: 小菜一枚,对论坛某个VM了的加强版CM分析