您的位置:首页 > 移动开发 > Android开发

【Android安全】Android软件保护措施总结

2014-12-11 14:54 429 查看
防止静态分析:

1、对抗反编译工具:通过大量的apk包测试找到无法反编译的指令或字段,将这些字段或指令用在程序开发的代码中防止他人反编译,方法:利用apktool和dex2jar工具及大量的APK做验证测试找到这些程序无法解析的字段或代码。

2、代码混淆技术:代码开发时采用混淆技术,使得反编译出来的代码类和方法都用a,b,c字母代替,增加逆向分析人员破解难度,方法android自带的proguard即可实现。

3、NDK保护:Java开发的代码极易反编译并逆向,而利用c/c++开发的.so库等需要查看汇编代码才能逆向还原,难度更大,方法:利用NDK开发核心代码。

4、外壳保护:自己开发的.so文件可以使用压缩加密壳进行保护,方法:利用arm-linux 内核程序加壳工具即可实现。

防止动态调试:

检查调速器,检查模拟器,直接利用SDK API函数进行校验检查即可。

防止重打包:

签名验证:调用sdk api获取签名信息将签名验证写在程序启动的开头来验证签名是否被重新修改过。

校验保护:记录xx.dex的crc校验值,存储在字符串文件中或存储在网络上,代码中进行校验比较确保dex文件没被修改过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: