浅谈"壳"(一)

来源:互联网 发布:拍照软件萌 编辑:程序博客网 时间:2024/05/21 09:53

颜体繁
壳,即坚硬的外皮,当壳的厚度与其曲面率半径的比值小于0.5时,称为“薄壳”,反之称为“厚壳”。由壳演化来的胸甲,盾牌.

盾甲

在计算机这个注重创意又不失从文化科技中汲取养分的世界里.你可以找到很多有趣的东西与与现实对应.
比如漏洞攻击中的Payload原意便是导弹术语中有效载荷.而恶意程序在正常程序中复制自身的行为被称为感染,有这种行为的恶意程序又被类比到生物学称为病毒.

随着专业人士对可执行文件运行机制的加深,破解行为越来越猖獗.相关法律法规不健全和执行力度不强.保护自己商业机密成为程序员不得不考虑的任务.而病毒这种寄生在目标程序中的,先于目标程序运行的行为,又被聪明的程序员使用起来保护自己的软件资产.他们在程序运行前对程序本身进行加密.在寄生体运行起来后,寄生体开始解密自己的感染体程序并将它们放置在合理的位置.至此保护与反保护的大幕被徐徐揭开.

注:恶意程序对自身的保护的部分技术被用于壳中.诸如:

跟踪调试,反AntiASM,数据加密,代码迷惑,操作码混合,校验和,基于压缩的隐蔽代码,反跟踪,攻击性反制等
-<计算机病毒防范艺术>-PeterSzor

计算机壳保护程序,一般分为:

  • 压缩壳:著名代表是UPX.主要目的是减少程序体积.几乎不采用破解反制措施.
  • 加密壳:大部分壳属于此范围,采用一种或者数种反制措施,时常包括一些环境探测和反调试等.
  • 虚拟机壳:通过类似于虚拟机的机制,将原程序拆解转换成保密的OPCode,通过模拟CPU,寄存器,堆栈,解释并执行被拆装后的程序.

虚拟机壳的代表是同一家公司的两款产品:ThemidaVMProtect.后者在虚拟机机制的基础上增加了更多的反调试功能并能针对特定代码段进行保护,以做到效率和安全性兼顾.

古人有云:不积硅步,不能至千里.我们这次壳之旅将从探讨“壳程序的需求”开始,然后从一款壳的打造实例来讲解一些关键知识点.最后驰骋我们的想象,打造一款只属于你自己的轻量程序保护壳.

你准备好了吗?

统计
顶

2 0