飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 7103|回复: 25

[转贴] 手动脱壳之基本知识

[复制链接]

该用户从未签到

发表于 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)。

评分

参与人数 1威望 +4 收起 理由
亿联网络 + 4 赞一个!

查看全部评分

PYG19周年生日快乐!

该用户从未签到

发表于 2008-3-9 09:42:52 | 显示全部楼层
感谢分享,收藏了学习一下
PYG19周年生日快乐!

该用户从未签到

发表于 2008-3-18 07:33:56 | 显示全部楼层
业幕馗/:L
PYG19周年生日快乐!

该用户从未签到

发表于 2008-3-20 14:43:23 | 显示全部楼层
入口点确定,dump,修正
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2021-5-4 15:57
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    发表于 2008-3-20 20:37:54 | 显示全部楼层
    我还是新手,还不太懂,得漫漫学习,谢谢分享
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-1 12:04:11 | 显示全部楼层
    SoftICE 、TRW2000 ,我好久不用了!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-1 15:20:01 | 显示全部楼层
    复制到WORD里了,仔细看看,认真学习!谢谢!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-3 17:32:08 | 显示全部楼层
    收藏了学习,谢谢楼主!
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2024-3-21 21:06
  • 签到天数: 1489 天

    [LV.10]以坛为家III

    发表于 2008-4-8 12:28:40 | 显示全部楼层
    现在调试器都用OD了~~
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-12-24 08:16
  • 签到天数: 464 天

    [LV.9]以坛为家II

    发表于 2008-4-8 13:02:02 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表