esp脱PECompact 2.55

看黑鹰的教程,发现这个壳没有用到esp定律来脱,所以就自己实验了下。发现可以用esp定律。

文件下载地址:https://files.cnblogs.com/tk091/PECompact2.55.rar

下面是脱文:

首先OD载入程序,找到第一个esp凸显变红的地方,在命令行输入hr esp

shift+F9运行。

1 77578D0B    3B45 F8         cmp     eax, dword ptr [ebp-8]
2 77578D0E    72 09           jb      short 77578D19
3 77578D10    3B45 F4         cmp     eax, dword ptr [ebp-C]
4 77578D13    0F82 E9EF0400   jb      775C7D02
5 77578D19    FF75 F0         push    dword ptr [ebp-10]
6 77578D1C    FF73 04         push    dword ptr [ebx+4]
7 77578D1F    E8 48000000     call    77578D6C

alt+F9返回到程序领空。

1 0101BAC3    53              push    ebx
2 0101BAC4    51              push    ecx
3 0101BAC5    57              push    edi
4 0101BAC6    56              push    esi

然后往下看,直接F4运行到有call或者跳转的前一句,再F8单步,一直到

1 0101BB58    5E              pop     esi
2 0101BB59    5F              pop     edi
3 0101BB5A    59              pop     ecx
4 0101BB5B    5B              pop     ebx
5 0101BB5C    5D              pop     ebp
6 0101BB5D  - FFE0            jmp     eax                              ; PECompac.0100739D

这个jmp就直接跳到OEP了。

1 0100739D   .  6A 70         push    70
2 0100739F   .  68 98180001   push    01001898
3 010073A4   ?  E8 BF010000   call    01007568
4 010073A9   .  33DB          xor     ebx, ebx
5 010073AB   .  53            push    ebx
6 010073AC   ?  8B3D CC100001 mov     edi, dword ptr [10010CC]         ;  kernel32.GetModuleHandleA

脱壳,修复,搞定收工。

posted @ 2012-05-08 16:16  r3call  阅读(210)  评论(0编辑  收藏  举报