论常见的壳与加壳技术

http://www.itjxue.com  2015-07-17 00:48  来源:未知  点击次数: 

  在这外壳程序风起云涌的几年间,出现了无数优秀的外壳,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,其标准加壳方式相对来说则容易的多。双进程方式加壳的修复着实是一件令人头疼的工作。

(责任编辑:IT教学网)

更多