手脱UPX v0.89.6

声明:

只为纪录自己的脱壳历程,高手勿喷

这个壳的脱法很多一般都一步直达的,步过我喜欢ESP定律

1.载入OD,在入口下一行ESP定律运行一次

00457170 >  60              pushad                        ; //入口
00457171    BE 00904300     mov esi,吾爱破解.00439000      ; //ESP一次
00457176    8DBE 0080FCFF   lea edi,dword ptr ds:[esi-0x38000]
0045717C    57              push edi
0045717D    83CD FF         or ebp,-0x1
00457180    EB 10           jmp short 吾爱破解.00457192
00457182    90              nop
 

2.落脚后单步走就可以到了

00457348    8D4424 80       lea eax,dword ptr ss:[esp-0x80]  ; //ESP落脚点
0045734C    6A 00           push 0x0
0045734E    39C4            cmp esp,eax
00457350  ^ 75 FA           jnz short 吾爱破解.0045734C       ; //下一行F4
00457352    83EC 80         sub esp,-0x80
00457355  - E9 526AFCFF     jmp 吾爱破解.0041DDAC             ; //这里就跳向OEP了
0045735A    0000            add byte ptr ds:[eax],al
0045735C    48              dec eax
0045735D    0000            add byte ptr ds:[eax],al
0045735F    0000            add byte ptr ds:[eax],al
00457361    0000            add byte ptr ds:[eax],al
 

3.到达OEP,然后修复脱壳就好了

0041DDAC    E8 EF4E0000     call 吾爱破解.00422CA0         ; //OEP位置
0041DDB1  ^ E9 79FEFFFF     jmp 吾爱破解.0041DC2F
0041DDB6    3B0D B0074400   cmp ecx,dword ptr ds:[0x4407B0]
0041DDBC    75 02           jnz short 吾爱破解.0041DDC0
0041DDBE    F3:             prefix rep:
0041DDBF    C3              retn
0041DDC0    E9 714F0000     jmp 吾爱破解.00422D36
0041DDC5    8BFF            mov edi,edi
0041DDC7    55              push ebp

原文地址:https://www.cnblogs.com/JianXu/p/5158405.html