用OllyDbg脱ASPR 1.3x的壳
2007-01-13 20:12:43 来源:WEB开发网核心提示:前言==这篇文章讲述如何真正快速简单的脱掉ASPR 1.3x的壳,并且找出被抽掉的字节…并且不使用SoftIce、IceDump和 /tracex!用什么?使用OllyDbg !所需工具1. OllyDbg 1.09b2 or newer2. ProcDump(G-rom)/Pe-edit(y0da)3.
前言
==================
这篇文章讲述如何真正快速简单的脱掉ASPR 1.3x的壳,并且找出被抽掉的字节…并且不使用SoftIce、IceDump和 /tracex!用什么?使用OllyDbg !
所需工具
================
1. OllyDbg 1.09b2 or newer
2. ProcDump(G-rom)/Pe-edit(y0da)
3. imprec 1.3 (MackT/UCF)(protools.cjb.net)
4. HVIEW / Hex Editor
脱壳步骤
=======================
1. 找到 OEP+从内存中抓取程序
2. 找到抽掉的字节
3. 重建IAT
4. 修正OEP
5. 结束
====================================
第一步—找到 OEP+从内存中抓取程序
====================================
1. 运行Olly并载入应用程序(如果有提示就按 YES!)
2. 现在按F9就会在这儿中断:
017E3414 3100 XOR DWORD PTR DS:[EAX],EAX 〈-我们在这儿中断!
017E3416 EB 01 JMP SHORT 017E3419
017E3418 68 648F0500 PUSH 58F64
为什么Olly会中断?我们不用设断点吗?!
呵呵,Olly在每次进入一个新模块时都会中断…我们将继续使用它!!
3. 按Shift+F9,这样Olly会继续运行直到遇到一个新模块。
4. 按Shift+F926次后我们将到达这里:
017E2D7A 3100 XOR DWORD PTR DS:[EAX],EAX〈-我们停在这里
017E2D7C 64:8F05 00000000 POP DWORD PTR FS:[0] 〈在这里设断点
017E2D83 58 POP EAX
017E2D84 833D 806D7E01 00 CMP DWORD PTR DS:[17E6D80],0
017E2D8B 74 14 JE SHORT 017E2DA1
017E2D8D 6A 0C PUSH 0C
017E2D8F B9 806D7E01 MOV ECX,17E6D80
017E2D94 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
017E2D97 BA 04000000 MOV EDX,4
017E2D9C E8 EFE0FFFF CALL 017E0E90
017E2DA1 FF75 FC PUSH DWORD PTR SS:[EBP-4]
017E2DA4 FF75 F8 PUSH DWORD PTR SS:[EBP-8]
017E2DA7 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
017E2DAA 8338 00 CMP DWORD PTR DS:[EAX],0
017E2DAD 74 02 JE SHORT 017E2DB1
017E2DAF FF30 PUSH DWORD PTR DS:[EAX]
017E2DB1 FF75 F0 PUSH DWORD PTR SS:[EBP-10]
017E2DB4 FF75 EC PUSH DWORD PTR SS:[EBP-14]
017E2DB7 C3 RETN
更多精彩
赞助商链接