小蜜锋 - 云代码空间
—— 技术宅拯救世界!
很多apk包里的resources.arsc,用ArscEditor打开会提示“格式错误”,网上找了一下,发现除了ArscEditor这个resources.arsc编辑器之外,没其他的了。其实我们可以通过apktool反编译得到源码来实现修改。
要改apk包中的资源、代码,或者去广告、修改qq尾巴、修改微博来源appkey等等,我们可以通过整个apk包反编译得到源代码,修改对应的内容。反编译后一般会在\res\values\strings.xml中看到字符串的定义,有些也可能硬编码在代码中了。
1.先装JAVA环境,JDK/JRE都行,官网下载 装过的就跳过吧
2.下载apktool.jar及相关文件,这里下apktool-1.0.0.tar.bz2 和apktool-install-windows-2.1_r01-1.zip
3.解压apktool.jar到 C:\Windows 解压apktool-install-windows.zip到任意文件夹(例如E盘根目录)
4.Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入apktool看看。会列出一些帮助的话就成功了。
apktool d XXX.apk ABC #反编译XXX.apk到文件夹ABC
apktool b ABC #从文件夹ABC重建APK,输出到ABC\dist\out.apk
签名方法(需要下载SignApk.jar工具)
java -jar SignApk.jar platform.x509.pem platform.pk8 abc.apk abc_signed.apk
1、有一个Arsc修改器,可以在直接从apk解压出arsc资源而不解包情况下修改string等。(此方法完全可以被apktool方法替代,一是部分资源不能进行修改,工具封锁了吧…二是字符串可能直接写在代码中,在classes.dex中,这个工具也不管用。)
2、有一个dex2jar工具,直接将apk包中的dex变成jar,从而使用jd-gui进行查看java源码代码。(个人感觉效果不好。还不如直接用apktool弄出smali文件,直接修改方便。)