android混淆加密技术总结

本文介绍了Android应用的混淆加密技术,包括Proguard工具的使用,如何打开混淆加密开关,以及keystore的创建和签名过程。混淆加密能保护代码不被轻易反编译,同时减小APK体积。建议读者深入了解相关文献。

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

  原理:是通过遍历apk中class文件,将其中的变量名词更换为其他名字,从而达到加密代码的效果,还有删去没有用到的代码部分,达到精简代码大小的效果。
工具: proguard  (当然还有很多,例如ANT, apkprotect等)

过程:在android2.3之前,谷歌没有太重视反编译,所以没有对adt提供加密工具,2.3以后就提供比较普及的混淆加密工具,proguard工具,位置在SDK/tools/proguard,

1.   proguard:    当新建一个安卓项目时,默认生成Proguard-project.txt 和 project.proguard这两个文件。而project.proguard的作用是配置混淆加密的开关,Proguard-project.txt文件是配置部分加密的内容。(会有同学说怎么有部分资料说在 proguard.cfg里配置加密内容的,其实在adt后期就用Proguard-project.txt代替 proguard.cfg,两者作用是一样的)
1.1 打开混淆加密开关:  project.proguard
把project.proguard文件里的“#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt”前的“#”符号去了,然后在把整句放到“target=android-17”下面。项目在打包时会读取这个文件,并作出相应的操作。

2.  keystore:
keystore是就密钥,通过建密钥,然后给apk加密签名。具体介绍可以百度
2.1 首先打包一个 未签名的apk(后面加密需要使用)
工程->右键->AndroidTools->Export Unsigned Application Package->保存
2.2给未签名的apk签名
工程->右键->AndroidTools->Export Signed Application Package...

//新建密钥
Createnew keystore 创建一个新的私钥仓库文件
(Location:是写一个本地地址,后加mykeystore.keystore,项目会自动生成密钥文件)

使用未签名的apk(已经签名的,或eclipse运行所生成的apk会报错)

最后一个加密的apk生成并覆盖原来的apk

总结:虽然混淆加密的步骤不多,不过也花了我好几天查资料,这个内容的知识内容还是很多,建议同学把我搜集的文献看一次,了解更加深入,学习更多。

请尊重作者劳动成果,转发请注明作者地址: http://blog.sina.com.cn/steven2947

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值