1625-5 王子昂 总结《2018年2月26日》 【连续第513天总结】
A. 脱壳技术(9)加密壳的一些技术
B.
加密壳
ASProtect
这款壳由于过于经典,因此在看雪等论坛上有多篇分析文章,不再赘述脱壳方法
主要列举一些技术
- Emulate standard system functions
它将API入口一段代码抽到外壳里,然后输入表里填充外壳地址,产生Hook所有API的效果,运行完入口后再跳转到真正的API
使得对API入口下断的方法失效 - stolen bytes
这是将程序部分代码变形,搬到外壳段的一种技术
不仅可以处理OEP处的代码,也可以自定义任意部分的代码(需要使用SDK)
Themidia
- Encode与Clear宏保护代码
它们会将代码加密保存,然后在运行到这里的时候再进行解密,最后再删掉它们 - CodeReplace与VM宏保护代码
这两个宏使用了虚拟机技术
加壳时将原始机器码反汇编转换为字节码,执行时由虚拟机引擎来解释执行
想要逆向就必须理解虚拟机引擎,然后将字节码还原
而虚拟机引擎出于自我保护的目的,又会被混淆、变形膨胀,并且被划分为若干代码块,随机置换顺序后用JMP连接
C. 明日计划
脱壳技术(10)