加壳与脱壳—verygod.doc_第1页
加壳与脱壳—verygod.doc_第2页
加壳与脱壳—verygod.doc_第3页
加壳与脱壳—verygod.doc_第4页
加壳与脱壳—verygod.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

加壳与脱壳 作者: verygod我写这篇东西的主要目的是让初到本站的新手们能对壳有个大概的认识,知道我每天说了些什么。限于本人的知识,如果有ERROR 之处,还请多原谅。如果你觉得还可以, 也欢迎转贴,但请保留文章的完整性和作者的资料。当然如果你想把它发表,硬塞些稿费给俺花花,我也不会拒绝的。)作为一个以壳为主的站台,如果连访者连什么是壳都不清楚的话,那我也太失败了。很早以前就想写编完全关于壳的文章,但苦于时间和文字水平的关系,都没提笔。本着对站台负责的态度,现在经过一天的努力,打出这编尝试由壳的历史一直谈到最新发展的本章来。 首先要认识脱壳.一切从壳开始 我写这篇东西的主要目的是让初到本站的新手们能对壳有个大概的认识,知道我每天说了些什么。限于本人的知识,如果有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月建起了一个专门介绍壳的站台: ;,放上了我所收集的所有壳类软件。在这段时间里,各种壳类软件也在不段的升级换代,但都没什么太大的进展,差不多就是 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.破解工具站点(以上工具从这里找)(guowai/2.软件站点/ (强烈推荐,这里能找到软件的各个版本,尤其是旧版本。以后破解例子中所用软件一般在这儿都能找到)五.国外破解站点-破解教程类:-1. +HCU Academy - http:/Tsehp(dot)cjb(dot)net (Academy - Best)2. The Krobar Collection: http:/K (Recommended)3. CoDe_InSiDe - (Mine/CoDes tutorials)4. Eternal_Bliss - (Visual-Basic)5. +Sandman - /thesandman/index2.html (Best - Recommended)6. Icezelions Win32Asm - (Coding)7. tHE Egoiste - http:/egoiste.da.ru (Great page with Crypto Stuff)8. CrackMes Page - (Recommended, dl all CrackMe from here)-破解工具类:-1. Programmers Tools - (Best)2. Play Tools - (Great)3. EXE Tools - / (Average)4. Aarons Tools - /per/aaron/index.htm (Average)5. http:/ProcD6. F7. (FileMon)8. .au/ajohnson/resourcehacker9. 10. (May be down)-破解组织类:-1. PGC - 2. The Millenium Group - http:/tmg.da.ru/ (Keygen Factory :-)3. HellForge - /4. The Cracking Answer - http:/tca2k.da.ru/5. Immortal Descendants - 6. TrickSoft - /tricksoft/7. DOOM - /Html/load.htm8. /五.作业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 )列表:名称 作者 主页 介绍 ASPackAlexe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论