android安全加固方案,android安全加固技术

本文介绍了Android APK的五种安全技术:代码混淆、去除Log、反编译对抗、模拟器检测和重打包防御。通过代码混淆保护源代码,移除Log防止敏感信息泄露,阻止反编译工具解析,检测运行环境防止模拟器攻击,以及检测应用签名一致性来对抗重打包攻击。

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

先介绍5种android apk安全技术,其它后面补充

1、代码混淆

原理:本质就是改变类名、方法名,使代码可读性变差,进而保护代码

种类

混淆前

混淆后

class

BookManager

a

function

getName()

c()

方式:通过 proguard 三方库,在proguard-rules.pro文件中设置改名规则,将gradle中minifyEnabled 设为true,打开混淆功能

注意事项:四大组件保留、jin要调用的方法保留、R文件

2、去除log

原理:停止log输出,进而防止敏感信息泄露

方式:

(1)自己包装log类,打包时自动屏蔽

(2)通过proguard 将系统Log类置为无效

658a4cadab03

去除Log

注意事项:打开优化开关、添加去除log规则

3、对抗反编译

原理:让apk、dex文件无法通过反编译工具正常编译,导致工具异常崩溃等。常见反编译工具apkTool、baksmali、dex2jar、JEB等

658a4cadab03

apktool错误信息

658a4cadab03

dk2.png

4、对抗模拟器

原理:如果检测到运行在模拟器,自动退出

方式:

(1)检测模拟器上特有的几个文件

(2)检测模拟器默认的电话号码

(3)检测设备"IDS"是不是"000000000000000"

(4)检测imsi id是不是“310260000000000”

(5)检测手机上的一些硬件信息

(6)检测手机运营商家

658a4cadab03

检测id

658a4cadab03

emulator2.png

658a4cadab03

检测文件

5、对抗apk重打包

原理:apk重新大包后签名会改变

方法:检测现在的签名和原本的签名是否一致,不一致退出应用

658a4cadab03

获取现在的签名

2020-11-22

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值