WEB开发网
开发学院网络安全黑客技术 手动脱壳的基本技巧(2) 阅读

手动脱壳的基本技巧(2)

 2006-07-03 20:26:31 来源:WEB开发网   
核心提示: 0041465C FF7510 PUSH DWORD PTR [EBP+10]0041465F FF750C PUSH DWORD PTR [EBP+0C]00414662 FF7508 PUSH DWORD PTR [EBP+08]00414665 FF55DC CALL [EBP-24
0041465C FF7510 PUSH DWORD PTR [EBP+10]
0041465F FF750C PUSH DWORD PTR [EBP+0C]
00414662 FF7508 PUSH DWORD PTR [EBP+08]
00414665 FF55DC CALL [EBP-24]

**假如你追过最后这个CALL,notepad.exe将再次自由运行.

由上得知, 既然[EBP-24] = 004010CC, 最后这句代码就意味着压缩过的程序在

CALL 004010CC. 如果你追进这个CALL, 你会发现notepad.exe很快就会运行了.

假如你曾经追过更多shrinker v3.4压缩的程序, 你总会见到这个"CALL [EBP-24]".

所以, 程序实际上正在进入已脱壳的程序的真正入口.

再次装入压缩过的notepad.exe,中断之后,按F5,你将中断于004145D7行(这里你原来

设过断点). 追进去直到你到达00414665行,这里程序正要进入已脱壳程序的真正入口.

现在,键入以下命令:

a eip (然后按回车)

jmp eip (然后按回车)

按下F5

这样将改变00414665行的代码. 你会注意到在键入"jmp eip"并按下回车后,00414665的

指令现在是一个jmp.这将有效地使程序"暂停". 按下F5使你回到window,你就可以dump

已经脱壳的程序到你的硬盘了.

现在又要用ProcDump了,在Task的列表中的第一个list上点击鼠标右键,然后选择"Refresh list". 在Task列表中找到notepad.exe,在它的上面点击鼠标右键.

然后,选中"Dump (Full)",给脱壳的程序起名存盘.

再在notepad.exe上点击鼠标右键,然后选中"Kill Task".

_________________________________________________________________________

改动程序入口值

如果你记得的话, 脱壳的notepad.exe程序入口是004010CC.

再次使用ProcDump的PE Editor功能, 打开已脱壳的notepad.exe.

在"Header Infos"一项, 你会看见程序入口值是0001454F,这当然是错误的. 如果你试着

不改动这个入口值而运行脱壳后的notepad.exe,程序将无法运行.

改变入口值为004010CC,点击"OK".

现在, 运行脱壳后的notepad.exe吧,它应该正常运行了. 8)

上一页  1 2 3 

Tags:手动 脱壳 基本技巧

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接