
壳,加壳,脱壳,介绍壳的一些基本常识
免杀入门2009-08-0616:58阅读7评论0字号:大大中中小小在一些计算
机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序
运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一
样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能
上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病
毒和自然界的病毒一样,其实都是命名上的方法罢了。
从功能上抽象,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技
术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被
压缩、加密„„。当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加
密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。软件的壳分为加密壳、
压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。
关于“壳”以及相关软件的发展历史请参阅吴先生的《一切从“壳”开始》。
(一)壳的概念
作者编好软件后,编译成exe可执行文件。
1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件
不被破解,通常都是采用加壳来进行保护。
2.需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执
行文件压缩,
3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。实现上述功能,这些软件称为加壳软
件。
(二)加壳软件最常见的加壳软件
ASPACK,UPX,PEcompact不常用的加壳软件WWPACK32;PE-PACK;PETITENEOLITE
(三)侦测壳和软件所用编写语言的软件
因为脱壳之前要查他的壳的类型。
1.侦测壳的软件简称(侦测壳的能力极强)。
2.侦测壳和软件所用编写语言的软件(两个功能合为一体,很棒),推荐
language2000中文版(专门检测加壳类型)。
3.软件常用编写语言Delphi,VisualBasic(VB)---最难破,VisualC(VC)。
(四)脱壳软件
软件加壳是作者写完软件后,为了保护自己的代码或维护软件产权等利益所常用到的手段。
目前有很多加壳工具,当然有盾,自然就有矛,只要我们收集全常用脱壳工具,那就不怕他
加壳了。软件脱壳有手动脱和自动脱壳之分,下面我们先介绍自动脱壳,因为手动脱壳需要
运用汇编语言,要跟踪断点等,不适合初学者,但我们在后边将稍作介绍。
加壳一般属于软件加密,现在越来越多的软件经过压缩处理,给汉化带来许多不便,软件
汉化爱好者也不得不学习掌握这种技能。现在脱壳一般分手动和自动两种,手动就是用
TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和
软件调试方面的知识。而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写
的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,如:ASPACK,
就需要UNASPACK对付,好处是简单,缺点是版本更新了就没用了。另外脱壳就是用专门的脱
壳工具来对付,最流行的是PROCDUMPv1.62,可对付目前各种压缩软件的压缩档。在这里
介绍的是一些通用的方法和工具,希望对大家有帮助。
我们知道文件的加密方式,就可以使用不同的工具、不同的方法进行脱壳。下面是我们常
常会碰到的加壳不再英文 方式及简单的脱壳措施,供大家参考:脱壳的基本原则就是单步跟踪,只能
往前,不能往后。脱壳的一般流程是:查壳->寻找OEP->Dump->修复找OEP的一般思路如下:
先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常,找到对应的popad
后就能到入口,跳到入口的方式一般为。我们知道文件被一些压缩加壳软件加密,下一步我
们就要分析加密软件的名称、版本。因为不同软件甚至不同版本加的壳,脱壳处理的方法都
不相同。
常用脱壳工具:
1.文件分析工具(侦测壳的类型):Fi,GetTyp,peid,pe-scan,
入口查找工具:SoftICE,TRW,ollydbg,loader,peid
工具:IceDump,TRW,PEditor,ProcDump32,LordPE
文件编辑工具PEditor,ProcDump32,LordPE
5.重建ImportTable工具:ImportREC,ReVirgin
ect脱壳专用工具:Caspr(ASPrV1.1-V1.2有效),Rad(只对ASPrV1.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补。
常见的壳脱法:
壳脱壳可用unaspack或ck,使用方法类似lanuage,傻瓜式软
件,运行后选取待脱壳的软件即可.缺点:只能脱aspack早些时候版本的壳,不能脱高版本
的壳
第一种:待脱壳的软件(如)和位于同一目录下,执行windows起始菜单
的运行,键入脱壳后的文件为_,删掉原来的,将_改名为
即可。使用方法类似fi优点:可以脱aspack任何版本的壳,脱壳能力极强缺点:Dos
界面。
第二种:将的图标拖到的图标上***若已侦测出是aspack壳,用unaspack
脱壳出错,说明是aspack高版本的壳,用caspr脱即可。
壳脱壳可用upx待脱壳的软件(如)和位于同一目录下,执行windows
起始菜单的运行,键入。
act壳脱壳用unpecompact使用方法类似lanuage傻瓜式软件,运行后选取待脱
壳的软件即可。
mp万能脱壳但不精,一般不要用使用方法:运行后,先指定壳的名称,再选定欲
脱壳软件,确定即可脱壳后的文件大于原文件由于脱壳软件很成熟,手动脱壳一般用不到。
免杀过程中的总结
第一:我们学习免杀的方向:
如果象本人一样,只是为了保护自己的黑软的话!就不会学的那么累(没必要去学汇编编程)
有时候简单加下壳或者脱下壳就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个杀软跟一个辅助可以说全包括了病毒查杀特点!也不
能说哪个不好,哪个很好!有些木马这个杀软杀不出来~~那个就可以杀出来!所以对于现在
网上有些朋友对个别杀毒软件不重视,就会导致你所谓的“肉鸡”插翅难飞!嘻嘻!
第五:免杀所用工具简介(建议都去甲壳虫下载)
免杀其实用不了很多工具!!但是我看一些朋友的免杀工具包真的好吓人......
g:32位的动态编译器,脱壳跟初中开学 修改特征码必备工具!
2.C32Asm:集反汇编,16进制,Hiew修改功能一体!但是真正用处只是修改驱动内
核级木马Pcshre才用!平时的修改技巧后面再讲!
:16进制编辑工具!主要是内存编辑功能好用
:定位内存特征的小工具
:查壳工具
:PE编辑工具!脱放屁多的原因 壳,修改程序入口跟函数常用
r:修改程序入口跟效验程序的
rator:程序资源修改器!做免杀需要修改资源的时候杀用的最多(如鸽子)!
pe:同上,有时候需要这个才可以导出,导入,修改资源!本人也不知道
WHY?
s:针对资源的释放程序,可重建可编辑资源而实现加多重壳的目的!
d:加区段的工具
REC:不常用!偶而用来修复输入表!
:跟FreeRes差不多,配合使用效果很好!
:特征码定位器(1.1版本可以用来当点唱机--!)
CL:DOS界面的定位器,不怎么受欢迎!但是定位方法比MYCCL更好!更
科学!
:偏移地址转换器
32特征码转换器:不说也知道是干什么用吧--!
cker:超级巡警自动脱壳机!有时候要脱壳就找它!
:超级巡警病毒分析工具!我一直当脱壳机用....
20.掘北压缩0.28免杀版:对瑞星有很好的效果,改下头对卡巴有疗效
ect:卡巴金山的天敌!
22.免杀了一个月的花(公布出来就代表不免杀)
push数字
pushebp
addesp,数字
addesp,-数字
popebp
push-数字movEDI,EDI
movEDI,EDInop
pushebp
movebp,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.顺序调换法如果我们发现一处特征都是同一个语句,如:PUSH1PUSH2PUSH3PUSH
4而特征码是PUSH2我们可以尝试把34跟12的位置调换,其他语句也一样!一般都是MOV
语句多!
移位法如果我们发现特征码的上一句或者下一句有个0000或者NOP语句,我们
可以把特征移动到0000或者NOP上面执行,而原位置直接NOP掉!这方法注意特征定在CALL
上的!我们都要跟随所调用的程序去看看!说不定特征所调用的子程序的上句/下句就有NOP
指令!也可以这样改,也有免杀效果!
3.通用跳转法超级简单好用的方法!加花的时候经常用!找出0000(PEID搜索O区域)
把特征仍过去再跳回来原NOP掉的特征的下一句指令就可以达到效果......
4.等值替换法最难掌握的方法!需要一定的汇编知识!如;JE=JNZADD=AUB-等等这
里需要汇编指令速查手册帮助!当然,你修改多了以后就不需要了!改多了就会熟悉了!呵
呵CALL有时候可以尝试改成JMP!没有实现的跳转可以尝试NOP!碰到CALL语句一定要记
的跟过去看看!JMP也一样!多看多练习,就会发现别人不知道的方法!第八:修改特征码
之C32Asm应用用这个修改特征码,本人一直保持一个原则:非明文,都是乱码,不尝试修改!
1.大小写替换法如果特征定位特征在SVCHOST这样很清楚的E文上,可以改大小写!如果跟
过去是E文,跟旁边的字符一起选择一下就变乱码就不要改了2.字符加1减1法等效与OD
里的等值替换法!建议在OD操作!这方法容易使程序丢失功能!知道就可!如:CALL--E8
JMP--E8JNZ--75JE--743.输入表函数修改要在OD里找到此处特征的函数所对应的16进制
数值位置,进行移位修改!或者直接利用LordPE找到对应的输入表函数进行移位!(这个建
议多看教程!不难)4.00填充法不建议用这方法!!一个指令的存在肯定有它存在的意义!
所以这方法少用为妙!小心丢失功能!虽然是很方便......头修改方法只相提并论造句 是对PE头进
行移位就能达到反调试免杀的目的!这个不知道怎么说!网上有详细教程C32Asm这个工具
对修改驱动内核级木马可是派上大用场!但是大家注意的是修改这类木马一定要记的在虚拟
机里进行`~这种高级手术容易让电脑感冒(蓝屏)!呵呵特征码的修改不但累人,也要一定的
汇编基础!所以本人都是一般通过加花,改壳等方法来完成免杀操作的!以下是本人总结的
一些修改技巧!花指令:绝对不能用网上的!一定要自己写,宁愿花3小时写1段花!也不
要用网上已经公布的花,那样跟没用一样!本人一般喜欢先几个跳转,再执行花再跳两下有
时候不但对卡巴,对金山也有效果....女生套图 ..壳:掘北压缩加上ASP加密虽然容易出错,但是只
要不出错就可以达到免杀效果!很多人现在可能还在改UPX的壳!!这个壳我看改的也有点费
力了吧!大家还是换点生僻的壳来修改吧!加壳后定位的特征码可能不是壳的特征码,而是
壳跟程序变种后的特征!本人总结;免杀这门技术!如果你想深究,就去学汇编,学习下系
统底层的知识!现在的木马已经都向驱动级发展!不会点汇编能行么?能过主动防御么?如
果只是认识一下,或者免杀下自己的黑软!本人认为以上的知识点已经足够下!人要多想象!
不能老用人家的方法!多测试,多留心,你会发现杀软的漏洞的!从而轻松躲过查杀!免杀
的方法跟技巧还有很多!是需要大家自己去发觉的,现在教程虽然多电脑密码怎么改 !但是毕竟是人家总结
出来的!老跟人家的思路走怎么会进步?

本文发布于:2023-04-12 16:39:38,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1681288779127457.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:softice.doc
本文 PDF 下载地址:softice.pdf
| 留言与评论(共有 0 条评论) |