本文主要是介绍微信开源工具AndResGuard-资源混淆工具的使用及注意事项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近博客看到安卓资源文件混淆的方案,其中一个就是微信的AndResGuard,于是我就尝试练练手。
参考的文章:http://blog.csdn.net/lupengfei1009/article/details/57088682
这篇文章将的还可以,但是对于一个新手来说,我刚开始不能接受。因为执行我改的bat脚本后,dos窗口一闪就没了,看不到有价值的信息。于是我就先尝试着放弃bat脚本使用dos窗口来执行。
首先看看我的目录吧:
现在对文件解释下:
test.jks 是用android studio 生成的签名文件
test.apk是测试用的apk文件,这个随意
config.xml 是AndResGuard的配置文件
AndResGuard 这个是混淆的核心,也是就是微信提供的工具。
上面提到我用buid.bat编译项目的时候dos窗口会一闪而过,并且没有生成任何文件,那么现在我就记录下我的处理办法。
排查方法:我首先打开dos窗口,在窗口中输入:java -jar AndResGuard-cli-1.1.16.jar test.apk
一按回车键,发现文件夹下面什么也没有生成,在看dos窗口,发现有exception:
原来是因为签名文件的问题,这个应该是签名文件路径的问题,于是我就去config里面修改jks的路径。修改的结果如下:
之后我便使用cls命令清空dos窗口,并且再去执行java -jar AndResGuard-cli-1.1.16.jar test.apk
发现路径下面多了一个test文件(很 happy。。。。):
于是我就马上打开test文件。
之后我又马上查看test_unsigned.apk文件,想着里面的res文件要是被混淆了,那么大致就能使用了,于是看到下图信息:
看到这个,其实res文件的混淆就成功了。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
那么回档上个话题,我的bat脚本为什么会一闪而过尼?我想排查下问题,首先我就猜想,是不是按着教程运行的时候,还是jks的文件路径不对呀?于是我把刚才自己修改的buid.bat,放到根目录下。
之后再双击我的bat文件发现,也成功了!!!!!(所以也是jks路径的问题导致的)
随手贴上buid.bat的内容吧:
Java -jar C:/Users/Administrator/Desktop/hx/AndResGuard-cli-1.1.16.jar C:/Users/Administrator/Desktop/hx/test.apk -config C:/Users/Administrator/Desktop/hx/config.xml -out C:/Users/Administrator/Desktop/hx/release -zipalign D:/android_tool/studio_sdk/build-tools/23.0.1/zipalign -7zip "D:/Program Files/7-Zip/7z.exe" -signature D:/test.jks 123456 123456 123456
这篇关于微信开源工具AndResGuard-资源混淆工具的使用及注意事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!