第2课用相应工具软件为软件自动脱壳(非手动脱壳)
- 格式:doc
- 大小:288.50 KB
- 文档页数:13
第二课用相应工具软件为软件自动脱壳(非手动脱壳)欲破解一个软件,我们首先应根据前面的内容侦测它的壳,然后我们要把它的壳脱去,还原软件的本来面目。
如果软件是一个PLMM,我们不喜欢穿衣服的MM,我们不喜欢艺术照的MM,我们迫不及待地想把MM脱光,想把MM骗上床。
带壳的软件以后很难分析,带壳的穿衣的MM很难调教,壳是一个拦路虎,我们却不知武松醉在何处。
这就如同我们要吃糖炒栗子,必须先剥掉栗子壳一样。
这一课就教给你如何用自动剥壳机去掉花生壳、栗子壳之类的东东。
若侦测出它根本没加壳,就可省掉这一步了(现在没加壳的软件已经很少很少了,除非软件作者缺乏最基本的加密解密常识)。
脱壳成功的标志是脱壳后的文件能正常运行,功能没有任何损耗。
一般来说,脱壳后的文件长度大于原文件长度;即使同一个文件,当采用不同脱壳软件进行脱壳的时候,由于脱壳软件机理不同,脱出来的文件大小也不尽相同。
但只要能够运行起来,这都是正常的,就如同人的体重,每次上秤,份量都有所不同。
但只要这个人是健康的,就无所谓,合乎情理。
一、脱壳软件的两大类别(两个门派――少林、武当)脱壳软件主要分两大类:专用脱壳软件(武当派)和通用脱壳软件(少林派,源自“全民皆武,天下英雄出少年”)。
每个专用脱壳软件只能脱掉特定的一种或两种加壳软件所加的壳,也就是说它是专门针对某种加壳软件的某个版本而制作的。
通用脱壳软件则具有通用性,可以脱掉许多种不同类型的壳。
根据“以一当一”的原则,专用类此门派为“武当”派。
大家可能会有这样的疑问?既然有通用脱壳软件,为什么还要专用脱壳软件呢?所谓“术业有专攻”,通用的脱壳程序往往不能精确地适用于某些软件,而专用的脱壳程序适用面虽窄,对付特定的壳却极为有效。
因此,少林派和武当派缺一不可,相辅相成。
均掌握了武术之精髓,能置“壳”以死地,打得壳满地找牙,第一时间以迅雷不及掩耳之势极速脱掉壳MM的衣衫。
二、专用脱壳软件的四大类别根据壳的流行程度,常用的脱壳软件主要有三类:脱Aspack类(叉A)、脱UPX类(叉U)、脱pecompact类(叉P,怎么又跟微软搞到一块儿了),分别针对前面提到的3个加壳软件。
剩下的全都归到一个其他类中。
下面详细介绍它们的使用方法:(一)脱ASPack壳软件(叉A)――重点针对ASPack壳的软件主要有两个: AspackDie,AsprStripper。
1. AspackDie(A死)AspackDie (作者网站,需要代理才能访问)支持ASPack 2.11/2.11c/2.11d/2.12版所加壳的脱壳。
此软件的优点是支持新版ASPack壳、图形界面、使用方便、操作简单。
最新版本1.41。
★使用方法:傻瓜式软件,运行后选取欲脱壳的软件即可完成脱壳工作。
AspackDie软件运行界面如图1所示。
图1 AspackDie运行界面脱壳时注意:目标程序的属性不能为“只读”,否则会失败。
下面举个例子(ex1701)。
运行AspackDie软件,选定ex1701,如图2。
图2 选定目标文件ex1701选定后,鼠标单击“打开”按钮,即完成脱壳工作,如图3。
在ex1701所在目录生成脱壳后的文件,其名称为Unpacked.exe。
图3 脱壳成功时的画面2.AsprStripperAsprstripper(作者网站:/syd/)功能非常强大,能对付ASPack 2.xx版本的各种标准壳和变种壳,它只能运行在windows 2000/xp平台上。
它还能对付ASProtect 1.2x壳。
AsprStripper软件运行界面如图4。
图4 AsprStripper软件运行界面下面举个例子(ex1701)。
运行AsprStripper软件,点击右上角的“open”按钮选定目标程序ex1701,点击“打开”按钮,如图5。
图5选定目标程序ex1701然后点击右边的“unpacking”按钮,开始自动脱壳,完成后,在信息栏显示“-done”。
在ex1701所在目录生成脱壳后的文件,其名称为_ex1701.exe。
如图6。
图6 AsprStripper自动脱壳界面(二)脱UPX壳软件(叉U)――重点脱UPX壳软件主要有三个:UPX;FS;UPX-Ripper。
1.UPXUPX(主页)既是加壳软件,又是脱壳软件。
UPX经过不断的升级更新,有很多版本,脱UPX壳最好使用与加壳所用版本相同的UPX脱壳。
由于收集起来相当困难,故根据新版本的向下兼容性,我们用UPX的最新版本就足够了,当前最新版本是UPX1.9版。
★使用方法:将待脱壳的软件(如aa.exe)和upx.exe放于同一目录下,执行windows起始菜单的运行,键入upx -d aa.exe优点:脱壳快捷。
缺点:DOS界面。
为了弥补UPX的缺点,第三方开发了许多UPX的GUI界面(即图形界面),从而大大方便了大家的使用。
大家可以根据自己的喜好挑选一个自己喜欢的GUI界面。
图7是笔者推荐的UPX Shell,其界面华丽,功能强大,操作方便。
图7 UPX Shell运行界面下面举个例子(ex1)”。
运行UPX Shell软件,选定ex1,如图8。
图8 选定目标文件然后点“打开”按钮,出现ex1的信息,大小171KB,如图9。
图9 脱壳前原始文件信息然后,在“压缩”选项中,将“解压缩”选中,如图10。
图10 “压缩”选项设置点击“执行!”按钮,开始自动解压缩。
如图11。
图11 自动解压缩脱壳完成后的信息如图12。
图12 脱壳完成后信息2.FSFS(作者网站http://smf.chat.ru)的全称为File Scanner,支持UPX所加壳的脱壳。
★使用方法:将待脱壳的软件(如aa.exe)和fs.exe放于同一目录下,执行windows起始菜单的运行,键入:fs -u aa.exe 只需记牢第一步(执行第一步后,FS会提示你执行后面的操作)fs -rn -spl aa.exefs -se aa.exefs -c aa.exe缺点:操作略显繁琐,DOS界面;优点:能够对付作了手脚的UPX(指有许多UPX加壳软件都针对upx –d采取了防范措施,使此脱壳命令失效)加壳软件。
3.UPX-RipperUPX-Ripper的突出特色是完美支持各种作了手脚的UPX变种壳、变形壳。
下面举例说明其使用方法:用UPX Shell软件对win2000下的记事本notepad.exe加壳,在“高级选项”中选中“加密”,则加壳后的文件不能被UPX Shell解压缩。
用PEiD侦测,壳的信息如图13。
图13 UPX-Scrambler变种壳启动UPX-Ripper,其界面如图14。
图14 UPX-Ripper运行界面点击右上角的“File”按钮,选定目标程序-加壳的notepad.exe。
如图15。
图15 用UPX-Ripper选定目标文件点击下方的“Unpack”按钮,开始自动脱壳。
脱壳成功后界面如图16。
图16 脱壳成功界面(三)脱pecompact软件(叉P)――重点所使用软件为UnPECompact2 v0.1,傻瓜式,极易上手,使用方法类似aspackdie,比较简单,不详述,自己摸索,熟练掌握。
它支持最新版的2.xx-2.78a的pecompact软件加的壳。
2.78a以后的版本是否支持,请自我测试。
(四)其他一些壳及其相应专用脱壳软件见下表:专用脱壳软件汇总表三、通用脱壳软件及使用方法通用脱壳软件主要有以下几个:GUW32;各侦壳软件的插件等。
(一) GUW32GUW32(作者网站),全称为Generic Unpacker Win32。
它是一个智能化的全自动脱壳软件,其原理是通过模拟单步追踪而实现自动脱壳。
使用它,你不需要了解有关壳的信息,不需要侦测它所加的是什么壳,你只需要选定欲脱壳软件即可,然后静待其完成脱壳。
图17 GUW32界面使用时,点击GUW32图形界面的“START”按钮,选择待脱壳软件,GUW32对话框最小化并且在底部显示“>T.R.A.C.I.N.G...”,进行脱壳工作,所需时间与软件大小、CPU速度、同时运行的任务数有关。
有时可能需要较长的时间,请耐心等候。
若GUW32显示出错信息或蓝屏或待脱壳软件突然运行,则表明脱壳失败。
尤其值得注意的是:使用GUW32时,不允许SoftIce或其他调试器处于工作状态。
支持的壳有ASProtect1.1、ASPack2.1、UPX1.08d、Crunch、CodeCrypt、PCShrinker、PE-Compact 、PKLite32、PE-Pack、Shrinker、TimeLock、WWPack32、Yoda Crypter等。
GUW32能够脱掉ASPack2.12版的壳,脱时务必按照“Options”的默认选项设置。
该软件现在暂还不能把ASProtect 1.xx、tELock、Petite、PE-Crypt32这些软件加的壳给脱掉。
参数(Options)说明:"Show current EIP" -显示当前EIP,主要用于寻找bug,须置空;"Report APIs" -报告API调用,须置空;"Remove last section" -去尾,脱UPX,、PECompact、 PCGuard 和PCShrinker壳时,须将此选项置空;"Build new idata" -创建新idata,此选项须打上对号;"Use ring0 tracer" -使用ring0级追踪,此选项须打上对号。
斜体的了解即可。
(二) pe-scanpe-scan 原本为侦壳软件,但随着侦壳软件的发展,加入自动脱壳功能是侦壳软件的发展方向。
pe-scan自动脱壳功能还比较强,故把它放到这里来讲。
pe-scan可以测出壳的种类很多,还可以测出壳入口点、偏移量及pep。
对未知壳也可以通过高级扫描方式来帮助您作出判断。
可以脱的壳有 wwpack、stone's pe-encryptor、petite 2.1、pe-compact 1.84、aspack 2.12 等等,使用方便、快捷。
下面举个例子(ex1701)”,来介绍其自动脱壳的使用方法。
首先,用pe-scan打开目标文件ex1701,如图18。
图18 pe-scan运行界面在上图中,点击“脱壳”按钮,出现图19所示界面。
图19 pe-scan脱壳界面在上图中,点击“开始”按钮,开始自动脱壳,脱壳完成后出现图20所示界面。
为脱壳后的文件起个名字,保存即可。
图20 脱壳完成后的保存界面(三) PEiD+脱壳插件――重点前面已经介绍过,PEiD是一个相当出色的侦壳软件。