1、什么是加固?
我们之前讲的逆向,大多数都是用加密算法去加密一些明文字符串,然后把得到的结果用 Base64、Hex等进行编码后提交。加固其实也一样,只不过他通常加密的是 dex文件而已。但是 dex 文件加密以后,安卓系统是没法直接运行的。所以加固的核心,就是把 dex 文件加密,然后 app 运行过程中把 dex 文件解密,还原到内存中。
2、加固的类型
压缩壳:upX
加密壳:
一代 动态加载型 DexClassLoader 落地
二代 动态加载型
三代 代码抽取型
虚拟保护壳
四代 VMP壳 Java2c
混淆壳:ollvm