第2课用相应工具软件为软件自动脱壳非手动脱壳.docx
《第2课用相应工具软件为软件自动脱壳非手动脱壳.docx》由会员分享,可在线阅读,更多相关《第2课用相应工具软件为软件自动脱壳非手动脱壳.docx(17页珍藏版)》请在冰豆网上搜索。
第2课用相应工具软件为软件自动脱壳非手动脱壳
第二课用相应工具软件为软件自动脱壳(非手动脱壳)
欲破解一个软件,我们首先应根据前面的内容侦测它的壳,然后我们要把它的壳脱去,还原软件的本来面目。
如果软件是一个PLMM,我们不喜欢穿衣服的MM,我们不喜欢艺术照的MM,我们迫不及待地想把MM脱光,想把MM骗上床。
带壳的软件以后很难分析,带壳的穿衣的MM很难调教,壳是一个拦路虎,我们却不知武松醉在何处。
这就如同我们要吃糖炒栗子,必须先剥掉栗子壳一样。
这一课就教给你如何用自动剥壳机去掉花生壳、栗子壳之类的东东。
若侦测出它根本没加壳,就可省掉这一步了(现在没加壳的软件已经很少很少了,除非软件作者缺乏最基本的加密解密常识)。
脱壳成功的标志是脱壳后的文件能正常运行,功能没有任何损耗。
一般来说,脱壳后的文件长度大于原文件长度;即使同一个文件,当采用不同脱壳软件进行脱壳的时候,由于脱壳软件机理不同,脱出来的文件大小也不尽相同。
但只要能够运行起来,这都是正常的,就如同人的体重,每次上秤,份量都有所不同。
但只要这个人是健康的,就无所谓,合乎情理。
一、脱壳软件的两大类别(两个门派――少林、武当)
脱壳软件主要分两大类:
专用脱壳软件(武当派)和通用脱壳软件(少林派,源自“全民皆武,天下英雄出少年”)。
每个专用脱壳软件只能脱掉特定的一种或两种加壳软件所加的壳,也就是说它是专门针对某种加壳软件的某个版本而制作的。
通用脱壳软件则具有通用性,可以脱掉许多种不同类型的壳。
根据“以一当一”的原则,专用类此门派为“武当”派。
大家可能会有这样的疑问?
既然有通用脱壳软件,为什么还要专用脱壳软件呢?
所谓“术业有专攻”,通用的脱壳程序往往不能精确地适用于某些软件,而专用的脱壳程序适用面虽窄,对付特定的壳却极为有效。
因此,少林派和武当派缺一不可,相辅相成。
均掌握了武术之精髓,能置“壳”以死地,打得壳满地找牙,第一时间以迅雷不及掩耳之势极速脱掉壳MM的衣衫。
二、专用脱壳软件的四大类别
根据壳的流行程度,常用的脱壳软件主要有三类:
脱Aspack类(叉A)、脱UPX类(叉U)、脱pecompact类(叉P,怎么又跟微软搞到一块儿了),分别针对前面提到的3个加壳软件。
剩下的全都归到一个其他类中。
下面详细介绍它们的使用方法:
(一)脱ASPack壳软件(叉A)――重点
针对ASPack壳的软件主要有两个:
AspackDie,AsprStripper。
1.AspackDie(A死)
AspackDie(作者网站,需要代理才能访问)支持ASPack2.11/2.11c/2.11d/2.12版所加壳的脱壳。
此软件的优点是支持新版ASPack壳、图形界面、使用方便、操作简单。
最新版本1.41。
★使用方法:
傻瓜式软件,运行后选取欲脱壳的软件即可完成脱壳工作。
AspackDie软件运行界面如图1所示。
图1AspackDie运行界面
脱壳时注意:
目标程序的属性不能为“只读”,否则会失败。
下面举个例子(ex1701)。
运行AspackDie软件,选定ex1701,如图2。
图2选定目标文件ex1701
选定后,鼠标单击“打开”按钮,即完成脱壳工作,如图3。
在ex1701所在目录生成脱壳后的文件,其名称为Unpacked.exe。
图3脱壳成功时的画面
2.AsprStripper
Asprstripper(作者网站:
2.xx版本的各种标准壳和变种壳,它只能运行在windows2000/xp平台上。
它还能对付ASProtect1.2x壳。
AsprStripper软件运行界面如图4。
图4AsprStripper软件运行界面
下面举个例子(ex1701)。
运行AsprStripper软件,点击右上角的“open”按钮选定目标程序ex1701,点击“打开”按钮,如图5。
图5选定目标程序ex1701
然后点击右边的“unpacking”按钮,开始自动脱壳,完成后,在信息栏显示“-done”。
在ex1701所在目录生成脱壳后的文件,其名称为_ex1701.exe。
如图6。
图6AsprStripper自动脱壳界面
(二)脱UPX壳软件(叉U)――重点
脱UPX壳软件主要有三个:
UPX;FS;UPX-Ripper。
1.UPX
UPX(主页)既是加壳软件,又是脱壳软件。
UPX经过不断的升级更新,有很多版本,脱UPX壳最好使用与加壳所用版本相同的UPX脱壳。
由于收集起来相当困难,故根据新版本的向下兼容性,我们用UPX的最新版本就足够了,当前最新版本是UPX1.9版。
★使用方法:
将待脱壳的软件(如aa.exe)和upx.exe放于同一目录下,执行windows起始菜单的运行,键入upx-daa.exe
优点:
脱壳快捷。
缺点:
DOS界面。
为了弥补UPX的缺点,第三方开发了许多UPX的GUI界面(即图形界面),从而大大方便了大家的使用。
大家可以根据自己的喜好挑选一个自己喜欢的GUI界面。
图7是笔者推荐的UPXShell,其界面华丽,功能强大,操作方便。
图7UPXShell运行界面
下面举个例子(ex1)”。
运行UPXShell软件,选定ex1,如图8。
图8选定目标文件
然后点“打开”按钮,出现ex1的信息,大小171KB,如图9。
图9脱壳前原始文件信息
然后,在“压缩”选项中,将“解压缩”选中,如图10。
图10“压缩”选项设置
点击“执行!
”按钮,开始自动解压缩。
如图11。
图11自动解压缩
脱壳完成后的信息如图12。
图12脱壳完成后信息
2.FS
FS(作者网站http:
//smf.chat.ru)的全称为FileScanner,支持UPX所加壳的脱壳。
★使用方法:
将待脱壳的软件(如aa.exe)和fs.exe放于同一目录下,执行windows起始菜单的运行,键入:
fs-uaa.exe只需记牢第一步(执行第一步后,FS会提示你执行后面的操作)
fs-rn-splaa.exe
fs-seaa.exe
fs-caa.exe
缺点:
操作略显繁琐,DOS界面;
优点:
能够对付作了手脚的UPX(指有许多UPX加壳软件都针对upx–d采取了防范措施,使此脱壳命令失效)加壳软件。
3.UPX-Ripper
UPX-Ripper的突出特色是完美支持各种作了手脚的UPX变种壳、变形壳。
下面举例说明其使用方法:
用UPXShell软件对win2000下的记事本notepad.exe加壳,在“高级选项”中选中“加密”,则加壳后的文件不能被UPXShell解压缩。
用PEiD侦测,壳的信息如图13。
图13UPX-Scrambler变种壳
启动UPX-Ripper,其界面如图14。
图14UPX-Ripper运行界面
点击右上角的“File”按钮,选定目标程序-加壳的notepad.exe。
如图15。
图15用UPX-Ripper选定目标文件
点击下方的“Unpack”按钮,开始自动脱壳。
脱壳成功后界面如图16。
图16脱壳成功界面
(三)脱pecompact软件(叉P)――重点
所使用软件为UnPECompact2v0.1,傻瓜式,极易上手,使用方法类似aspackdie,比较简单,不详述,自己摸索,熟练掌握。
它支持最新版的2.xx-2.78a的pecompact软件加的壳。
2.78a以后的版本是否支持,请自我测试。
(四)其他一些壳及其相应专用脱壳软件见下表:
专用脱壳软件汇总表
壳的名称
相应专用脱壳软件
Krypton
Krypton-DiE
Telock
WKT_tElock_Dumper、untelock
Petite
Petiteenlarger
PEMangle
UnPEMangle
LameCrypt
LameCryptunpacker
AcidCrypt
Un-AcidCrypt
VGCrypt
UnVGCrypt
PELOCK-NT
PEUNLOCK-NT
DBPE(幻影)
UnDBPE
CodeCrypt
Un-CodeCrypt
NoodleCrypt
NoodleKiller
PCPEC
UNPCPEC
PE-protect
DePE-protect
PEPack
DePEPak
Y0da’scryptor
Dey0da
PE-SHiELD
unPES
PEncrypt
unPEncrypt
Softwrap
Softunwrap
FSG
Un-FSG
NFO
unNFO
Pex
Dex
PE-PACK
DePE-PACK
PeDiminisher
PeDiminisherUnpacker
LameCrypt
LameCryptunpacker
Bit-ArtsCrunch
DeCrunchit
PCGuard
PCGuardDumper
ExeStealth
GenericExeStealthUnpacker
Shrinker
DeShrink,Ned
获取这些软件请到以下网址:
http:
//protools.anticrack.de/,
三、通用脱壳软件及使用方法
通用脱壳软件主要有以下几个:
GUW32;各侦壳软件的插件等。
(一)GUW32
GUW32(作者网站),全称为GenericUnpackerWin32。
它是一个智能化的全自动脱壳软件,其原理是通过模拟单步追踪而实现自动脱壳。
使用它,你不需要了解有关壳的信息,不需要侦测它所加的是什么壳,你只需要选定欲脱壳软件即可,然后静待其完成脱壳。
图17GUW32界面
使用时,点击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、YodaCrypter等。
GUW32能够脱掉ASPack2.12版的壳,脱时务必按照“Options”的默认选项设置。
该软件现在暂还不能把ASProtect1.xx、tELock、Petite、PE-Crypt32这些软件加的壳给脱掉。
参数(Options)说明:
"ShowcurrentEIP"-显示当前EIP,主要用于寻找bug,须置空;
"ReportAPIs"-报告API调用,须置空;
"Removelastsection"-去尾,脱UPX,、PECompact、PCGuard和PCShrinker壳时,须将此选项置空;
"Buildnewidata"-创建新idata,此选项须打上对号;
"Usering0tracer"-使用ring0级追踪,此选项须打上对号。
斜体的了解即可。
(二)pe-scan
pe-scan原本为侦壳软件,但随着侦壳软件的发展,加入自动脱壳功能是侦壳软件的发展方向。
pe-scan自动脱壳功能还比较强,故把它放到这里来讲。
pe-scan可以测出壳的种类很多,还可以测出壳入口点、偏移量及pep。
对未知壳也可以通过高级扫描方式来帮助您作出判断。
可以脱的壳有wwpack、stone'spe-encryptor、petite2.1、pe-compact1.84、aspack2.12等等,使用方便、快捷。
下面举个例子(ex1701)”,来介绍其自动脱壳的使用方法。
首先,用pe-scan打开目标文件ex1701,如图18。
图18pe-scan运行界面
在上图中,点击“脱壳”按钮,出现图19所示界面。
图19pe-scan脱壳界面
在上图中,点击“开始”按钮,开始自动脱壳,脱壳完成后出现图20所示界面。
为脱壳后的文件起个名字,保存即可。
图20脱壳完成后的保存界面
(三)PEiD+脱壳插件――重点
前面已经介绍过,PEiD是一个相当出色的侦壳软件。
它有一个自动脱壳插件,插件名称为PEiDGenericUnpacker,其脱壳能力极强,只能工作在win2000/xp平台上。
笔者强烈推荐读者使用。
下面举个例子(ex1700),来介绍此插件自动脱壳的使用方法。
首先,用PEiD打开目标文件ex1700,信息栏显示壳的信息为非常强悍的Asprotect1.2x(传说中令人生畏的大S),此插件能胜任吗?
如图21,选中PEiDGenericUnpacker插件。
图21选择PEiDGenericUnpacker插件
如图22,点击右方的“->”按钮。
图22脱壳界面一
然后,点击左下角的“Unpack”按钮,开始自动脱壳。
如图23。
图23脱壳界面二
脱壳过程中会出现图24的提示窗口,点击“是(Y)”即可。
图24提示窗口
脱壳后的文件自动命名为ex1700.exe.unpacked_.exe,大小为384KB,原始大小为170KB。
如此强悍的壳瞬间脱去,所以此脱壳插件一定不可小视,读者千万不可错过。
总结:
标红色的为重点掌握内容,其他内容一般性了解即可。
作业:
1.从网上下载20个共享软件,分别用专用脱壳软件和通用脱壳软件脱壳,脱不掉的先放过,挑简单的,进行脱壳,抓取脱壳前后的PEiD图片寄给我。
标题为“第二课作业”。
2.脱壳第1课中所打包的练习软件。