压缩与脱壳-手动脱壳
2007-01-12 20:11:56 来源:WEB开发网注:TRW2000的makepe重建的PE文件可跨平台运行,pedump抓取的文件却不可。
方法二、用SOFTICE来脱壳
★使用工具
TRW2000
FileInfo
ProcDump
★入口点(Entry Point)确定
◇利用跟踪分析来确定入口点
方法同TRW2000。
★dump取内存中己脱壳的文件
0137:40ddf jmp 00401000现在这一行,键入以下命令:
a eip (然后按回车)
jmp eip (然后按回车)
按下F5
这样将改变0137:40ddf行的代码. 你会注意到在键入"jmp eip"并按下回车后,40ddf的指令现在是一个jmp.这将有效地使程序"暂停"(有点类似TRW2000的suspend命令). 按下F5使你回到window。
运行ProcDump,在Task的列表中的第一个list上点击鼠标右键,然后选择"Refresh list". 在Task列表中找到notepad.exe,在它的上面点击鼠标右键. 然后,选中"Dump (Full)",给脱壳的程序起名存盘. 再在notepad.exe上点击鼠标右键,然后选中"Kill Task".
注:用此方法抓取的文件不可跨平台运行。
★修正刚dump取的文件的入口点
脱壳的notepad.exe程序入口是00401000.
再次使用ProcDump的PE Editor功能, 打开已脱壳的notepad.exe.
在"Header Infos"一项, 你会看见程序Entry Point(入口值)是0000DC70,这当然是错误的. 如果你试着不改动这个入口值而运行脱壳后的notepad.exe,程序将无法运行.
在 Procdump可看到ImageBase =00400000,我们上面跟踪找到的入口值的RVA是00401000,因为:虚拟地址(RVA)=偏移地址+基址(ImageBase ),因此Entry Poin=00401000-00400000=1000,改变入口值为1000,点击"OK".
更多精彩
赞助商链接