新版aspr脱壳方法(完全版)
2007-01-13 20:14:35 来源:WEB开发网核心提示: Addresssizesectioncontains0040100000161000code在上面这个地方“右键—>set memory breakpoint on access"下个内存断点.然后F9运行,呵,你可发现,我们已经从壳的迷宫走出来了,
Address size section contains
00401000 00161000 code
在上面这个地方“右键—>set memory breakpoint on access"下个内存断点.然后F9运行,呵,你可发现,我们已经从壳的迷宫走出来了,(这个方法,再也不用象以前那样小心翼翼的F8F7了.)程序停在这:
00407278 - FF25 2CF35600 JMP DWORD PTR DS:[56F32C]
0040727E 8BC0 MOV EAX, EAX
00407280 - FF25 28F35600 JMP DWORD PTR DS:[56F328]
00407286 8BC0 MOV EAX, EAX
00407288 - FF25 24F35600 JMP DWORD PTR DS:[56F324]
0040728E 8BC0 MOV EAX, EAX
00407290 - FF25 20F35600 JMP DWORD PTR DS:[56F320]
00407296 8BC0 MOV EAX, EAX
00407298 50 PUSH EAX
00407299 6A 40 PUSH 40
0040729B E8 E0FFFFFF CALL SystemCl.00407280
004072A0 C3 RETN
这并不是程序的真正入口(入口位还远呢,这是ASPR的新特点),但是它给我们提供了一个很有用的信息,那就是IAT的位置(新版SAPR无法用importREC自动搜索IAT了),所以我们可以先 D 56F32C,让内存区定位在这里,去掉内存断点,F8,又回到壳中,不过没关系再按几下F8就又可从壳中回来的,回来后我们来到这:
0040734D A3 68B65600 MOV DWORD PTR DS:[56B668], EAX ; SystemCl.00400000
00407352 A1 68B65600 MOV EAX, DWORD PTR DS:[56B668]
00407357 A3 D8205600 MOV DWORD PTR DS:[5620D8], EAX
0040735C 33C0 XOR EAX, EAX
0040735E A3 DC205600 MOV DWORD PTR DS:[5620DC], EAX
00407363 33C0 XOR EAX, EAX
00407365 A3 E0205600 MOV DWORD PTR DS:[5620E0], EAX
0040736A E8 C1FFFFFF CALL SystemCl.00407330
0040736F BA D4205600 MOV EDX, SystemCl.005620D4
00407374 8BC3 MOV EAX, EBX
00407376 E8 75D8FFFF CALL SystemCl.00404BF0
0040737B 5B POP EBX
0040737C C3 RETN
到这里我们要做3件事:
更多精彩
赞助商链接