软件加壳脱壳技术教程Word下载.docx
《软件加壳脱壳技术教程Word下载.docx》由会员分享,可在线阅读,更多相关《软件加壳脱壳技术教程Word下载.docx(49页珍藏版)》请在冰豆网上搜索。
有经验的人可以在跟踪软件的运行以后找出这条分界线来,至于这样有什么用这个问题,就不用我多说了。
但毕竟在当时,甚至现在这样的人也不是很多,所以当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月建起了一个专门介绍“壳”的站台:
;
,放上了我所收集的所有“壳”类软件。
在这段时间里,各种“壳”类软件也在不段的升级换代,但都没什么太大的进展,差不多就是TR和众加壳软件的版本数字之争而已。
1998年8月,一个名为UNSEC(揭秘)的脱壳软件发表了,它号称可以脱掉98年8月以前发表的所有壳。
我测试之后,觉得并没传闻中的那么厉害,特别是兼容性更是令我不想再碰它。
Ding-Boy给这个软件的作者提了很多建议,但寄去的EMIAL有如泥牛入海,可能是一怒之下吧,不久Ding-Boy的BW(冲击波)就诞生了。
这个使用内存一次定位生成EXE文件(后来放弃了)的脱壳软件,在我的站台公开后,得到了很多朋友们的肯定。
要知道,从RCOPY3开始,绝大部分的脱壳软件都是要两次运行目标程序来确定EXE的重定位数据的。
BW的这一特点虽然有兼容性的问题,但也树立了自己的风格、特色。
经过几个月的改善,BW升级到了2.0版本,这个版本的推出可以说是BW的转折点,因为它已经是一个成熟、稳定脱壳软件了,它可以对付当时(现在)大多数的壳,包括当时最新的FSE0.6等。
更重要的是这个版本把选择壳的和软件“分界线”这个最令新手头疼的步骤简化到不能再简化的地步,使更多的朋友接受了它。
另外,能加强BW功力的CI模式也是其它脱壳软件没有的东西。
最近,BW发表了最新的2.5BETA2版本,增强了一些方面的功能,因它竟然可以脱掉号称最厉害的磁盘加密工具LOCKKING2.0的加密壳,因而进一步奠定了它在“脱壳界”的地位。
说到最新,就不能不提GTR、LTR、EDUMP、ADUMP、UPS、UPX、APACK这几个国外的好软件了,它们每个都有自己的特色,可以说都是当今各类“壳”中的最新代表了。
(这些软件和详细介绍请到我的主页查阅)
由于WINDOWS3.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起始菜单的运行,键入
fiaa
第二种:
待侦测壳的软件(如aa.exe)和fi.exe位于同一目录下,将aa的图标拖到fi的图标上
2.侦测壳和软件所用编写语言的软件language.exe(两个功能
合为一体,很棒) 推荐language2000中文版,我的主页可下载
傻瓜式软件,运行后选取待侦测壳的软件即可(open)
脱壳教程2:
手动脱壳入门第一篇
【使用工具】Ollydbg1.10b,ImportREC1.6F
【破解平台】Win2000/XP
前言,作者写这篇文章只是举个例子,希望读者能够举一反三,看清思路.
本论坛中破解高手很多,不会手动脱壳者人数仍然不少。
有人会说,我有Unaspack,Caspr,ProcDump等众多脱壳工具,不会手动脱壳用工具脱就可以了。
但有部分壳如Asprotect1.23Rc4,本论坛高手仙剑(将自己加密壳伪装成C++),有漏洞,用Peid查壳,Ep区段写有Xj,用Od载入提示有壳,更有甚一些软件如大嘴日语加了四层壳,这些都是工具无法脱壳的。
随着加密壳的不断出现,基本壳都不会,高版本的加密壳以后脱壳盲根本无从入手。
所以,手动脱壳Crack必修。
手动脱壳的主要步骤是:
寻找入口点,转储(dump)程序,修复引入函数表(ImportTable)
现在的壳分压缩壳,和加密壳。
压缩壳目的是使文件大小变小,便于在网上传播。
并有一定的保护作用,你无法反汇编加壳程序。
加密壳目的是用各种手段保护软件不被脱壳,跟踪,文件大小不是它的目的,有的甚至变大。
判断加密壳压缩壳和普通程序分别很容易,用Ollydbg载入程序。
没加壳软件无任何提示。
加密