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

压缩与脱壳-手动脱壳

 2007-01-12 20:11:56 来源:WEB开发网   
核心提示:1、基本知识手动脱壳就是不借助自动脱壳工具,而是用动态调试工具SOFTICE或TRW2000来脱壳,压缩与脱壳-手动脱壳,这课谈谈一些入门方面的知识,如要了解更深的脱壳知识, 这种判断一般是跟踪分析程序而找到入口点,如是用TRW2000也可试试命令:PNEWSEC,请参考《脱壳高级篇》这课,工具*调试器:SoftICE

1、基本知识

手动脱壳就是不借助自动脱壳工具,而是用动态调试工具SOFTICE或TRW2000来脱壳。这课谈谈一些入门方面的知识,如要了解更深的脱壳知识,请参考《脱壳高级篇》这课。

工具

*调试器:SoftICE 、TRW2000

*内存抓取工具:Procdump等;

*十六进制工具:Hiew、UltraEdit、Hex Workshop等;

*PE编辑工具: Procdump、PEditor等;

名词概念

★PE文件:Microsoft设计了一种新的文件格式Portable Executable File Format(即PE格式),该格式应用于所有基于Win32的系统:Windows NT、Windows 2000、Win32s及Windows 95/98。

★基址(ImageBase ):是指装入到内存中的EXE或DLL程序的开始地址,它是Win32中的一个重要概念。 在Windows NT中,缺省的值是10000h;对于DLLs,缺省值为400000h。在Windows 95中,10000h不能用来装入32位的执行文件,因为该地址处于所有进程共享的线性地址区域,因此Microsoft将Win32可执行文件的缺省基地址改变为400000h。

★RVA:相对虚拟地址(Relative Virual Address),是某个项相对于文件映象地址的偏移。例如:装载程序将一个PE文件装入到虚拟地址空间中,从10000h开始的内存中,如果PE中某个表在映像中的起始地址是10464h,那么该表的RVA就是464h。虚拟地址(RVA)=偏移地址+基址(ImageBase )

★Entry Point:入口点,就是程序在完成了对原程序的还原后,开始跳转到刚还原的程序执行,此时的地址就是入口点的值。

步骤

★确定壳的种类

一般拿到软件后,可用工具FileInfo、gtw、TYP32等侦测文件类型的工具来看看是何种壳,然后再采取措施。

★入口点(Entry Point)确定

对初学者来说定位程序解壳后的入口点确定较难,但熟练后,入口点查找是很方便的。 决大多数 PE 加壳程序在被加密的程序中加上一个或多个段。 所以看到一个跨段的 JMP 就有可能是了。如:UPX 用了一次跨段的 JMP , ASPACK 用了两次跨段的 JMP 。 这种判断一般是跟踪分析程序而找到入口点,如是用TRW2000也可试试命令:PNEWSEC,它可让TRW2000中断到入口点上。

1 2 3 4 5 6  下一页

Tags:压缩 脱壳 手动

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