首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>网络基础>文章内容
纵横间谁能相抗—论壳与加壳技术
来源:www.vfocus.net 作者:vfocus 发布时间:2005-01-05  

纵横间谁能相抗—论壳与加壳技术

在这外壳程序风起云涌的几年间,出现了无数优秀的外壳,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《御剑江湖》。


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·北京地区设置ADSL猫(惟帆的 KM3
·关于ip地址分类
·浅谈watchdog timeout出现的原因
·利用snmp实现remote ping
·端口大全(1-100中文)
·从IRQ到IRQL(APIC版)
·使用kgdb调试linux内核及内核模
·基于PassThru的NDIS中间层驱动程
·支持 PS/2 与 USB 的键盘过滤驱
·一种网络劫持分析、调试与编程实
·利用iptables打破电信对路由方式
·绕过Copy-On-Write机制安装全局H
  相关文章
·从IRQ到IRQL(APIC版)
·Apache2的httpd.conf翻译
·Windows下打造完美的服务器平台
·利用iptables打破电信对路由方式
·Linux Shell
·使用ASP下载SQL数据库
·介绍微软一个罕为人知的无敌命令
·利用snmp实现remote ping
·RSA算法基础--实践
·P2P之UDP穿透NAT的原理与实现
·浅析本机API
·asp程序错误详细说明例表
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved