安全与逆向Android技术知识Android开发

【安全与逆向】- 仿微信资源混淆工具

2020-02-05  本文已影响0人  拔萝卜占坑

简介

通过分析resources.arsc文件信息,找到存储字符串信息与资源文件直接的关系,然后对资源目录和文件进行混淆。
第一:可以增加反编译难度。
第二:可以减小应用包大小。

微信资源混淆插件

AndResGuard

原理

在文章【安全与逆向】- resources.arsc分析,资源替换讲解了用于存储资源信息“resources.arsc”文件的结构和读取方法。那么把读取到数据打印出来,在控制台查看,便可以看到到resources.arsc详细的存储内容。这里我们借助Android Studio可视化界面查看resources.arsc。

截屏2020-02-05下午7.22.38.png

通过读取resources.arsc,我可以拿到资源的名称,路径等信息。信息的第一列是记录资源的id,在应用里面我们可以使用id找到对应的资源文件。比如图片资源,我们从resources.arsc读取到的资源信息是像“res/drawable-xhdpi-v4/unknown_image.png”这样的字符串,然后解析。通过id拿到也是这个字符串,然后去找对应的资源。

到这里,我们便可以得到资源混淆的方法了,只要保证上面读取到字符串路径和应用实际的资源路径一一对应,那么我们在使用资源的时候便不会有问题,所以我们可以先对resources.arsc资源路径进行修改混淆,然后在相应的修改应用的路径名和资源文件名。

读取resources.arsc

根据“resources.arsc”文件存储格式图,依次读取存储信息。

混淆

总结

经过上面的步骤,混淆基本完成,剩下的就是重新打包,签名。这里只是简单介绍资源混淆的原理和简单实现资源混淆。如果想要使用到项目中,可以直接集成微信的资源混淆工具。

上一篇 下一篇

猜你喜欢

热点阅读