使用工具:ollydbg、LordPE 脱壳对象:用ASPack212加壳的记事本程序 运行平台:win2k
脱ASPack212版压缩的程序方法:
01010374 EB 4A JMP SHORT NOTEPAD.010103C0 01010376 8907 MOV DWORD PTR DS:[EDI],EAX 01010378 8385 49050000 04 ADD DWORD PTR SS:[EBP+549],4 0101037F ^E9 32FFFFFF JMP NOTEPAD.010102B6 01010384 8906 MOV DWORD PTR DS:[ESI],EAX 01010386 8946 0C MOV DWORD PTR DS:[ESI+C],EAX 01010389 8946 10 MOV DWORD PTR DS:[ESI+10],EAX 0101038C 83C6 14 ADD ESI,14 0101038F 8B95 22040000 MOV EDX,DWORD PTR SS:[EBP+422] 0101038F 8B95 22040000 MOV EDX,DWORD PTR SS:[EBP+422] 01010395 ^E9 EBFEFFFF JMP NOTEPAD.01010285 0101039A B8 20640000 MOV EAX,6420====》此处移入EAX的其实就是入口值。 0101039F 50 PUSH EAX 010103A0 0385 22040000 ADD EAX,DWORD PTR SS:[EBP+422]====》程序入口地址01006420移入EAX。 010103A6 59 POP ECX 010103A7 0BC9 OR ECX,ECX 010103A9 8985 A8030000 MOV DWORD PTR SS:[EBP+3A8],EAX 010103AF 61 POPAD===》标志。 010103B0 75 08 JNZ SHORT NOTEPAD.010103BA 010103B2 B8 01000000 MOV EAX,1 010103B7 C2 0C00 RETN 0C 010103BA 68 00000000 PUSH 0====》程序运行到此处时,此处值将改变为入口地址值(见下面的代码)。 010103BF C3 RETN=====》返回程序入口处。应在此中断,然后单步到程序真正入口处,再DUMP。 010103C0 8B85 26040000 MOV EAX,DWORD PTR SS:[EBP+426] 010103C6 8D8D 3B040000 LEA ECX,DWORD PTR SS:[EBP+43B] 010103CC 51 PUSH ECX 010103CD 50 PUSH EAX 010103CE FF95 490F0000 CALL DWORD PTR SS:[EBP+F49] 010103D4 8985 55050000 MOV DWORD PTR SS:[EBP+555],EAX 010103DA 8D85 47040000 LEA EAX,DWORD PTR SS:[EBP+447] 010103E0 50 PUSH EAX 010103E1 FF95 510F0000 CALL DWORD PTR SS:[EBP+F51] 010103E7 8985 2A040000 MOV DWORD PTR SS:[EBP+42A],EAX
程序运行后: 01010395 ^E9 EBFEFFFF JMP NOTEPAD.01010285 0101039A B8 20640000 MOV EAX,6420 0101039F 50 PUSH EAX 010103A0 0385 22040000 ADD EAX,DWORD PTR SS:[EBP+422] 010103A6 59 POP ECX 010103A7 0BC9 OR ECX,ECX 010103A9 8985 A8030000 MOV DWORD PTR SS:[EBP+3A8],EAX 010103AF 61 POPAD=====》标志。 010103B0 75 08 JNZ SHORT NOTEPAD.010103BA 010103B2 B8 01000000 MOV EAX,1 010103B7 C2 0C00 RETN 0C 010103BA 68 20640001 PUSH NOTEPAD.01006420====》程序真正入口地址。 010103BF C3 RETN====>返回到程序真正入口处。 010103C0 8B85 26040000 MOV EAX,DWORD PTR SS:[EBP+426] 010103C6 8D8D 3B040000 LEA ECX,DWORD PTR SS:[EBP+43B] 010103CC 51 PUSH ECX 010103CD 50 PUSH EAX 010103CE FF95 490F0000 CALL DWORD PTR SS:[EBP+F49] 010103D4 8985 55050000 MOV DWORD PTR SS:[EBP+555],EAX 010103DA 8D85 47040000 LEA EAX,DWORD PTR SS:[EBP+447] 010103E0 50 PUSH EAX
上一篇:被加壳vb5/6程序的OEP定位经验
下一篇:自由英语XP 1.0.脱壳
|