Android资源保护

我们参考Proguard Obfuscator的方式,对APK中资源文件名使用简短无意义名称进行替换,给破解者制造困难,以做到资源的相对安全。我们可以通过修改AAPT在生成resources.arsc和*.ap_时把资源文件的名称替换掉,从而保护资源。

AAPT编译资源的代码,我们发现修改AAPT在处理资源文件相关的源码是能够做到资源文件名的替换。

ResourcesTable和Assets中添加资源文件时,对资源文件名称进行修改,这就能够做到资源文件名称的替换,这样通过修改过的AAPT编译资源并进行打包,我们再用apktool这个工具进行反编译。我们来看一下反编译后的截图:


res目录下的layout、drawable、anim、menu等文件夹不见了,因为apktool工具把它们放在了unknown文件夹下。

 

你会发现资源文件名已经被简短无意义名称代替了,这样会给反编译者理解上制造困难,反编译者需要消耗一定的时间来搞清楚这些文件的作用,资源混淆带来的另一个好处是能明显减小APK的大小,资源混淆既能保护资源文件的安全又能减小安装包的大小。

这样通过修改AAPT,我们可以在代码零修改的基础上就能做到相对的资源安全,但是我们要时刻铭记,安全是相对的,没有绝对的安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值