介绍下加壳识别壳破壳的方法

上传人:第*** 文档编号:32743383 上传时间:2018-02-12 格式:DOC 页数:14 大小:57.50KB
返回 下载 相关 举报
介绍下加壳识别壳破壳的方法_第1页
第1页 / 共14页
介绍下加壳识别壳破壳的方法_第2页
第2页 / 共14页
介绍下加壳识别壳破壳的方法_第3页
第3页 / 共14页
介绍下加壳识别壳破壳的方法_第4页
第4页 / 共14页
介绍下加壳识别壳破壳的方法_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《介绍下加壳识别壳破壳的方法》由会员分享,可在线阅读,更多相关《介绍下加壳识别壳破壳的方法(14页珍藏版)》请在金锄头文库上搜索。

1、介绍下加壳、脱壳以及如何病毒免杀技术与原理(2008-5-26 18:19:00)【收藏】 【评论】 【打印】 【关闭】 标签:加壳 脱壳 病毒免杀技术 介绍下加壳、脱壳以及如何病毒免杀技术与原理在自然界中,我想大家对壳这东西应该都不会陌生了,由上述故事,我们也可见一斑。自然界中植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方

2、,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。 从功能上抽象,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密。当加壳后的文件执行时,壳这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。 软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的 OEP(入口点,防止被破解)。关于“壳”以及相关软件的发展历史请参阅吴先生的一切从“壳”开始。 (一)壳的概念 作者

3、编好软件后,编译成 exe可执行文件。1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。2.需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将 exe可执行文件压缩, 3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。实现上述功能,这些软件称为加壳软件。 (二)加壳软件最常见的加壳软件ASPACK ,UPX,PEcompact 不常用的加壳软件 WWPACK32;PE-PACK ;PETITE NEOLITE(三)侦测壳和软件所用编写语言的软件因为脱壳之前要查他的壳的类型。 1.侦测壳的软件 fileinfo.

4、exe 简称 fi.exe(侦测壳的能力极强)。 2.侦测壳和软件所用编写语言的软件 language.exe(两个功能合为一体,很棒),推荐language2000中文版(专门检测加壳类型)。 3.软件常用编写语言 Delphi,VisualBasic(VB)-最难破,VisualC(VC)。 (四)脱壳软件 软件加壳是作者写完软件后,为了保护自己的代码或维护软件产权等利益所常用到的手段。目前有很多加壳工具,当然有盾,自然就有矛,只要我们收集全常用脱壳工具,那就不怕他加壳了。软件脱壳有手动脱和自动脱壳之分,下面我们先介绍自动脱壳,因为手动脱壳需要运用汇编语言,要跟踪断点等,不适合初学者,但我

5、们在后边将稍作介绍。 加壳一般属于软件加密,现在越来越多的软件经过压缩处理,给汉化带来许多不便,软件汉化爱好者也不得不学习掌握这种技能。现在脱壳一般分手动和自动两种,手动就是用 TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和软件调试方面的知识。而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,如:ASPACK,就需要 UNASPACK对付,好处是简单,缺点是版本更新了就没用了。另外脱壳就是用专门的脱壳工具来对付,最流行的是 PROCDUMP v1.62 ,可对付目前

6、各种压缩软件的压缩档。在这里介绍的是一些通用的方法和工具,希望对大家有帮助。我们知道文件的加密方式,就可以使用不同的工具、不同的方法进行脱壳。下面是我们常常会碰到的加壳方式及简单的脱壳措施,供大家参考: 脱壳的基本原则就是单步跟踪,只能往前,不能往后。脱壳的一般流程是:查壳-寻找 OEP-Dump-修复 找 OEP的一般思路如下: 先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常,找到对应的 popad后就能到入口,跳到入口的方式一般为。 我们知道文件被一些压缩加壳软件加密,下一步我们就要分析加密软件的名称、版本。因为不同软件甚至不同版本加的壳,脱壳处理的方法都不相同。 常用脱壳

7、工具: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: 用的最

8、多,但只要用 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)Pecompa

9、t: 用 SOFTICE配合 PEDUMP32来脱壳,但不要专业知识 (9)Petite: 有一部分的老版本可以用 PEDUMP32直接脱壳,新版本脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识 。(10)WWpack32: 和 PECOMPACT一样其实有一部分的老版本可以用 PEDUMP32直接脱壳,不过有时候资源无法修改,也就无法汉化,所以最好还是用 SOFTICE配合 PEDUMP32 脱壳我们通常都会使用 Procdump32这个通用脱壳软件,它是一个强大的脱壳软件,他可以解开绝大部分的加密外壳,还有脚本功能可以使用脚本轻松解开特定外壳的加密文件。另外很多时候我们要

