1、什么是加固?
我們之前講的逆向,大多數都是用加密算法去加密一些明文字符串,然后把得到的結果用 Base64、Hex等進行編碼后提交。加固其實也一樣,只不過他通常加密的是 dex文件而已。但是 dex 文件加密以后,安卓系統是沒法直接運行的。所以加固的核心,就是把 dex 文件加密,然后 app 運行過程中把 dex 文件解密,還原到內存中。
2、加固的類型
壓縮殼:upX
加密殼:
一代????????動態加載型????????DexClassLoader 落地
二代????????動態加載型
三代????????代碼抽取型
虛擬保護殼
四代????????VMP殼???????? Java2c
混淆殼:ollvm