首页
社区
课程
招聘
[原创]VMP 1.6x(Demo) VC版程序脱壳第一步
发表于: 2009-4-16 13:27 3003

[原创]VMP 1.6x(Demo) VC版程序脱壳第一步

2009-4-16 13:27
3003
OD载入程序后

在Memory中给User32.dll的Code断下断点,执行!

会停留在主程序段的某个地方

继续F7跟进,会遇到下列关键代码

0048AAC5   > /3B4A 18       cmp     ecx, dword ptr [edx+18]

0048ECFA   .  01C3          add     ebx, eax

0048ECFC   .  83EC FC       sub     esp, -??

0048A19E   > /A6            cmps    byte ptr [esi], byte ptr es:[edi]

004FEFC8   .  8D6424 08     lea     esp, dword ptr [esp+8]
//此处可能造成N轮循环,请F7单步跟踪,发现以下代码

0048A52D   .  0FB70C4F      movzx   ecx, word ptr [edi+ecx*2]

0048A540   .  8B7A 1C       mov     edi, dword ptr [edx+1C]

004FB847   > \8D6424 28     lea     esp, dword ptr [esp+28]

0048E249   .  01F8          add     eax, edi //此处执行后,获得API地址

0048E251   .  39D0          cmp     eax, edx
F7继续跟,会来到一个调用函数的地方(可能是多层调用,忽略无用指令)
该函数内部,有类似于下面列出的,有Push,又有大回栈retn返回的结构

0048ABD7   .  FF3424        push    dword ptr [esp]
0048ABDA   .  68 203477FA   push    FA773420
0048ABDF   .  FF7424 04     push    dword ptr [esp+4]
0048ABE3   .  FF7424 04     push    dword ptr [esp+4]
0048ABE7   .  FF7424 40     push    dword ptr [esp+40]
0048ABEB   .  C2 4C00       retn    4C

并且此返回的地址处指令类似于以下的形式

-------->>>0048E195   .  68 CA409C24   push    249C40CA
0048E19A   .  E8 CE1F0700   call    0050016D

设置Trace 条件,在主程序段(非 vmp段)运行时停下,开始Trace into

-------->>>00401EB9   .  E8 C6030000            call    00402284                OEP

继续F7跟踪,查找
mov  eax, ??????(主程序段地址)

0048352A  |.  8B80 86280800 mov     eax, dword ptr [eax+????]

高度注意某一个Call指令
0048353A  |.  E8 BD030000   call    004838FC
-------->>>004838FC   $ /E9 A40E0000   jmp     004847A5

进入后会对EAX进行运算,得到API地址

not eax 或者 neg eax 这样的指令

00482F7E   .  2D 9196435A   sub     eax, 5A439691

等执行到EAX指向某API时,IAT修复跟踪就全部完成了。

重头开始,跑IAT fix

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 212
活跃值: (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
文章写得好乱啊。看看NOOBY大侠的VMP IAT高级处理脚本+教程录像 。一目了然了。
2009-4-16 15:29
0
雪    币: 496
活跃值: (89)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
NOOBY真是非人类啊。
2009-4-19 16:45
0
游客
登录 | 注册 方可回帖
返回
//