10、用到exe可执行文件编辑软件 ultraedit。我们可以下载它的汉化注册版本,它的注册机可从网上搜到。ultraedit打开一个中文软件,若加壳,许多汉字不能被认出 ultraedit 打开一个中文软件,若未加壳或已经脱壳,许多汉字能被认出 ultraedit 可用来检验壳是否脱掉,以后它的用处还很多,请熟练掌握例如,可用它的替换功能替换作者的姓名为你的姓名注意字节必须相等,两个汉字替两个,三个替三个,不足处在 ultraedit编辑器左边用 00补。 常见的壳脱法:1.aspack壳 脱壳可用 unaspack或 caspr 1.unaspack ,使用方法类似 lanuage,傻瓜式软件

11、,运行后选取待脱壳的软件即可. 缺点:只能脱 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高版本的壳,

12、用 caspr脱即可。 2.upx壳 脱壳可用 upx待脱壳的软件(如 aa.exe)和 upx.exe位于同一目录下,执行 windows起始菜单的运行,键入 upx -d aa.exe。 3.PEcompact壳 脱壳用 unpecompact 使用方法类似 lanuage傻瓜式软件,运行后选取待脱壳的软件即可。 4.procdump 万能脱壳但不精,一般不要用 使用方法:运行后,先指定壳的名称,再选定欲脱壳软件,确定即可脱壳后的文件大于原文件由于脱壳软件很成熟,手动脱壳一般用不到。一.关于免杀的来源为了让我们的木马在各种杀毒软件的威胁下活的更久.二.什么叫免杀和查杀可分为二类:1.文件免

13、杀和查杀:不运行程序用杀毒软件进行对该程序的扫描,所得结果。2.内存的免杀和查杀:判断的方法 1运行后,用杀毒软件的内存查杀功能.2用 OD载入,用杀毒软件的内存查杀功能.三.什么叫特征码1.含意:能识别一个程序是一个病毒的一段不大于 64字节的特征串.2.为了减少误报率,一般杀毒软件会提取多段特征串,这时,我们往往改一处就可达到免杀效果,当然有些杀毒软件要同时改几处才能免杀.(这些方法以后详细介绍)3.下面用一个示意图来具体来了解一下特征码的具体概念四.特征码的定位与原理1.特征码的查找方法:文件中的特征码被我们填入的数据(比如 0)替换了,那杀毒软件就不会报警,以此确定特征码的位置2.特征

14、码定位器的工作原理:原文件中部分字节替换为 0,然后生成新文件,再根据杀毒软件来检测这些文件的结果判断特征码的位置五.认识特征码定位与修改的工具1.CCL(特征码定位器)2.OOydbg (特征码的修改)3.OC用于计算从文件地址到内存地址的小工具.4.UltaEdit-32(十六进制编辑器,用于特征码的手工准确定位或修改)六.特征码修改方法特征码修改包括文件特征码修改和内存特征码修改,因为这二种特征码的修改方法是通用的。所以就对目前流行的特征码修改方法作个总节。方法一:直接修改特征码的十六进制法1.修改方法:把特征码所对应的十六进制改成数字差 1或差不多的十六进制.2.适用范围:一定要精确定

15、位特征码所对应的十六进制,修改后一定要测试一下能否正常使用.方法二:修改字符串大小写法1.修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了.2.适用范围:特征码所对应的内容必需是字符串,否则不能成功.方法三:等价替换法1.修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令.2.适用范围:特征码中必需有可以替换的汇编指令.比如 JN,JNE 换成 JMP等.如果和我一样对汇编不懂的可以去查查 8080汇编手册. 方法四:指令顺序调换法1.修改方法:把具有特征码的代码顺序互换一下.2.适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行方法五:通用跳转法1

16、.修改方法:把特征码移到零区域(指代码的空隙处),然后一个 JMP又跳回来执行.2.适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法.七.木马免杀的综合修改方法文件免杀方法:1.加冷门壳2.加花指令3.改程序入口点4.改木马文件特征码的 5种常用方法5.还有其它的几种免杀修改技巧 内存免杀方法:修改内存特征码:方法 1直接修改特征码的十六进制法方法 2修改字符串大小写法方法 3等价替换法方法 4指令顺序调换法方法 5通用跳转法木马的免杀学用 CLL定位文件和内存特怔码1.首先我们来看下什么叫文件特征码.一般我们可以这样认为,一个木马程序在不运行的情况下,用杀毒软件查杀,若报警为病毒,说明存在该查毒软件的文件特征码的。2.特征码的二种定位方法.手动定位和自动定位3.文件特征码的定位技巧.通常用手动确定大范围,用自动精确定位小范围.下面分别用瑞星和卡巴为例,实例演示并结合手动定位和自动定位二种方法来准确定位文件特征码。要定位的对像以下载者为例。用卡巴来定位文件特征码.手

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号