当前位置: 首页 > 图文教程 > 网络安全 > 安全基础 > 论常见的壳与加壳技术

安全基础
IE浏览器防黑十大秘籍,黑客也没招
网络工程师讲解系统安全漏洞的形成和防治
清除导致XP系统反复重启的新网银木马
识破QQ欺骗网络地址的几种方法汇总
安全基础知识 细说暴库的原理与方法
排除无线突然中断故障实例
强搜天线 搜出WiFi世界的安全漏洞
网管应用技巧 内网安全十大策略说明
如何修改局域网内部打印机的IP地址
如何找出IIS中隐藏的网站
EFS加密技术的概念分析及一次解密经过
提高Windows XP系统安全性要关闭的10种服务
PHPBB 2.0.22 MOD版最新注入漏洞
修复Windows系统忘记密码的9个高招
用SockOnline软件轻松突破端口限制
安全基础知识 最强0到33600端口详解
执行文件方式加密FLASH文件的解密方法
网吧被入侵后的应对解决方法
网页“黑手”如何攻击你的Windows系统
不要让别人读了你的信 谈私密数据保护

安全基础 中的 论常见的壳与加壳技术


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-19   浏览: 67 ::
收藏到网摘: n/a

  在这外壳程序风起云涌的几年间,出现了无数优秀的外壳,CoDe_inJect 曾谈过对几种流行壳的看法,我斗胆结合他的言论描述一下现在常见的保护外壳:

  ASProtect

  无可争议的外壳界老大,它开创了壳的新时代,SEH 与各种流行反跟踪技术、多态变形引擎的使用(准确来说是从病毒中借用)、BPM 断点清除等都出自于此;更为有名的当属 RSA 算法的使用,使得 DEMO 版无法被破解成完整版;Code Dips也源于这里;输入表处理即使现在看来仍很强劲。开发壳应该学习它各种算法的熟练运用,而它最失败之处就是反跟踪过于温柔,令破解者轻松研究。

  tELock

  大名鼎鼎的一款免费的保护软件,具有较强的反跟踪能力,用SEH控制 DRx结合内存校验封杀了 BPM 断点和SuperBPM 等工具。并有 BPE32 变形引擎产生很多异常代码干扰跟踪。输入表的修复让人头痛了好一阵子,于此形成讽刺意味的是,输入表在重定向之前会在内存中以完整的形态出现。值得一提的是heXer 花费了数月零散时间,将它逆向并做出了一个加强版,称之为 tELock X。

  PELock

  PELock应该是很多壳的综合,输入表处理、RSA算法、反跟踪、清除断点、SHE 都用到了,而且是第一个可以在Win98下检测出IceDump的壳。在这个壳中第一次使用了清除代码、加密代码、锁定代码,使被加密的程序更难转储。

  DBPE

  这个壳在国内如日中天,奥妙在于哪里?就在于反跟踪做得比较完善,它是很早使用驱动的壳,虽然驱动的运用仅仅是为了在WinNT下切到Ring-0, 但开创了壳使用驱动的先例。输入表处理一般,修改了中断向量并使用其进行解码,一些版本中有 MMXE 变形引擎使跟踪起来眼花缭乱。可惜的是由于作者对 RSA 的错误理解,使破解者可以做出注册机,且即使不注册也可以脱壳。

  SVKP

  这个壳的有着深厚的背景, 那就是anticracking.sk 与DAEMON、 EliCZ等一大批传说中的人物有着密切的关系,但是这个壳的反跟踪和输入表处理都不够理想,可能跟作者的编码能力有关吧。驱动在这个程序中使用比较熟练,一些系统上会隐藏进程使得ImportREC等工具遇到阻碍,运用了 KME 变形引擎使代码在堆栈中执行,跟踪起来困难重重。

  Xtreme-Protector

  如它的名字一样,似乎是目前最强悍的壳,也是驱动程序使用最为熟练的壳,驱动有解码、反跟踪的作用,多线程的SMC使得程序的保护能力直线上升。令很多没有硬件调试器的破解者望而却步。

  Star-Force

  与 Xtreme-Protector不相伯仲的强大外壳,它的核心是一个伪代码的解释器,大大复杂了对其的研究工作;一部分导入函数的代码是从系统库中拷贝出来并进行修改过的;一部分程序代码只有在执行时候才解密出来。保护中还大量的应用了这些手段:检测某些内存段的CRC 校验和,经常地将DRx清零,利用RDTSC指令来控制解码不同块的解码时刻,最后一块代码的解码甚至通过截获Int 0在 Ring-0 中进行。不过它多用于光盘加密,在共享软件中并不多见。

  Armadillo

  当今猛壳之一,壳如其名拥有厚重的装甲,加壳方式有两种,一种是标准方式,另一种是CopyMem-II+Debug-Blocker,其标准加壳方式相对来说则容易的多。双进程方式加壳的修复着实是一件令人头疼的工作。

  Hying’s PE-Armor

 

  网络游戏外挂中经常会遇到的壳,许多人对其避而不谈令它蒙上了浓重的神迷色彩。它拥有伪装功能,初学者常常被探测软件的信息所迷惑。DRx与校验和解码技巧非常普遍,输入表的处理比较好,会针对对不同的编译器做特殊处理,内涵仿真虚拟机系统作为SDK使得脱壳更为困难。它的一个非常老的版本源代码在看雪的新书《软件加密内幕》中公开,几乎没有什么强度,但通过其学习外壳开发非常有价值。

  ACProtect

  首次使用了一些新反跟踪技巧的壳,刚刚浮出水面的一段时间内闹得沸沸扬扬后被123112用他的妖幻调试器 TRW2000 结果了,有关它的一些反跟踪,fly写过一些详细介绍,这里不再赘述。经过很多版本的改进,ACProtect的 Embedded Protect 和 RSA Protect 做得非常不错,即使不使用SDK修复起来也是非常不便的。另外fly总结了利用“ESP定律”的方法,可以减轻跟踪强度。

  Obsidium

  这个壳的特色在于支持分页加密,并且拥有强大的代码、资源充定位功能,令修复很困难。输入表的处理似乎不错,新版本不幸激发了 heXer 通宵的兴趣在一夜之间支离破碎。

  Pll621Shell

  山村老妖Pll621的私人工具,先于Hying的壳拥具有Dump Shield 功能,花指令繁多,Win98下跟踪比较麻烦,输入表重构但加密简单,最大的特色是会伪装为VC++6.0。这个壳停止更新很久了,但籍于它作者的名字,很多人从未放弃过对它的追求。

  PESpin

  压缩与加密并重的壳,输入表处理较好,代码替换功能据说非常强大,不过fly与他的一个神秘朋友一举击破它的主程序防护,令作者也不得不写信询问脱壳的方法。酝酿中的新版本可能使用KME变形引擎,不过在WinXP Sp2的DEP机制中我只能祝愿它能够如愿运行起来。

  SDProtector(SoftDefender)

  软件保护神,极多的反跟踪技巧和花指令,即使阅读源代码理解都非常困难。多线程的全程保护令它增色不少,并且具有伪装为VC++的功能,也许会逐渐取代幻影成为国内加密软件的霸主。由于充斥着大量的SEH、反跟踪和自校验,脱壳时必须全程跟踪,即使h****、Y*** 这样的超人也许要一定时间。

  EncryptPE 2004

  2003版本已经曾为过去,不多做评价。新的EPE具有良好的兼容性(并非指运行的兼容性)、无限层加密支持和自调试机制,并且带包括易语言在内的多种SDK。heXer预言它将是未来使用最多的壳,其实力可想而知。

  VCASM

  最近VCASM新出了Vcasm-Protector,尚未见有评论。VCASM是一个作者的老作品,它使用4个进程互相调试和大约3个线程反跟踪,充斥的难以计数的异常,从头跟到入口几乎成为不可能。目前破解方法似乎只有附加在运行后的进程上写代码修复,但是如果和其他外壳配合加密了数据段,脱壳就会变得极度困难了。

  eXcalibur

  中文名如雷贯耳,叫“仙剑”,不过金玉其外败絮其中,实在有辱这个名字。作者是 LiNSoN(过去的 fORGAT),说来惭愧,它纯粹是为了学习加密和汇编而做的壳,没甚么自己的特色,并且基本都是借用他人代码,它的价值仅仅限于给初学者做练习了,源代码全部公开,作者自己都没了。唯一值的说的,是它的最后一个版本中附带了一首动听的MIDI《御剑江湖》。