这个网站的建设流程,欧美免费视频网站模板,企业咨询端app,石家庄热搜1、基本知识 手动脱壳就是不借助自动脱壳工具#xff0c;而是用动态调试工具SOFTICE或TRW2000来脱壳。这课谈谈一些入门方面的知识#xff0c;如要了解更深的脱壳知识#xff0c;请参考《脱壳高级篇》这课。 工具 * 调试器#xff1a… 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中断到入口点上。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 。 转载于:https://blog.51cto.com/xiong/13244