声明:
1.只为纪录自己成长历程,高手勿喷
2.您的热心是新手持续发帖的动力
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单步走
[Asm] 纯文本查看 复制代码 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别忘了
[Asm] 纯文本查看 复制代码 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
[Asm] 纯文本查看 复制代码 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,可以脱壳了
[Asm] 纯文本查看 复制代码 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
|