WEB开发网
开发学院网络安全黑客技术 压缩与脱壳-手动脱壳 阅读

压缩与脱壳-手动脱壳

 2007-01-12 20:11:56 来源:WEB开发网   
核心提示: 由上得知, 既然[EBP-24] = 004010CC, 最后这句代码就意味着压缩过的程序在 CALL 004010CC. 如果你追进这个CALL, 你会发现notepad.exe很快就会运行了.假如你曾经追过更多shrinker v3.4压缩的程序, 你总会见到这个"CALL

由上得知, 既然[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,程序将无法运行.

改变入口值为Entry Poin=004010CC-基址(ImageBase ),点击"OK".

上一页  4 5 6 7 8 9 10  下一页

Tags:压缩 脱壳 手动

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