壳,加壳,脱壳,介绍壳的一些基本常识.doc_第1页
壳,加壳,脱壳,介绍壳的一些基本常识.doc_第2页
壳,加壳,脱壳,介绍壳的一些基本常识.doc_第3页
壳,加壳,脱壳,介绍壳的一些基本常识.doc_第4页
壳,加壳,脱壳,介绍壳的一些基本常识.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

壳,加壳,脱壳,介绍壳的一些基本常识 免杀入门 2009-08-06 16:58 阅读7 评论0 字号: 大大 中中 小小 在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。 从功能上抽象,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密。当加壳后的文件执行时,壳这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。 软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。关于“壳”以及相关软件的发展历史请参阅吴先生的一切从“壳”开始。 (一)壳的概念 作者编好软件后,编译成exe可执行文件。 1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。 2.需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执行文件压缩, 3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。实现上述功能,这些软件称为加壳软件。 (二)加壳软件最常见的加壳软件 ASPACK ,UPX,PEcompact 不常用的加壳软件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)Pecompat: 用SOFTICE配合PEDUMP32来脱壳,但不要专业知识 (9)Petite:有一部分的老版本可以用PEDUMP32直接脱壳,新版本脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识 。 (10)WWpack32:和PECOMPACT一样其实有一部分的老版本可以用PEDUMP32直接脱壳,不过有时候资源无法修改,也就无法汉化,所以最好还是用SOFTICE配合 PEDUMP32脱壳 我们通常都会使用Procdump32这个通用脱壳软件,它是一个强大的脱壳软件,他可以解开绝大部分的加密外壳,还有脚本功能可以使用脚本轻松解开特定外壳的加密文件。另外很多时候我们要用到exe可执行文件编辑软件ultraedit。我们可以下载它的汉化注册版本,它的注册机可从网上搜到。ultraedit打开一个中文软件,若加壳,许多汉字不能被认出 ultraedit打开一个中文软件,若未加壳或已经脱壳,许多汉字能被认出 ultraedit可用来检验壳是否脱掉,以后它的用处还很多,请熟练掌握例如,可用它的替换功能替换作者的姓名为你的姓名注意字节必须相等,两个汉字替两个,三个替三个,不足处在ultraedit编辑器左边用00补。 常见的壳脱法: 1.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脱即可。 2.upx壳脱壳可用upx待脱壳的软件(如aa.exe)和upx.exe位于同一目录下,执行windows起始菜单的运行,键入upx -d aa.exe。 3.PEcompact壳 脱壳用unpecompact 使用方法类似lanuage傻瓜式软件,运行后选取待脱壳的软件即可。 4.procdump 万能脱壳但不精,一般不要用使用方法:运行后,先指定壳的名称,再选定欲脱壳软件,确定即可脱壳后的文件大于原文件由于脱壳软件很成熟,手动脱壳一般用不到。免杀过程中的总结 第一:我们学习免杀的方向:如果象本人一样,只是为了保护自己的黑软的话!就不会学的那么累(没必要去学汇编编程)有时候简单加下壳或者脱下壳就OK!如果是要挑战世界的杀毒软件的话,毕竟每个PC用户安装的杀软都不一样!想抓鸡拿服务器的朋友就要进修脱壳破解,高级汇编的内容了,这将决定你免杀技术的高低! 第二:免杀的环境:做免杀,逃不了测试这个木马是不是修改成功!所以为了保护自己的系统,我建议学免杀要先学会使用虚拟机,很多人会说,为什么不用影子?影子系统虽然也是可以保护的,暂用资源又少,但是有些反弹型木马,我们运行后如果失败(即使成功)都需要重启来完成完全清除的工作!做过QQ盗号木马跟黑鹰远控软件免杀的朋友应该深有体会! 第三:杀软的安装设置:个人建议安装卡巴,小红伞,瑞星,金山!(当然配置好的电脑可以再加上江民,麦咖啡)这里我为什么不说安装NOD32呢!本人以前装卡巴,小红伞,瑞星,金山的时候就为了装个NOD32而导致不能上网(后来修复)又发现权限有问题(部分程序竟然没权限运行.)只好在虚拟机里单独安装!所以也建议大家要装NOD32的话,还是在虚拟机里单独安装吧!硬盘大的朋友建议全利用虚拟机安装杀软(方便以后重做系统,节省升级病毒库的时间)杀软的设置,可以说是很简单的!每安装完一个杀软,我们都要先在杀软设置里把监控跟自我保护的选项的钩去掉!然后升级病毒库!升级完后再关闭服务跟启动项(利用360安全卫士)这样安装其他的杀软就不会起冲突了!这里注意下!瑞星升级后会自己更改自己的服务为自动,所以瑞星建议最后装,最后升级,再关闭它的服务!这里我想大家肯定是关心杀软的序列号从哪来的吧!瑞星有体验版,金山有37天试用版,NOD32利用PPLOVE网络电视有180天试用!卡巴等洋货在百度上搜索均有可用的序列号!这个就是考验大家的细心了!呵呵!卡巴不建议装6.0的,虽然我知道6.0的有的序列号可以用到3000年!但是查杀模式跟7.0大有不同!大家还是装7.0吧!(虽然卡巴的启发比不上NOD32的,但是它的主动可是免杀爱好者的“粉丝”) 第四:杀软的查杀特点: 卡巴:简单来说是靠主动吃饭的!他的病毒库虽然非常大!但是不知道为什么,简单的花指令竟然能破解它.虽然现在升级加了启发扫描但是我测试还是一个花就可以过!只要你的花有个性(别去网上找)加个壳改下壳头也可以过!瑞星:国内木马的超级对手可以这么说!对国内的木马定位的特征是洋货的N倍(鸽子见证)主要查杀技术是内存查杀技术,但是对一些生僻的木马,内存病毒库里竟然没有,只要过了表面就可以过内存.主动主杀敏感字符串,本人测试鸽子的时候改了表面跟内存特征,竟然直接过主动.广告卖的倒不错,但是只是针对流行木马!其他不常见木马并没有加大什么强度! NOD32:启发扫描的头领!主杀输入表函数,针对MYCCL定位器做过调整!定位建议用 multiCCL这个来定位!不过这个大块头对生僻壳的侦壳能力不强!加些生僻壳把一些函数保护起来可以让它无用武之地!对外国木马还行国内好多木马它都放行!国内朋友不建议装这个杀软(这类壳主要是加密型,不建议用压缩型)金山:数据流查杀技术的代表!简单来说跟瑞星内存查杀技术有点一样!病毒库升级,查杀病毒速度都是超级快!但是杀毒能力比较上面的几款有点逊色! 360与金山清理专家:行为查杀的代表,金山清理专家比360查杀力度还大!但是监控能力.实在不想说!以上可以说是所有集合杀软的特点:文件查杀,内存查杀,启发查杀,数据流查杀!行为查杀!主动防御!每个杀软都有自己的特点,一个人也不可能把全球杀软都安装起来研究,但是以上4个杀软跟一个辅助可以说全包括了病毒查杀特点!也不能说哪个不好,哪个很好!有些木马这个杀软杀不出来那个就可以杀出来!所以对于现在网上有些朋友对个别杀毒软件不重视,就会导致你所谓的“肉鸡”插翅难飞!嘻嘻! 第五:免杀所用工具简介(建议都去甲壳虫下载) 免杀其实用不了很多工具!但是我看一些朋友的免杀工具包真的好吓人. 1.Ollydbg: 32位的动态编译器,脱壳跟修改特征码必备工具! 2.C32Asm: 集反汇编,16进制,Hiew修改功能一体!但是真正用处只是修改驱动内核级木马Pcshre才用!平时的修改技巧后面再讲! 3.WinHex:16进制编辑工具!主要是内存编辑功能好用 4.TK.loader:定位内存特征的小工具 5.PEID:查壳工具 6.LordPE:PE编辑工具!脱壳,修改程序入口跟函数常用 7.PEditor:修改程序入口跟效验程序的 8.Resttorator:程序资源修改器!做免杀需要修改资源的时候杀用的最多(如鸽子)! 9.ResRcope:同上,有时候需要这个才可以导出,导入,修改资源!本人也不知道WHY? 10.FreeRes:针对资源的释放程序,可重建可编辑资源而实现加多重壳的目的! 11.ZeroAdd:加区段的工具 12.ImportREC:不常用!偶而用来修复输入表! 13.FixRes:跟FreeRes差不多,配合使用效果很好! 14.MYCCL:特征码定位器(1.1版本可以用来当点唱机- -!) 15.multiCCL:DOS界面的定位器,不怎么受欢迎!但是定位方法比MYCCL更好!更科学! 16.OC:偏移地址转换器 17.NOD32特征码转换器:不说也知道是干什么用吧- -! 18.VMUnpacker:超级巡警自动脱壳机!有时候要脱壳就找它! 19.FFI:超级巡警病毒分析工具!我一直当脱壳机用. 20.掘北压缩0.28免杀版:对瑞星有很好的效果,改下头对卡巴有疗效 21.ASProtect:卡巴金山的天敌! 22.免杀了一个月的花(公布出来就代表不免杀)push 数字 push ebp add esp,数字 add esp,-数字 pop ebppush -数字 mov EDI,EDI mov EDI,EDI noppush ebpmov ebp,esp -跳回去入口点吧! 以上是本人免杀学习过程中常用的工具!当然还有一些壳我没写!大家都知道!杀软查杀的力度!本人就不公布了!大家自己去找吧!生僻壳的效果绝对比改特征码好! 第六点:木马定位技巧! 网上很多这样的教程!这里我就简单说下!MYCCL那个带后缀意思就是定位表面不需要打上,定位内存就要打上钩!分块个数的原则是,看木马体积的大小!体积大的分块小点,体积小的分块大点!这样重复的次数就很少!还要看自己机子的配置,最大不能超200!估计会出错误吧!一般本人是先10-20-50-100!NOD32一直都是10块10块定完!分块长度就是字节数,一般都是精确到1!不过1-4之间都是可以的!填充,除了NOD32定位要改变成90外,其他的杀软都是00填充!开始位置一般都是CODE段!如果是被杀的比较紧的木马(如鸽子)就默认吧,全区段定位!呵呵!正向,这个是针对NOD32才改变!NOD32定位这里要改成反向!multiCCL定位器!本人很少用!只用来定位NOD32,所以本人不献丑了! 第七:修改特征码之OD应用学习 修改特征码建议先去学下OD的使用方法跟一些简单的汇编语句!8086手册不错! 修改一定要保持一个原则:堆栈平衡 1.顺序调换法如果我们发现一处特征都是同一个语句,如:PUSH 1 PUSH 2 PUSH 3 PUSH 4 而特征码是PUSH 2 我们可以尝试把34跟12的位置调换,其他语句也一样!一般都是MOV语句多! 2.NOP移位法如果我们发现特征码的上一句或者下一句有个0000或者NOP语句,我们可以把特征移动到0000或者NOP上面执行,而原位置直接NOP掉!这方法注意特征定在CALL上的!我们都要跟随所调用的程序去看看!说不定特征所调用的子程序的上句/下句就有NOP指令!也可以这样改,也有免杀效果! 3.通用跳转法超级简单好用的方法!加花的时候经常用!找出0000(PEID搜索O区域)把特征仍过去再跳回来原NOP掉的特征的下一句指令就可以达到效果. 4.等值替换法最难掌握的方法!需要一定的汇编知识!如;JE=JNZ ADD=AUB- 等等这里需要汇编指令速查手册帮助!当然,你修改多了以后就不需要了!改多了就会熟悉了!呵呵 CALL有时候可以尝试改成JMP!没有实现的跳转可以尝试NOP!碰到CALL语句一定要记的跟过去看看!JMP也一样!多看多练习,就会发现别人不知道的方法!第八:修改特征码之C32Asm应用用这个修改特征码,本人一直保持一个原则:非明文,都是乱码,不尝试修改! 1.大小写替换法如果特征定位特征在SVCHOST 这样很清楚的E文上,可以改大小写!如果跟过去是E文,跟旁边的字符一起选择一下就变乱码就不要改了 2.字符加1减1法等效与OD里的等值替换法!建议在OD操作!这方法容易使程序丢

温馨提示

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

评论

0/150

提交评论