什么叫脱壳
简介
在一些计算机软件里有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。 从功能上抽象,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密……。当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。 软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。关于“壳”以及相关软件的发展历史请参阅吴先生的《一切从“壳”开始》。
编辑本段壳的概念
作者编好软件后,编译成exe可执行文件。 1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。 2.需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执行文件压缩, 3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。实现上述功能,这些软件称为加壳软件。
编辑本段脱壳软件
软件加壳是作者写完软件后,为了保护自己的代码或维护软件产权等利益所常用到的手段。目前有很多加壳工具,既然有矛,自然就有盾,只要我们收集全常用脱壳工具,那就不怕他加壳了。软件脱壳有手动脱和自动脱壳之分,下面我们先介绍自动脱壳,因为手动脱壳需要运用汇编语言,要跟踪断点等,不适合初学者,但我们在后边将稍作介绍。 加壳一般属于软件加密,现在越来越多的软件经过压缩处理,给汉化带来许多不便,软件汉化爱好者也不得不学习掌握这种技能。现在脱壳一般分手动和自动两种,手动就是用TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和软件调试方面的知识。而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,如:ASPACK,就需要UNASPACK对付,好处是简单,缺点是版本更新了就没用了。另外脱壳就是用专门的脱壳工具来对付,最流行的是PROCDUMP v1.62 ,可对付目前各种压缩软件的压缩档。在这里介绍的是一些通用的方法和工具,希望对大家有帮助。我们知道文件的加密方式,就可以使用不同的工具、不同的方法进行脱壳。下面是我们常常会碰到的加壳方式及简单的脱壳措施,供大家参考: 脱壳的基本原则就是单步跟踪,只能往前,不能往后。脱壳的一般流程是:查壳->寻找OEP->Dump->修复 找OEP的一般思路如下: 先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常,找到对应的popad后就能到入口,跳到入口的方式一般为:jmp OEP、push OEP ret、call OEP,当然也有其它的,如 je OEP等等,一般都是段之间的大跳转,OD的反汇编窗口里都是同一个段的内容,所以更好区别是否是段间跳转。我们知道文件被一些压缩加壳软件加密,下一步我们就要分析加密软件的名称、版本。因为不同软件甚至不同版本加的壳,脱壳处理的方法都不相同。
望能帮到朋友你!
什么是加壳和脱壳
加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么东东。软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。当你加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当你执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。所以,这些的工作只是在内存中运行的,是不可以了解具体是怎么样在内存中运行的。通常说的对外壳加密,都是指很多网上免费或者非免费的软件,被一些专门的加壳程序加壳,基本上是对程序的压缩或者不压缩。因为有的时候程序会过大,需要压缩。但是大部分的程序是因为防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析。加密代码和数据,保护你的程序数据的完整性。不被修改或者窥视你程序的内幕。
脱壳,是完全破除压缩后软件无法编辑的限制,去掉头部的解压缩指令,然后解压出加壳前的完整软件。这样,你就可以对其“动刀”了。呵呵~~当然是和加壳相反。
什么是木马加壳
一.穿马甲—木马加壳的实现
什么是加壳?
所谓加壳.其实是指利用特殊的算法.对EXE. DLL文件里的资派进行压缩的方法.这个压绷之后的文件可以独立运行.解压过程完全a蔽.都在内存中完成。加壳一般有两种用途:
一是大部分的程序是因为防止反跟踪.防止程序被人跟踪调试,防止算法程序不思被别人静态分析。加密代码和数据.保护程序效据的完枯性,不被修改或者窥说程序的像代码。
二是将一些恶愈程序包装起来.进过杀雌软件的监视。从而实现自己的fl的.如加壳后的木马程序。显然.我们这里的加壳主要是针对第二种情况。
2.加壳实战
听起来.加壳是个很复杂的操作.但实际上我们并不循要自己去编写加壳程序来为谏程序进行加充。日蔺.成热的、免费的第三方加先程序非常多.如UPX. WWPACK等等。使用这些程序。只需进行简单的设置.就可以对自己的软件进行加壳。比方说灰鸽子的服务器端就是使用UPX加壳的。
那么.是不是加了壳的水马就能够成功的躲过任何杀毒软件的监控呢?事实上.在没有脱壳之前。的确能够发理壳内谏代码的杀毒软件还不多.但是一且加壳的木马被执行之后。完成了脱光的过程.那么跟踪内存的杀毒软件会很快的发现内存中正在运行中的木马.最后将之杀掉。实际上。国内很多杀毒软件已经拿握了检洲加壳恶愈程序的技术。如.在从服务器中下载加壳的木马服务器端程序时.就会弹出如I'd所示的提示。
从图中可以粉出.Setup.cxe文件中包括了加壳技术已经被检侧出来了。那么.恶愈程序是如何实现加光的呢?木马加壳的技术实际上很简单.当一个服务器劝的EXE程序生成好后.111以很轻松地利用ASPACK, UPX, WWPACK等这些第三方的程序进行加壳操作。下面.让我们来村肴如何使用AS Pack汉化版对一个程序进行加壳,其体过程是:
第1步:下载ASPack汉化版.
第2步:在“选项.设it界面中.在语言一列表中选择"Chinese"项.使软件界面转为汉化形式.如图所示。
第3步:在“打开文件一界面中.将准备进行加壳的程序添加进来.这哄添加的是压编程序Winter.如图所示。
第4步:在完成软件的添加后.将立即跳转到.压缩’界面中,此时可以肴到软件的加光操作己经开始。如图所示。
第5步:在完成加壳后.可以单击“压缩.界面中的.侧试.按钮.侧试一下加了壳后的程序能否运行。如果出现程序界面.荆表示加壳成功。如果是对恶愈程序进行加壳.一般就不要点击了.否."1稗后工作将会很萦琐。如图所示。
与加壳相反的过程称之为.脱壳二n的是把加壳后的程序恢艾成毫无包装的可执行代码,这样未授权都可以对其进行修改。“脱壳’的过程与.加壳,的探作栩似.沮不同是的“加壳.
软件.需要使用不间的“脱壳.软件。人役者必裕知进目标程序使用的是哪种.加光,软件进行加壳的.然后再用对应的“脱充.软件进行脱壳即可。简单地来说.加壳与脱壳就相当于加密和
解密的关系。
什么是木马加壳?
一.穿马甲—木马加壳的实现
什么是加壳?
所谓加壳.其实是指利用特殊的算法.对EXE. DLL文件里的资派进行压缩的方法.这个压绷之后的文件可以独立运行.解压过程完全a蔽.都在内存中完成。加壳一般有两种用途:
一是大部分的程序是因为防止反跟踪.防止程序被人跟踪调试,防止算法程序不思被别人静态分析。加密代码和数据.保护程序效据的完枯性,不被修改或者窥说程序的像代码。
二是将一些恶愈程序包装起来.进过杀雌软件的监视。从而实现自己的fl的.如加壳后的木马程序。显然.我们这里的加壳主要是针对第二种情况。
2.加壳实战
听起来.加壳是个很复杂的操作.但实际上我们并不循要自己去编写加壳程序来为谏程序进行加充。日蔺.成热的、免费的第三方加先程序非常多.如UPX. WWPACK等等。使用这些程序。只需进行简单的设置.就可以对自己的软件进行加壳。比方说灰鸽子的服务器端就是使用UPX加壳的。
那么.是不是加了壳的水马就能够成功的躲过任何杀毒软件的监控呢?事实上.在没有脱壳之前。的确能够发理壳内谏代码的杀毒软件还不多.但是一且加壳的木马被执行之后。完成了脱光的过程.那么跟踪内存的杀毒软件会很快的发现内存中正在运行中的木马.最后将之杀掉。实际上。国内很多杀毒软件已经拿握了检洲加壳恶愈程序的技术。如.在从服务器中下载加壳的木马服务器端程序时.就会弹出如I'd所示的提示。
从图中可以粉出.Setup.cxe文件中包括了加壳技术已经被检侧出来了。那么.恶愈程序是如何实现加光的呢?木马加壳的技术实际上很简单.当一个服务器劝的EXE程序生成好后.111以很轻松地利用ASPACK, UPX, WWPACK等这些第三方的程序进行加壳操作。下面.让我们来村肴如何使用AS Pack汉化版对一个程序进行加壳,其体过程是:
第1步:下载ASPack汉化版.
第2步:在“选项.设it界面中.在语言一列表中选择"Chinese"项.使软件界面转为汉化形式.如图所示。
第3步:在“打开文件一界面中.将准备进行加壳的程序添加进来.这哄添加的是压编程序Winter.如图所示。
第4步:在完成软件的添加后.将立即跳转到.压缩’界面中,此时可以肴到软件的加光操作己经开始。如图所示。
第5步:在完成加壳后.可以单击“压缩.界面中的.侧试.按钮.侧试一下加了壳后的程序能否运行。如果出现程序界面.荆表示加壳成功。如果是对恶愈程序进行加壳.一般就不要点击了.否."1稗后工作将会很萦琐。如图所示。
与加壳相反的过程称之为.脱壳二n的是把加壳后的程序恢艾成毫无包装的可执行代码,这样未授权都可以对其进行修改。“脱壳’的过程与.加壳,的探作栩似.沮不同是的“加壳.
软件.需要使用不间的“脱壳.软件。人役者必裕知进目标程序使用的是哪种.加光,软件进行加壳的.然后再用对应的“脱充.软件进行脱壳即可。简单地来说.加壳与脱壳就相当于加密和
解密的关系。
脱壳什么意思
问题一:脱壳是什么意思? 所谓加壳,是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩、加密驱动程序),以达到缩小文件体积或加密程序编码的目的。
当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序,这就是我们找OEP的原因了。一切操作自动完成,用户不知道也无需知道壳程序是如何运行的。一般情况下,加壳程序和未加壳程序的运行结果是一样的。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,就把这样的程序称为“壳”了。
(PS:壳是指在一个程序的外面加上另外一段代码,保护里面的代触不被非法修改或者反编译。)
脱壳:
加壳的程序运行时必须还原成原始形态,就是加壳程序运行后必须进行解压加密的代码然后还原到程序的文件头。所以我们可以用OD跟踪到OEP的原因。这个时候我们就可以抓取(Dump)内存中的镜像,再重构成标准的执行文件。这样我们就脱壳了。
(PS:现在的加密壳更复杂一点,需要我们考虑的东西就更多了,比如代码加密变形(VM)。)
问题二:脱壳是什么意思啊 在自然界中,我想大家对壳这东西应该都不会陌生的,植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的壳。它们一般都是先于程序运行,拿到控制权,然后做保护软件的工作。动植物的壳一般都是在身体外面同样软件的壳也是如此,但后来也出现了所谓的“壳中带籽”的壳。 sq120 推荐文章 从“壳”又延伸出“加壳”和“脱壳”两个词汇,“加壳”指的是对编译好的EXE、DLL等文件采用加壳来进行保护;“脱壳”指的就是将文件外边的壳去除,恢复文件没有加壳前的状态。 壳出于程序作者想对程序资源压缩、注册保护的目的,把壳分为压缩壳、密码壳、加密壳三种。顾名思义,压缩壳只是为了减小程序体积对资源进行压缩,常见的压缩壳包括FSG、ASPack、UPX、北斗等;加密壳也就是常说的保护壳、猛壳,它对程序输入表等内容进行加密保护,具有良好的保护效果,常见的加密壳包括ASPROTECT、ACPROTECT、PELock、幻影等;密码壳平时使用得不多,加密壳的程序只有在正确输入密码后才能运行。案例 如今黑客使用病毒加壳,主要是对使用的木马等恶意程序进行保护,从而避免它们被杀毒软件所查杀。比如大名鼎鼎的冰河木马,原版本被作者用UPX加壳,可是这种加壳方式已经被杀毒软件列入封杀名单。 所以人们现在要使用冰河的时候,首先需要将原来的UPX壳脱掉,接着通过修改特征码、修改程序入口地址、加花指令等不同的方法进行免杀操作,然后再加壳进行保护,这样一个免杀的冰河木马就诞生了。当然有的人可能不会去进行麻烦的免杀操作,所以只要对脱壳的服务端程序进行多层加壳即可,不过一般都是先加加密壳,再加压缩壳,顺序不能颠倒。简单防御方法 有人说过:壳之初,性本善。本来壳的诞生是为了帮助程序作者更好地保护自己编写的程序,但谁知道现在却成为了黑客的帮凶,为此我们更应该做好防范。 (一)通过Windows注册表监视工具对注册表的变化进行及时的监控,比如Regmon等,可以很好的实时监视并显示对整个系统注册表的访问,让用户了解某些恶意程序在系统运行后的状况。 (二)建立良好的安全习惯,不要打开一些来历不明的邮件及网页链接,不要到不确定的网页地址浏览及下载文件等。如果有可能的话,最好是在使用以前对文件的MD5值进行对比,防止黑客恶意对文件进行捆绑
问题三:凡人脱壳是什么意思 凡人脱壳有两种相反的意思,总纲都是已经不是人了,是灵魂脱离了肉体凡胎。意思一:翘辫子啦,肉体离开了驱壳做鬼去了;意思二:成仙啦,肉体脱离了驱壳,升天成神仙啦。
问题四:脱壳是什么意思 查壳是检测软件有没有被保护脱壳是解除称为壳的软件的保护通过编程语言编程出来的软件是没有壳的,骇客们可以通过一些软件随便修改该软件。而软件制作者不希望自己的软件被修改,通过在该软件外围编写一些代码修改该软件以保护自己软件不会被非法修改(破解!)这就是壳,市面上有一些现成的加壳软件,所以很少有人自己写壳保护自己的软件壳保护是一门很深的技术
问题五:给软件脱壳是什么意思?怎么给软件脱壳?如题 谢谢了 对软件加壳的逆操作,把软件上存在的壳去掉。在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。 要给软件脱壳可以选万能脱壳机,万能脱壳机采用的是ap0x编写的脱壳引擎,目前支持ASPack2.12,FsG2.x,UPX1.x-2.x的壳你可以到霏凡网站上搜一下还有很多看你需要哪一种了
问题六:脱壳是什么意思? 所谓加壳,是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩、加密驱动程序),以达到缩小文件体积或加密程序编码的目的。
当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序,这就是我们找OEP的原因了。一切操作自动完成,用户不知道也无需知道壳程序是如何运行的。一般情况下,加壳程序和未加壳程序的运行结果是一样的。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,就把这样的程序称为“壳”了。
(PS:壳是指在一个程序的外面加上另外一段代码,保护里面的代触不被非法修改或者反编译。)
脱壳:
加壳的程序运行时必须还原成原始形态,就是加壳程序运行后必须进行解压加密的代码然后还原到程序的文件头。所以我们可以用OD跟踪到OEP的原因。这个时候我们就可以抓取(Dump)内存中的镜像,再重构成标准的执行文件。这样我们就脱壳了。
(PS:现在的加密壳更复杂一点,需要我们考虑的东西就更多了,比如代码加密变形(VM)。)
问题七:脱壳是什么意思啊 在自然界中,我想大家对壳这东西应该都不会陌生的,植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的壳。它们一般都是先于程序运行,拿到控制权,然后做保护软件的工作。动植物的壳一般都是在身体外面同样软件的壳也是如此,但后来也出现了所谓的“壳中带籽”的壳。 sq120 推荐文章 从“壳”又延伸出“加壳”和“脱壳”两个词汇,“加壳”指的是对编译好的EXE、DLL等文件采用加壳来进行保护;“脱壳”指的就是将文件外边的壳去除,恢复文件没有加壳前的状态。 壳出于程序作者想对程序资源压缩、注册保护的目的,把壳分为压缩壳、密码壳、加密壳三种。顾名思义,压缩壳只是为了减小程序体积对资源进行压缩,常见的压缩壳包括FSG、ASPack、UPX、北斗等;加密壳也就是常说的保护壳、猛壳,它对程序输入表等内容进行加密保护,具有良好的保护效果,常见的加密壳包括ASPROTECT、ACPROTECT、PELock、幻影等;密码壳平时使用得不多,加密壳的程序只有在正确输入密码后才能运行。案例 如今黑客使用病毒加壳,主要是对使用的木马等恶意程序进行保护,从而避免它们被杀毒软件所查杀。比如大名鼎鼎的冰河木马,原版本被作者用UPX加壳,可是这种加壳方式已经被杀毒软件列入封杀名单。 所以人们现在要使用冰河的时候,首先需要将原来的UPX壳脱掉,接着通过修改特征码、修改程序入口地址、加花指令等不同的方法进行免杀操作,然后再加壳进行保护,这样一个免杀的冰河木马就诞生了。当然有的人可能不会去进行麻烦的免杀操作,所以只要对脱壳的服务端程序进行多层加壳即可,不过一般都是先加加密壳,再加压缩壳,顺序不能颠倒。简单防御方法 有人说过:壳之初,性本善。本来壳的诞生是为了帮助程序作者更好地保护自己编写的程序,但谁知道现在却成为了黑客的帮凶,为此我们更应该做好防范。 (一)通过Windows注册表监视工具对注册表的变化进行及时的监控,比如Regmon等,可以很好的实时监视并显示对整个系统注册表的访问,让用户了解某些恶意程序在系统运行后的状况。 (二)建立良好的安全习惯,不要打开一些来历不明的邮件及网页链接,不要到不确定的网页地址浏览及下载文件等。如果有可能的话,最好是在使用以前对文件的MD5值进行对比,防止黑客恶意对文件进行捆绑
问题八:凡人脱壳是什么意思 凡人脱壳有两种相反的意思,总纲都是已经不是人了,是灵魂脱离了肉体凡胎。意思一:翘辫子啦,肉体离开了驱壳做鬼去了;意思二:成仙啦,肉体脱离了驱壳,升天成神仙啦。
问题九:脱壳是什么意思 查壳是检测软件有没有被保护脱壳是解除称为壳的软件的保护通过编程语言编程出来的软件是没有壳的,骇客们可以通过一些软件随便修改该软件。而软件制作者不希望自己的软件被修改,通过在该软件外围编写一些代码修改该软件以保护自己软件不会被非法修改(破解!)这就是壳,市面上有一些现成的加壳软件,所以很少有人自己写壳保护自己的软件壳保护是一门很深的技术
"脱壳"是表示什么意思?
分类: 电脑/网络 >> 反病毒
解析:
什么是脱壳技术?
在一些计算机软件里有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。 从功能上抽象,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密……。当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。 软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。关于“壳”以及相关软件的发展历史请参阅吴先生的《一切从“壳”开始》。
(一)壳的概念
作者编好软件后,编译成exe可执行文件。 1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。 2.需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执行文件压缩, 3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。实现上述功能,这些软件称为加壳软件。
(二)加壳软件最常见的加壳软件ASPACK ,UPX,PEpact 不常用的加壳软件WWPACK32;PE-PACK ;PETITE NEOLITE
(三)侦测壳和软件所用编写语言的软件,因为脱壳之前要查他的壳的类型。 1.侦测壳的软件fileinfo.exe 简称fi.exe(侦测壳的能力极强) 2.侦测壳和软件所用编写语言的软件language.exe(两个功能合为一体,很棒) 推荐language2000中文版(专门检测加壳类型) 3.软件常用编写语言Delphi,VisualBasic(VB)---最难破,VisualC(VC)
(四)脱壳软件。 软件加壳是作者写完软件后,为了保护自己的代码或维护软件产权等利益所常用到的手段。目前有很多加壳工具,当然有盾,自然就有矛,只要我们收集全常用脱壳工具,那就不怕他加壳了。软件脱壳有手动脱和自动脱壳之分,下面我们先介绍自动脱壳,因为手动脱壳需要运用汇编语言,要跟踪断点等,不适合初学者,但我们在后边将稍作介绍。
加壳一般属于软件加密,现在越来越多的软件经过压缩处理,给汉化带来许多不便,软件汉化爱好者也不得不学习掌握这种技能。现在脱壳一般分手动和自动两种,手动就是用TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和软件调试方面的知识。而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,如:ASPACK,就需要UNASPACK对付,好处是简单,缺点是版本更新了就没用了。另外脱壳就是用专门的脱壳工具来对付,最流行的是PROCDUMP v1.62 ,可对付目前各种压缩软件的压缩档。在这里介绍的是一些通用的方法和工具,希望对大家有帮助。我们知道文件的加密方式,就可以使用不同的工具、不同的方法进行脱壳。下面是我们常常会碰到的加壳方式及简单的脱壳措施,供大家参考: 脱壳的基本原则就是单步跟踪,只能往前,不能往后。脱壳的一般流程是:查壳->寻找OEP->Dump->修复 找OEP的一般思路如下: 先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常,找到对应的popad后就能到入口,跳到入口的方式一般为。 我们知道文件被一些压缩加壳软件加密,下一步我们就要分析加密软件的名称、版本。因为不同软件甚至不同版本加的壳,脱壳处理的方法都不相同。
常用脱壳工具: 1、文件分析工具(侦测壳的类型):Fi,GetTyp,peid,pe-scan, 2、OEP入口查找工具:SoftICE,TRW,ollydbg,loader,peid 3、dump工具:IceDump,TRW,PEditor,ProcDump32,LordPE 4、PE文件编辑工具PEditor,ProcDump32,LordPE 5、重建Import Table工具:ImportREC,ReVirgin 6、ASProtect脱壳专用工具:Caspr(ASPr V1.1-V1.2有效),Rad(只对ASPr V1.1有效),loader,peid(1)Aspack: 用的最多,但只要用UNASPACK或PEDUMP32脱壳就行了 (2)ASProtect+aspack:次之,国外的软件多用它加壳,脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识,但最新版现在暂时没有办法。 (3)Upx: 可以用UPX本身来脱壳,但要注意版本是否一致,用-D 参数 (4)Armadill: 可以用SOFTICE+ICEDUMP脱壳,比较烦 (5)Dbpe: 国内比较好的加密软件,新版本暂时不能脱,但可以破解 (6)NeoLite: 可以用自己来脱壳 (7)Pcguard: 可以用SOFTICE+ICEDUMP+FROGICE来脱壳 (8)Pepat: 用SOFTICE配合PEDUMP32来脱壳,但不要专业知识 (9)Petite: 有一部分的老版本可以用PEDUMP32直接脱壳,新版本脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识 (10)WWpack32: 和PECOMPACT一样其实有一部分的老版本可以用PEDUMP32直接脱壳,不过有时候资源无法修改,也就无法汉化,所以最好还是用SOFTICE配合 PEDUMP32脱壳 我们通常都会使用Procdump32这个通用脱壳软件,它是一个强大的脱壳软件,他可以解开绝大部分的加密外壳,还有脚本功能可以使用脚本轻松解开特定外壳的加密文件。另外很多时候我们要用到exe可执行文件编辑软件ultraedit。我们可以下载它的汉化注册版本,它的注册机可从网上搜到。ultraedit打开一个中文软件,若加壳,许多汉字不能被认出 ultraedit打开一个中文软件,若未加壳或已经脱壳,许多汉字能被认出 ultraedit可用来检验壳是否脱掉,以后它的用处还很多,请熟练掌握例如,可用它的替换功能替换作者的姓名为你的姓名注意字节必须相等,两个汉字替两个,三个替三个,不足处在ultraedit编辑器左边用00补。
常见的壳脱法:
(一)aspack壳 脱壳可用unaspack或caspr 1.unaspack ,使用方法类似lanuage,傻瓜式软件,运行后选取待脱壳的软件即可. 缺点:只能脱aspack早些时候版本的壳,不能脱高版本的壳 2.caspr第一种:待脱壳的软件(如aa.exe)和caspr.exe位于同一目录下,执行windows起始菜单的运行,键入 caspr aa.exe脱壳后的文件为aa.ex_,删掉原来的aa.exe,将aa.ex_改名为aa.exe即可。使用方法类似fi 优点:可以脱aspack任何版本的壳,脱壳能力极强缺点:Dos界面。第二种:将aa.exe的图标拖到caspr.exe的图标上***若已侦测出是aspack壳,用unaspack脱壳出错,说明是aspack高版本的壳,用caspr脱即可。 (二)upx壳 脱壳可用upx待脱壳的软件(如aa.exe)和upx.exe位于同一目录下,执行windows起始菜单的运行,键入upx -d aa.exe (三)PEpact壳 脱壳用unpepact 使用方法类似lanuage傻瓜式软件,运行后选取待脱壳的软件即可 (四)procdump 万能脱壳但不精,一般不要用 使用方法:运行后,先指定壳的名称,再选定欲脱壳软件,确定即可脱壳后的文件大于原文件由于脱壳软件很成熟,手动脱壳一般用不到。
三、压缩与脱壳
现在脱壳一般分手动和自动两种,手动就是用TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求。而自动就稍好些,用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,如:ASPACK,就需要UNASPACK对付。很多文件使用了一些压缩加壳软件加密过,这就需要对文件进行解压脱壳处理后,才能汉化。这种压缩与我们平时接触的压缩工具如winzip,winrar等压缩不同,winzip和winrar等压缩后的文件不能直接执行,而这种 EXE 压缩软件,EXE文件压缩后,仍可以运行。这种压缩工具把文件压缩后,会在文件开头一部分,加了一段解压代码。执行时该文件时,该代码先执行解压还原文件,不过这些都是在内存中完成的,由于微机速度快,我们基本感觉不出有什么不同。这样的程序很多,如 The bat,Acdsee,Winxfile等等。
要脱壳就应先了解常用压缩工具有哪些,这样知己知彼,如今越来越多的软件商喜欢用压缩方式发行自己的产品,如The bat!用UPX压缩,ACDSEE3.0用ASPACK压缩等。它有以下因素:一是:微机性能越来越好,执行过程中解压使人感觉不出来,用户能接受(给软件加壳,类似WINZIP 的效果,只不过这个加壳压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么异常。因为软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。)。 二是:压缩后软件体积缩小,便于网络传输。三是:增加破解的难度。首先,加壳软件不同于一般的winzip,winrar等压缩软件.它是压缩exe可执行文件的,压缩后的文件可以直接运行.而winzip,winrar等压缩软件可压缩任何文件,但压缩后不能直接运行。很多站点不允许上传可执行文件,而只能上传压缩的文件,一方面处于速度考虑,也是为了安全性考虑。用加壳软件压缩的文件就是体积缩小,别的性质没改变。还是EXE文件,仍可执行,只是运行过程和以前不一样了。压缩工具把文件压缩后,在文件开头一部分,加了一段解压代码。执行时该文件时,该代码先执行解压还原文件,不过这些都是在内存中完成的,由于微机速度快,我们基本感觉不出有什么不同。