gold 发表于 2008-3-9 09:41:12

手动脱壳之基本知识

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:入口点,就是程序在完成了对原程序的还原后,开始跳转到刚还原的程序执行,此时的地址就是入口点的值。

  2、步骤     

  ★确定壳的种类     

  一般拿到软件后,可用工具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)。

xiaofeng206 发表于 2008-3-9 09:42:52

感谢分享,收藏了学习一下

wangweizhou 发表于 2008-3-18 07:33:56

业幕馗/:L

happyvip 发表于 2008-3-20 14:43:23

入口点确定,dump,修正

凡人 发表于 2008-3-20 20:37:54

我还是新手,还不太懂,得漫漫学习,谢谢分享

xuewuzhijing 发表于 2008-4-1 12:04:11

SoftICE 、TRW2000 ,我好久不用了!

xuewuzhijing 发表于 2008-4-1 15:20:01

复制到WORD里了,仔细看看,认真学习!谢谢!

pdch2 发表于 2008-4-3 17:32:08

收藏了学习,谢谢楼主!

xbb[DFCG] 发表于 2008-4-8 12:28:40

现在调试器都用OD了~~

萧萧黄叶 发表于 2008-4-8 13:02:02

页: [1] 2 3
查看完整版本: 手动脱壳之基本知识