压缩与脱壳-手动脱壳
2007-01-12 20:11:56 来源:WEB开发网PNEWSEC:运行直到进入一个 PE 程序内存的新的 section时产生断点。(如不懂,以后到脱壳高级篇自会明白)
另外也可用D.boy的冲击波2000,它能轻易的找到任何加密壳的入口点,
★dump取内存己还原文件
找到入口点后,在此处可以用 Procdump的FULL DUMP功能来抓取内存中整个文件,如是用TRW2000也可用命令:
makepe命令含义:从内存中整理出一个指令名称的PE格式的exe文件, 当前的 EIP 将成为新的程序入口,生成文件的 Import table 已经重新生成过了。生成的PE文件可运行任何平台和微机上。
pedump命令含义:将PE文件的内存映像直接映像到指定的文件里。生成的文件只能在本机运行,不能在其它系统平台或微机运行。
★修正刚dump取的文件
如是用 Procdump的FULL DUMP功能脱壳的文件,要用 Procdump或PEditor等PE编辑工具修正入口点(Entry Point)。
2、UPX V1.01的壳
目标程序: 用 UPX V1.01压缩过的Notepad.exe
方法一、使用TRW2000来脱壳
★使用工具
TRW2000
FileInfo
★确定壳的种类
拿到这软件后,可用工具FileInfo、gtw、TYP32等侦测文件类型的工具来看看是何种软件压缩的,在这我们以FileInfo 为例,把目标文件复制到FileInfo目录下,在资源管理器下双击FileInfo,再按回车,你将看到报告出来:告诉你这是UPX1.01压缩的软件。
★入口点(Entry Point)确定
◇利用跟踪分析来确定入口点
决大多数 PE 加壳程序在被加密的程序中加上一个或多个段。 所以看到一个跨段的 JMP 就有可能是了。 UPX 用了一次跨段的 JMP 。 就是你一步步跟踪时会看到代码有一突跃,一般再跟据领空文件名的变化,就能确定入口点了。运行TRW2000并装载目标程序,然后LOAD,你将中断在主程序入口处:此时合理按F10、F7及F12一直向前走,注意此时领空会是:NOTUPX!UPX1+2xxx.
赞助商链接