[系统安全4]壳在免杀中的应用
6.1 壳的基础知识
程序运行流程
未加壳程序流程
- 原程序 -> 加载到内存中 -> 顺利执行
加壳程序流程
- 加壳程序 -> 加密的原程序读取到内存 -> 解密并释放 -> 原程序加载到内存中 -> 顺利执行
壳的运行过程
- 加载API函数
- 解密区段
- 进行代码重定位
- 转到入口点
6.2 壳在免杀领域的作用
- 加壳免杀的原理
据我了解,当前杀毒软件会定义加壳的程序的病毒家族为.pack。检测不出来也会提示用户当前程序是加壳的风险程序
- FreeRes多重加壳
FreeRes软件原作者的意图是通过这款软件将已压缩加密的程序解压并释放,在此之前黑客们为了对抗杀毒软件的自动脱壳功能,发现了一些重复加壳的规律。使用某些壳与其他一些壳重复使用,也就是最原始的加多层壳的办法。
6.3 壳的修改技巧
-
壳的初级修改
修改加壳文件的特征与免杀特征码一致。
-
壳的深度修改
在靠近入口点的位置修改,修改壳的流程可以修改跳以及一些带借进位的运算.
-
提取壳的特征数据
十六进制数据区:前4个字节为操作指令,后面的8位(字节)为操作数.