CoolWolF/81n.net这是小弟第一篇脱壳的文章, 水平有限, 请大家多指点. (说来惭愧, 2002年5月之前, 我还没有手动脱壳的经验.)
首先, 用aspack2.12把记事本加壳, 用PEiD看了一下, 说是"ASPack 2.x modified - DAMN". 呵呵. 打开Ollydbg, 加载notepad.exe, 弹出一个对话窗. 不用管他, 按确定. 接着弹出另一个对话窗告诉你程序可能被压缩过, 是否继续, 还是按确定按钮. 程序停在入口处, 按F8单步执行:
01010001 > 60 PUSHAD //入口 01010002 E8 03000000 CALL notepad.0101000A //进去, 过了这个Call程序就执行了 01010007 -E9 EB045D45 JMP 465E04F7 0101000C 55 PUSH EBP 0101000D C3 RETN 0101000E E8 01000000 CALL notepad.01010014
0101000A 5D POP EBP 0101000B 45 INC EBP ; notepad.01010007 0101000C 55 PUSH EBP 0101000D C3 RETN 0101000E E8 01000000 CALL notepad.01010014 //进去~
一路F8, 直到:
0101012D 0BC9 OR ECX,ECX 0101012F 74 2E JE SHORT notepad.0101015F 01010131 78 2C JS SHORT notepad.0101015F 01010133 AC LODS BYTE PTR DS:[ESI] 01010134 3C E8 CMP AL,0E8 01010136 74 0A JE SHORT notepad.01010142 01010138 EB 00 JMP SHORT notepad.0101013A 0101013A 3C E9 CMP AL,0E9 0101013C 74 04 JE SHORT notepad.01010142 0101013E 43 INC EBX 0101013F 49 DEC ECX 01010140 ^EB EB JMP SHORT notepad.0101012D 01010142 8B06 MOV EAX,DWORD PTR DS:[ESI] 01010144 EB 00 JMP SHORT notepad.01010146 01010146 803E 07 CMP BYTE PTR DS:[ESI],7 01010149 ^75 F3 JNZ SHORT notepad.0101013E 0101014B 24 00 AND AL,0 0101014D C1C0 18 ROL EAX,18 01010150 2BC3 SUB EAX,EBX
程序在这里循坏, 我们可没时间等, 看来最远的地方就是0101015F, 在0101015F按F2下断, F9跳过后继续疯狂的F8:
010102B6 8B95 22040000 MOV EDX,DWORD PTR SS:[EBP+422] ; notepad.01000000 010102BC 8B06 MOV EAX,DWORD PTR DS:[ESI] 010102BE 85C0 TEST EAX,EAX 010102C0 75 03 JNZ SHORT notepad.010102C5 010102C2 8B46 10 MOV EAX,DWORD PTR DS:[ESI+10] 010102C5 03C2 ADD EAX,EDX ; notepad.01000000 010102C7 0385 49050000 ADD EAX,DWORD PTR SS:[EBP+549] 010102CD 8B18 MOV EBX,DWORD PTR DS:[EAX] 010102CF 8B7E 10 MOV EDI,DWORD PTR DS:[ESI+10] 010102D2 03FA ADD EDI,EDX 010102D4 03BD 49050000 ADD EDI,DWORD PTR SS:[EBP+549] 010102DA 85DB TEST EBX,EBX 010102DC 0F84 A2000000 JE notepad.01010384 010102E2 F7C3 00000080 TEST EBX,80000000 010102E8 75 04 JNZ SHORT notepad.010102EE 010102EA 03DA ADD EBX,EDX 010102EC 43 INC EBX 010102ED 43 INC EBX 010102EE 53 PUSH EBX 010102EF 81E3 FFFFFF7F AND EBX,7FFFFFFF 010102F5 53 PUSH EBX 010102F6 FFB5 45050000 PUSH DWORD PTR SS:[EBP+545] 010102FC FF95 490F0000 CALL DWORD PTR SS:[EBP+F49] 01010302 85C0 TEST EAX,EAX 01010304 5B POP EBX 01010305 75 6F JNZ SHORT notepad.01010376 //下去
上一篇:Advanced Direct Remailer 2.17 脱壳
下一篇:使用OllyDbg快速脱壳
|