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

本文详细阐述了防止静态分析与动态调试的多种策略,包括使用对抗反编译工具、代码混淆技术、NDK保护、外壳保护等方法来提高代码的安全性。同时,介绍了检查调速器、模拟器等手段来防止动态调试,以及通过签名验证、校验保护等措施来防止重打包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


防止静态分析:
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文件没被修改过。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值