壳是什么?
脱壳又是什么?这是很多经常感到迷惑和经常提出的
问题,其实这个
问题一点也不幼稚。当你想听说
脱壳这个名词并试着去了解的时候,说明你已经在各个安全站点很有了一段日子了。下面,我们进入“壳”的世界吧。
一、金蝉
脱壳的故事 我先想讲个故事吧。那就是金蝉
脱壳。金蝉
脱壳属于三十六计中的混战计。金蝉
脱壳的本意是:寒蝉在蜕变时,本体脱离皮壳而走,只留下蝉蜕还挂在枝头。此计用于军事,是指通过伪装摆脱敌人,撤退或转移,以
实现我方的战略目标的谋略。稳住对方,撤退或转移,决不是惊慌失措,消极逃跑,而是保留形式,抽走内容,稳住对方,使自己脱离险境达到己方战略目标,己方常常可用巧妙分兵转移的机会出击另一部分敌人。三国时期,诸葛亮六出祁山,北伐中原,但一直未能成功,终于在第六次北伐时,积劳成疾,在五丈原病死于军中。 维遵照诸葛亮的吩咐,在诸葛亮死后,秘不发丧,对外严密封锁消息。他带着灵柩,秘密率部撤退。司马懿派部队跟踪追击蜀军。姜维命工匠仿诸葛亮摸样,雕了一个木人,羽扇纶巾,稳坐车中。并派杨仪率领部分人马大张旗鼓,向魏军发动进攻。魏军远望蜀军,军容整齐,旗鼓大张,又见诸葛亮稳坐车中,指挥若定,不知蜀军又耍什么花招,不敢轻举妄动。司马懿一向知道诸葛亮“诡计多端”,又怀疑此次退兵乃是诱敌之计,于是命令部队后撤,观察蜀军动向。姜维趁司马懿退兵的大好时机,马上指挥主力部队,迅速安全转移,撤回汉中。等司马懿得知诸葛亮已死,再进兵追击,为时已晚。相信这个故事,大家在大型连续剧《三国演义》里已经看过了。呵呵,只是没有理解得这么深入罢了!而在
黑客入侵技术中,金蝉
脱壳则是指:删除
系统运行日志 攻击者攻破
系统后,常删除
系统运行日志,隐藏自己的痕迹…呵呵
二、壳,
脱壳,加壳
在自然界中,我想大家对壳这东西应该都不会陌生了,由上述故事,我们也可见一斑。自然界中植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机
软件里也有一段专门负责保护
软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到
控制权,然后完成它们保护
软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的
方法罢了。 从功能上抽象,
软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的
代码。原始程序的
代码在加壳的过程中可能被压缩、加密……。当加壳后的文件执行时,壳-这段
代码先于原始程序运行,他把压缩、加密后的
代码还原成原始程序
代码,然后再把执行权交还给原始
代码。
软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的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文件编辑工