Android防止反编译的若干方法

东方盛慧科技大约 1 分钟androidandroid技术反编译

Android防止反编译的若干方法

第一种方式

混淆策略

混淆策略是每个应用必须增加的一种防护策略,同时他不仅是为了防护,也是为了减小应用安装包的大小,所以他是每个应用发版之前必须要添加的一项功能

对代码的混淆

我们一般现在的破解查看Java层代码就是两种方式:

一种是直接先解压classes.dex文件出来,使用dex2jar工具转化成jar文件,然后再用jd-gui工具进行查看类结构

一种是使用apktool工具直接反编译apk,得到smali源码,阅读smali源码

不过这种代码混淆有时候在一定程度上能够增加混淆策略,但是有时候也不是很安全,因为我们知道我们在破解的过程中一般是找程序的入口,那么这些入口一般都是Application或者是MainActivity之类的,但是这些Android中的组件类是不能进行混淆的,所以我们还是有入口可寻,能够找到入口代码,然后进行跟踪。

对工程资源的混淆

微信开源的混淆

第二种方式

应用的签名 基于NDK加密,防止反编译获取加密key

第三种方式

修改Native函数名

第四种方式

反调试异常检测

第五种方式

加壳

第六种方式

防止apktool

第七种方式

防止jd-gui查看jar代码

上次编辑于:
贡献者: 雷勋