手脱Aspack变形壳1

1.载入PEID

Aspack v2.12 -> www.aspack.com

2.载入OD,不管是看查壳信息还是看入口特征都跟我上一次发的一个手脱Aspack v2.12的帖子相同http://www.52pojie.cn/thread-433042-1-1.html,但是真的相同吗?按照上次帖子的经验,pushfd下面就可以使用ESP定律了,但是在shift+F9的时候会跑飞,显然这不是一个普通的Aspack壳,应该是变形过的。这是一个近call,F7跟进,不然会跑飞,然后继续F8单步走

0044D001 >  9C              pushfd                            ; //入口点
0044D002    E8 03000000     call qqspirit.0044D00A            ; //ESP会跑飞,F7跟进
0044D007  - E9 EB045D45     jmp 45A1D4F7
0044D00C    55              push ebp
0044D00D    C3              retn
0044D00E    E8 01000000     call qqspirit.0044D014
0044D013    EB 5D           jmp short qqspirit.0044D072

 

 

3.又走到一个近call,继续F7跟进,不然会跑飞,然后继续F8,注意后面的F8比较长,有点耐心,另外,向上跳转的下一行F4别忘了

0044D00B    45              inc ebp                           
0044D00C    55              push ebp                          
0044D00D    C3              retn
0044D00E    E8 01000000     call qqspirit.0044D014            ; //F7
0044D013    EB 5D           jmp short qqspirit.0044D072
0044D015    BB EDFFFFFF     mov ebx,-0x13

 

 

4.经过了不知道多少个F8和F4,来到了这个指向OEP的关键跳,最后一次F8

0044D3A1    FFB5 22040000   push dword ptr ss:[ebp+0x422]     
0044D3A7    59              pop ecx                           
0044D3A8    03C1            add eax,ecx                       
0044D3AA  - FFE0            jmp eax                           ; //指向OEP的关键跳
0044D3AC    AB              stos dword ptr es:[edi]
0044D3AD    CE              into
0044D3AE    FFFF            ???    

 

5.来到OEP,可以脱壳了

0040A86D    55              push ebp                          ; //oep
0040A86E    8BEC            mov ebp,esp
0040A870    6A FF           push -0x1
0040A872    68 78794200     push qqspirit.00427978
0040A877    68 F4E14000     push qqspirit.0040E1F4
0040A87C    64:A1 00000000  mov eax,dword ptr fs:[0]
0040A882    50              push eax                         
0040A883    64:8925 0000000>mov dword ptr fs:[0],esp
0040A88A    83EC 58         sub esp,0x58

 

 

6.运行,查壳

运行OK,查壳:Microsoft Visual C++ v6.0
posted @ 2015-11-15 01:38  许忠慧  阅读(574)  评论(0编辑  收藏  举报