1. 加固的作用
加固保护做用 :加密、防逆向、防篡改、反调试、反窃取
破解的目的 : 原始的dex数据,解密算法,解密密钥;
困难 : 获取这些信息必要通过到内存中过去修改反调试,动态分析破解流程,获取密钥,获取原来的dex数据存放位置
2. 加固前后区别
- readelf -a **.so 文件名 可以查看so库各种信息
- so库加壳特征之一(可能是因为so库加壳的方式不同吧) 可以发现在在JNI_onload中出现上图所示的乱码问题
可以发现未加壳的dex文件的大小大于加密后dex文件,而且程序的初始化在application中调用下面的三个方法 ,同时在assert目录发现多个so文件
1 private native void initialize(ContextparamContext);
2 private native ApplicationmakeApplication(String paramString);
3 private native void applicationOnCreate();