admin管理员组文章数量:1568431
2024年2月9日发(作者:)
第二课 用相应工具软件为软件自动脱壳(非手动脱壳)
欲破解一个软件,我们首先应根据前面的内容侦测它的壳,然后我们要把它的壳脱去,还原软件的本来面目。如果软件是一个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所在目录生成脱壳后的文件,其名称为。
图3 脱壳成功时的画面
ripper
Asprstripper(作者网站:/syd/)功能非常强大,能对付ASPack 版本的各种标准壳和变种壳,它只能运行在windows 2000/xp平台上。它还能对付ASProtect 1.2x壳。AsprStripper软件运行界面如图4。
图4 AsprStripper软件运行界面
下面举个例子(ex1701)。运行AsprStripper软件,点击右上角的“open”按钮选定目标程序ex1701,点击“打开”按钮,如图5。
图5选定目标程序ex1701
然后点击右边的“unpacking”按钮,开始自动脱壳,完成后,在信息栏显示“-done”。在ex1701所在目录生成脱壳后的文件,其名称为_。如图6。
图6 AsprStripper自动脱壳界面
(二) 脱UPX壳软件(叉U)――重点
脱UPX壳软件主要有三个:UPX;FS;UPX-Ripper。
UPX(主页)既是加壳软件,又是脱壳软件。UPX经过不断的升级更新,有很多版本,脱UPX壳最好使用与加壳所用版本相同的UPX脱壳。由于收集起来相当困难,故根据新版本的向下兼容性,我们用UPX的最新版本就足够了,当前最新版本是UPX1.9版。
★使用方法:将待脱壳的软件(如)和放于同一目录下,执行windows起始菜单的运行,键入upx -d
优点:脱壳快捷。
缺点: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 脱壳完成后信息
FS(作者网站)的全称为File Scanner,支持UPX所加壳的脱壳。
★使用方法:将待脱壳的软件(如)和放于同一目录下,执行windows起始菜单的运行,键入:
fs -u 只需记牢第一步(执行第一步后,FS会提示你执行后面的操作)
fs -rn -spl
fs -se
fs -c
缺点:操作略显繁琐,DOS界面;
优点:能够对付作了手脚的UPX(指有许多UPX加壳软件都针对upx –d采取了防范措施,
使此脱壳命令失效)加壳软件。
-Ripper
UPX-Ripper的突出特色是完美支持各种作了手脚的UPX变种壳、变形壳。下面举例说明其使用方法:
用UPX Shell软件对win2000下的记事本加壳,在“高级选项”中选中“加密”,则加壳后的文件不能被UPX Shell解压缩。用PEiD侦测,壳的信息如图13。
图13 UPX-Scrambler变种壳
启动UPX-Ripper,其界面如图14。
图14 UPX-Ripper运行界面
点击右上角的“File”按钮,选定目标程序-加壳的。如图15。
图15 用UPX-Ripper选定目标文件
点击下方的“Unpack”按钮,开始自动脱壳。脱壳成功后界面如图16。
图16 脱壳成功界面
(三)脱pecompact软件(叉P)――重点
所使用软件为UnPECompact2 v0.1,傻瓜式,极易上手,使用方法类似aspackdie,比较简单,不详述,自己摸索,熟练掌握。它支持最新版的-2.78a的pecompact软件加的壳。
2.78a以后的版本是否支持,请自我测试。
(四)其他一些壳及其相应专用脱壳软件 见下表:
专用脱壳软件汇总 表
壳的名称
Krypton
Telock
Petite
PEMangle
LameCrypt
AcidCrypt
VGCrypt
PELOCK-NT
相应专用脱壳软件
Krypton-DiE
WKT_tElock_Dumper、untelock
Petite enlarger
UnPEMangle
LameCrypt unpacker
Un-AcidCrypt
UnVGCrypt
PEUNLOCK-NT
DBPE(幻影)
CodeCrypt
NoodleCrypt
PCPEC
PE-protect
PEPack
Y0da’s cryptor
PE-SHiELD
PEncrypt
Softwrap
FSG
NFO
Pex
PE-PACK
PeDiminisher
LameCrypt
Bit-Arts Crunch
PCGuard
ExeStealth
UnDBPE
Un-CodeCrypt
NoodleKiller
UNPCPEC
DePE-protect
DePEPak
Dey0da
unPES
unPEncrypt
Softunwrap
Un-FSG
unNFO
Dex
DePE-PACK
PeDiminisher Unpacker
LameCrypt unpacker
DeCrunchit
PCGuard Dumper
Generic ExeStealth Unpacker
Shrinker DeShrink, Ned
获取这些软件请到以下网址:/,
三、通用脱壳软件及使用方法
通用脱壳软件主要有以下几个:GUW32;各侦壳软件的插件等。
(一) GUW32
GUW32(作者网站),全称为Generic Unpacker Win32。它是一个智能化的全自动脱壳软件,其原理是通过模拟单步追踪而实现自动脱壳。使用它,你不需要了解有关壳的信息,不需要侦测它所加的是什么壳,你只需要选定欲脱壳软件即可,然后静待其完成脱壳。
图17 GUW32界面
使用时,点击GUW32图形界面的“START”按钮,选择待脱壳软件,GUW32对话框最小化并且在底部显示“>T.R.A.C.I.”,进行脱壳工作,所需时间与软件大小、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 、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-scan
pe-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是一个相当出色的侦壳软件。它有一个自动脱壳插件,插件名称为PEiD Generic Unpacker,其脱壳能力极强,只能工作在win2000/xp平台上。笔者强烈推荐读者使用。下面举个例子(ex1700),来介绍此插件自动脱壳的使用方法。首先,用PEiD打开目标文件ex1700,信息栏显示壳的信息为非常强悍的Asprotect1.2x(传说中令人生畏的大S),此插件能胜任吗?如图21,选中PEiD Generic Unpacker插件。
图21 选择PEiD Generic Unpacker插件
如图22,点击右方的“->”按钮。
图22 脱壳界面一
然后,点击左下角的“Unpack”按钮,开始自动脱壳。如图23。
图23 脱壳界面二
脱壳过程中会出现图24的提示窗口,点击“是(Y)”即可。
图24 提示窗口
脱壳后的文件自动命名为ed_.exe,大小为384KB,原始大小为170KB。如此强悍的壳瞬间脱去,所以此脱壳插件一定不可小视,读者千万不可错过。
总结:标红色的为重点掌握内容,其他内容一般性了解即可。
作业:
1. 从网上下载20个共享软件,分别用专用脱壳软件和通用脱壳软件脱壳,脱不掉的先放过,挑简单的,进行脱壳,抓取脱壳前后的PEiD图片寄给我。标题为“第二课作业”。
2. 脱壳第1课中所打包的练习软件。
版权声明:本文标题:第2课用相应工具软件为软件自动脱壳(非手动脱壳) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1707416652a196341.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论