认识壳
壳是指在一个程序的外面再包裹上另外一段代码,保护里面的代码不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任 务。
◆在一些计算机软件里也有一段专门负责
保护软件不被非法修改或反编译的程序。
◆它们一般都是先于程序运行,拿到控制
权,然后完成它们保护软件的任务。
◆由于这段程序和自然界的壳在功能上有
很多相同的地方,基于命名的规则,就把
这样的程序称为“壳”了。
壳的分类
壳的分类-保护壳(加密壳)
◆保护PE免受代码逆向分析,应用了多种防止代码逆向分析的技术.加保护壳的PE程序经常比原文件更大
使用目的
防止破解
保护代码和资源
使用现状
大量应用于对破解敏感的安全程序
◆恶意代码用于防止(降低)杀毒软件的检测
壳的分类-压缩壳
使用目的
缩减PE文件的大小,便于网络传输或保存◆隐藏PE文件内部代码和资源
使用现状
早在DOs时代就已出现但因PC计算能力有限,解压开销太大,未能广泛使用.
◆现状广泛应用
压缩壳种类
单纯用于压缩普通PE文件的压缩壳
◆对源文件有较大变形,严重破坏PE头,常用于恶意程序的压缩壳
大量应用于对破解敏感的安全程序
◆恶意代码用于防止(降低)杀毒软件的检测
常见的压缩壳
UPX
UPX是一个以命令行方式操作的可
执行文件经典免费压缩程序,压缩算
法自己实现,速度极快。(开源)
PECompat
PECompact同样也是一款能压缩可执行文
件的工具
◆支持EXE、DLL、SCR、OCX等文件
◆提供了多种压缩项目的选择,用户可以根据
需要碗定哪些内部资源需要压缩处理提供了加解密的插件接口功能
ASPack
ASPack是款Win32可执行文件压缩软件◆可压缩Windows 32位可执行文件(.exe)以及库文件(.dll、 .ocx)
文件压缩比率高达40%~70%
常见的加密壳
ASProtect
拥有压缩、加密、反跟踪代码、反-反汇编代码
、CRC校验和花指令等保护措施
◆通过API钩子与加壳的程序进行通信
◆为软件开发人员提供SDK,实现加密程序内外
结合。
◆研究的人比较多,脱壳方法成熟
Armadillo
◆又称"穿山甲“,应用面较广
◆可以运用各种手段来保护你的软件
◆同时也可以为软件加上种种限制,包括时间
、次数,启动画面等等
Nanomites保护(cc保护)
Public版没有保护强度,使用Custom版
EXECryptor
兼容性处理不好
Anti-Debug功能隐蔽
◆使用虚拟机保护关键代码
Themida
虚拟机保护
擅用SDK
生成文件较大
◆与WinLicense壳功能
类似
VMProtect
纯虚拟机保护软件
◆至今还没有人公开宣称能还
原心
◆影响速度,生成文件大