转的东西!!!!!!
我写这篇东西的主要目的是让初到本站的新手们能对"壳"有个大概的认识,知道我每天说了些什么
。限于本人的知识,如果有ERROR 之处,还请多原谅。如果你觉得还可以, 也欢迎转贴,但请保留文章
的完整性和作者的资料。当然如果你想把它发表,硬塞些稿费给俺花花,我也不会拒绝的。)
作为一个以"壳"为主的站台,如果连访者连什么是"壳"都不清楚的话,那我也太失败了。很早以前
就想写编完全关于"壳"的文章,但苦于时间和文字水平的关系,都没提笔。本着对站台负责的态度,现
在经过一天的努力,"打"出这编尝试由壳的历史一直谈到最新发展的本章来。
首先我想大家应该先明白"壳"的概念。在自然界中,我想大家对壳这东西应该都不会陌生了,植物
用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不
被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务
。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的"壳中带籽"的壳)。由于
这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为"壳"了
。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。
最早提出"壳"这个概念的,据我所知,应该是当年推出脱壳软件 RCOPY 3 的作者熊焰先生。在几
年前的 DOS 时代,"壳"一般都是指磁盘加密软件的段加密程序,可能是那时侯的加密软件还刚起步不久
吧,所以大多数的加密软件(加壳软件)所生成的"成品"在"壳"和需要加密的程序之间总有一条比较明
显的"分界线"。有经验的人可以在跟踪软件的运行以后找出这条分界线来,至于这样有什么用这个问题
,就不用我多说了。但毕竟在当时,甚至现在这样的人也不是很多,所以当 RCOPY3 这个可以很容易就
找出"分界线",并可以方便的去掉"壳"的软件推出以后,立即就受到了很多人的注意。老实说,这个我
当年在《电脑》杂志看到广告,在广州电脑城看到标着999元的软件,在当时来说,的确是有很多全新的
构思,单内存生成 EXE 可执行文件这项,就应该是世界首创了。但它的思路在程序的表现上我认为还有
很多可以改进的地方(虽然后来出现了可以加强其功力的 RO97),这个想法也在后来和作者的面谈中得
到了证实。在这以后,同类型的软件想雨后春笋一般冒出来,记得住名字的就有: UNKEY、MSCOPY、
UNALL .... 等等,但很多的软件都把磁盘解密当成了主攻方向,忽略了其它方面,当然这也为以后的"
密界克星""解密机器"等软件打下了基础,这另外的分支就不多祥谈了,相信机龄大一点的朋友都应该看
过当时的广告了。
解密(脱壳)技术的进步促进、推动了当时的加密(加壳)技术的发展。LOCK95和 BITLOK 等所谓
的"壳中带籽"加密程序纷纷出笼,真是各出奇谋,把小小的软盘也折腾的够辛苦的了。正在国内的加壳
软件和脱壳软件较量得正火红的时候,国外的"壳"类软件早已经发展到像 LZEXE 之类的压缩壳了。这类
软件说穿了其实就是一个标准的加壳软件,它把 EXE 文件压缩了以后,再在文件上加上一层在软件被执
行的时候自动把文件解压缩的"壳"来达到压缩 EXE 文件的目的。接着,这类软件也越来越多, PKEXE、
AINEXE、UCEXE 和后来被很多人认识的 WWPACK 都属于这类软件,但奇怪的是,当时我看不到一个国产
的同类软件。
过了一段时间,可能是国外淘汰了磁盘加密转向使用软件序列号的加密方法吧,保护 EXE 文件不
被动态跟踪和静态反编译就显得非常重要了。所以专门实现这样功能的加壳程序便诞生了。 MESS 、
CRACKSTOP、HACKSTOP、TRAP、UPS 等等都是比较有名气的本类软件代表,当然,还有到现在还是数一数
二的,由台湾同胞所写的 FSE 。其实以我的观点来看,这样的软件才能算是正宗的加壳软件。
在以上这些加壳软件的不断升级较劲中,很多软件都把比较"极端"技术用了上去,因为在这个时候
DOS 已经可以说是给众高手们玩弄在股掌之间了,什么保护模式、反 SICE 、逆指令等等。相对来说,
在那段时间里发表的很多国外脱壳程序,根本就不能对付这么多的加壳大军,什么 UPC、TEU 等等都纷
纷成为必防的对象,成绩比较理想的就只有 CUP386 了,反观国内,这段时间里也没了这方面的"矛盾斗
争"。加壳软件门挥军直捣各处要岗重地,直到在我国遇到了 TR 这个铜墙铁壁以后,才纷纷败下阵来各
谋对策,但这已经是一年多以后的事情了。我常想,如果 TR 能早两年"出生"的话,成就肯定比现在大
得多,甚至盖过 SICE 也有可能。TR 发表的时候 WIN95 的流行已经成为事实,DOS 还有多少的空间,
大家心里都清楚。但话又说回来, TR 的确是个好软件,比起当年的 RCOPY3 有过之而无不及,同时也
证明了我们中国的 CRACK 实力(虽然有点过时)。这个时候,前面提到过的 FSE 凭着强劲的实力也渐
渐的浮出了水面,独领风骚。其时已经是 1997 年年底了,我也走完了学生"旅程"。工作后在CFIDO 的
CRACK 区认识了 Ding-Boy ,不久 CRACK 区关了,我从此迷上了 INTERNET,并于98年6月建起了一个专
门介绍"壳"的站台:
http://topage.126.com ;,放上了我所收集的所有"壳"类软件。在这段时间里,
各种"壳"类软件也在不段的升级换代,但都没什么太大的进展,差不多就是 TR 和众加壳软件的版本数
字之争而已。
1998年8月,一个名为 UNSEC (揭秘)的脱壳软件发表了,它号称可以脱掉98年8月以前发表的所有
壳。我测试之后,觉得并没传闻中的那么厉害,特别是兼容性更是令我不想再碰它。 Ding-Boy 给这个
软件的作者提了很多建议,但寄去的 EMIAL 有如泥牛入海,可能是一怒之下吧,不久 Ding-Boy 的 BW
(冲击波)就诞生了。这个使用内存一次定位生成 EXE 文件(后来放弃了)的脱壳软件,在我的站台公
开后,得到了很多朋友们的肯定。要知道,从RCOPY 3 开始,绝大部分的脱壳软件都是要两次运行目标
程序来确定 EXE 的重定位数据的。BW 的这一特点虽然有兼容性的问题,但也树立了自己的风格、特色
。经过几个月的改善, BW 升级到了 2.0 版本,这个版本的推出可以说是 BW 的转折点,因为它已经是
一个成熟、稳定脱壳软件了,它可以对付当时(现在)大多数的壳,包括当时最新的 FSE 0.6 等。更重
要的是这个版本把选择壳的和软件"分界线"这个最令新手头疼的步骤简化到不能再简化的地步,使更多
的朋友接受了它。另外,能加强 BW 功力的 CI 模式也是其它脱壳软件没有的东西。最近,BW 发表了最
新的 2.5 BETA2 版本,增强了一些方面的功能,因它竟然可以脱掉号称最厉害的磁盘加密工具
LOCKKING 2.0 的加密壳,因而进一步奠定了它在"脱壳界"的地位。说到最新,就不能不提 GTR、LTR、
EDUMP、ADUMP、UPS、UPX、APACK 这几个国外的好软件了,它们每个都有自己的特色,可以说都是当今
各类"壳"中的最新代表了。(这些软件和详细介绍请到我的主页查阅)
由于 WINDOWS 3.1 只是基于 DOS 下的一个图形外壳,所以在这个平台下的"壳"类软件很少,见过
的就只有像 PACKWIN 等几个有限的压缩工具,终难成气候。
可能是 MICROSOFT 保留了 WIN95 的很多技术上的秘密吧,所以即便是 WIN95 已经推出了 3 年多
的时间,也没见过在其上面运行的"壳"类软件。直到 98 年的中期,这样的软件才迟迟的出现,而这个
时候 WIN98 也发表了有一段日子了。应该是有 DOS 下的经验吧,这类的软件不发表由自可,一发表就
一大批地的冲了出来。先是加壳类的软件如: BJFNT、PELOCKNT 等,它们的出现,使暴露了 3 年多的
WIN95 下的 PE 格式 EXE 文件得到了很好的保护。大家都应该知道现在很多 WIN95 下的软件都是用注
册码的方法来区分、确定合法与非法用户的吧,有了这类加壳软件,这种注册方法的安全性提高了不少
,如果大家也有自己编的 WIN95 程序,就一定要多留意一下本类软件了。接着出现的就是压缩软件了,
因为 WIN95 下运行的 EXE 文件"体积"一般都比较大,所以它的实用价值比起 DOS 下的压缩软件要大很
多,这类的软件也很多,早些时候的 VBOX、PEPACK、PETITE 和最近才发表的 ASPACK、UPX 都是其中的
佼佼者。在 DOS 下很流行的压缩软件 WWPACK 的作者也推出了对应 WIN95 版本的 WWPACK32,由于性能
并不是十分的突出,所以用的人也不太多。由于压缩软件其实也是间接给软件加了壳,所以用它们来处
理 EXE 也是很多软件作者喜欢做的事情,最近新发表的很多软件里都可以看到这些加壳、加压缩软件的
名字了。有加壳就一定会有脱壳的,在 WIN95 下当然也不例外,但由于编这类软件比编加壳软件要难得
多,所以到目前为止,我认为就只有 PROCDUMP 这个软件能称为通用脱壳软件了,它可以对付现在大多
数的加壳、压缩软件所加的壳,的确是一个难得的精品。其它的脱壳软件多是专门针对某某加壳软件而
编,虽然针对性强、效果好,但收集麻烦,而且这样的脱壳软件也不多。前些时候 TR 作者也顺应潮流
发表了 TR 的 WIN95 版本: TRW ,由现在的版本来看可以对付的壳还不多,有待改进。
BW 的作者 Ding-Boy 最新发表了一个 WIN95 的 EXE 加壳软件 DBPE 。虽然它还不太成熟,但它可
以为软件加上使用日期限制这个功能是其它加壳软件所没有的,或者以后的加壳软件真的会是像他说的
那样可以:加壳和压缩并重、并施;随意加使用日期;加上注册码;加软件狗(磁盘)保护;加硬件序
列号判别;加... 。
附加一点内容
--------------------------------------------------------------------------------
此内容只有作者和已经回复此帖的浏览者能浏览:
一.壳的概念
作者编好软件后,编译成exe可执行文件
1.有一些版权信息需要保护起来,不想让别人
随便改动,如作者的姓名等
2.需要把程序搞的小一点,从而方便使用
于是,需要用到一些软件,他们能将exe可执行文件压缩,
实现上述两个功能,这些软件称为加壳软件或压缩软件.
它不同于一般的winzip,winrar等压缩软件.
它是压缩exe可执行文件的,压缩后的文件可以直接运行.
二.加壳软件
最常见的加壳软件ASPACK ,UPX,PEcompact
不常用的加壳软件WWPACK32;PE-PACK ;PETITE ;NEOLITE
三.侦测壳和软件所用编写语言的软件
1.侦测壳的软件fileinfo.exe 简称fi.exe(侦测壳的能力极强)
使用方法:
第一种:待侦测壳的软件(如aa.exe)和fi.exe位于同一目录下,执行
windows起始菜单的运行,键入
fi aa
第二种:待侦测壳的软件(如aa.exe)和fi.exe位于同一目录下,将aa的图标拖到fi的图标上
2.侦测壳和软件所用编写语言的软件language.exe(两个功能
合为一体,很棒) 推荐language2000中文版,我的主页可下载
傻瓜式软件,运行后选取待侦测壳的软件即可(open)
图中所示软件cr-xxzs.exe是用Visual Basic6.0编的,upx加壳
3.软件常用编写语言Delphi,VisualBasic(VB)---最难破,VisualC(VC)
四.常用资源
1.破解工具站点(以上工具从这里找)
www.exetools.comwww.pediy.comhttp://www.programmerstools.com(guowai/
www.cracknow.com2.软件站点
www.newhua.comwww.hktk.comhttp://www.esoftware.com.cn/ (强烈推荐,这里能找到软件的各个版本,尤其是旧版本。以后破解例子
中所用软件一般在这儿都能找到)
www.shareware.net.cnwww.csdn.net五.国外破解站点
-----------破解教程类:---------
1. +HCU Academy -
http://Tsehp(dot)cjb(dot)net (Academy - Best)
2. The Krobar Collection:
http://Krobar.cjb.net (Recommended)
3. CoDe_InSiDe -
http://codeinside.cjb.net (Mine/CoDe's tutorials)
4. Eternal_Bliss -
http://ebliss.cjb.net (Visual-Basic)
5. +Sandman -
http://www.idca.com/~thesandman/index2.html (Best - Recommended)
6. Icezelion's Win32Asm - http:/win32asm.cjb.net (Coding)
7. tHE Egoiste -
http://egoiste.da.ru (Great page with Crypto Stuff)
8. CrackMe's Page -
http://crackmes.cjb.net (Recommended, dl all CrackMe from here)
--------破解工具类:---------
1. Programmers Tools -
http://protools.cjb.net (Best)
2. Play Tools -
http://playtools.cjb.net (Great)
3. EXE Tools -
http://exetools.cjb.net/ (Average)
4. Aaron's Tools -
http://mud.sz.jsinfo.net/per/aaron/index.htm (Average)
5.
http://ProcDump32.cjb.net6. Freak2freak.cjb.net
7.
www.sysinternals.com (FileMon)
8.
http://rpi.net.au/~ajohnson/resourcehacker9.
http://muaddib.immortaldescendants.org10.
http://frog.fsn.net (May be down)
-----------破解组织类:-----------
1. PGC -
http://www.pgc-force.com 2. The Millenium Group -
http://tmg.da.ru/ (Keygen Factory :-)
3. HellForge -
http://www.hellforge.org/4. The Cracking Answer -
http://tca2k.da.ru/5. Immortal Descendants -
http://www.immortaldescendants.org6. TrickSoft -
http://emc2k.com/tricksoft/7. DOOM -
http://deadlyzone.virtualave.net/Html/load.htm8.
http://www.suddendischarge.com/五.作业
1.结合我讲的,看看雪教程的相关内容,吃透
2.熟练掌握fi和language的使用方法
3.下载一些软件,侦测它的壳和软件所用编写语言
通过上一节,我想大家己认识了什么是壳的概念了,也是说运行加壳程序时, 用户执行的实际上是
这个外壳的程序,而这个外壳程序负责把用户原来的程序在内存中解压缩,并把控制权交还给解开后的
真正的程序,由于一切工作都是在内存中运行,用户根本不知道也不需要知道其运行过程,只要执行起
来没有变化就好。当时有些人担心这些解压缩的工作会给程序带来额外的运行时间,但实际上所有的可
执行文件都要读到内存中去执行,文件小了,从计算机硬盘上读到内存的时间自然也少了,两下相抵,
实际上用户并不会感觉程序慢了多少。脱壳的就是把在内存中真正还原的程序抓取下来,修正后变成可
执行的文件。
在Windows 95/NT/2000 上的文件格式是Portable Executable File Format(即PE格式),该格式应
用于所有基于Win32的系统。由于现在windows的普及,下面谈到的壳都是基于这种文件格式。
压缩工具介绍(PACKERS)
我们这里谈的压缩工具不是Winzip,WINRAR等工具(它们是可压缩任何文件),而是谈专门压缩
windows下的 PE 格式EXE或DLL文件的工具,压缩的EXE文件是自解压可执行文件。
常用压缩工具(Windows Packers )列表:
名称 作者 主页 介绍
ASPack Alexey Solodovnikov
www.aspack.com 是俄国作者Alexey Solodovnikov写的一个非常强大的
Win32压缩工具,其压缩率、速度和兼容性很不错,是目前很流行的一种压缩工具。
UPX Markus Oberhumer & Laszlo Molnar Homepage 非常全能的 EXE 压缩软件,并可用UPX -D命令脱壳
。
Petite Ian Luck Homepage 能压缩PE文件的code, data等资源。
PE-PACK ANAKiN Homepage 一个自身体积小巧的压缩工具
PKLITE32 PKWARE, Inc.
www.pkware.com 32-位压缩工具(DLL/EXE).
WWPack32 Piotr Warezak and Rafal Wierzbicki Homepage 32-位压缩工具(DLL/EXE).
NeoLite Hompage 32-位压缩工具(DLL/EXE).
Shrinker Blink Inc Hompage 32-位压缩工具(DLL/EXE).
脱壳工具介绍(UNPACKERS)
一般某种压缩工具的壳,都会有相应的脱壳工具,因此只要找到较新版本的脱壳工具, 一般的壳都
可轻易脱去。
常用脱壳工具(Windows Unpackers)列表: 名称 作者 主页 介绍
ASPack unpacker bane Homepage 脱ASPack的压缩PE文件。
UnPEPack M.o.D. 脱PEPack的壳
ProcDump32 十分优秀的"万能"脱壳工具,可惜不升级了,因此只能自动脱些老版本压缩工具的壳
,但可通过脚本命令使其升级。也是一款优秀的PE修改工具。
侦测文件类型工具
名称 介绍
FileInfo 能检测多种文件格式,脱壳前用来判断是否加壳或何种壳,推荐使用!
GetTyp 功能同上
TYP 功能同上