更多内容请到我的博客:http://www.mikameng.com
之前一篇文章写过 自制Android反编译工具 , 用到了2个开源工具dex2Jar和AXMLPrinter2.
用dex2jar反编译dex 到jar没有问题,但是用AXMLPrinter2反编译的XML文件有些地方不太好, 比如标题,颜色,还有Id属性, layout属性等等 其他属性,这个文件应该将编译后的xml文件直接反编译回来的, 可读性不强。
请看下面一个用AXMLPrinter2反编译后的xml文件, 以反编译支 付宝手机客户端 为例 , 这个xml文件是支付宝about 文件(alipay_about_320_480.xml):
从上面的文件可以看到, 反编译后的文件可读性不好。
最近发现有一个开源工具apktool(http://code.google.com/p/android-apktool/), 这个工具功能比较强悍, 可以反编译成源码,xml文件和语言资源文件; 我们还可以对xml文件进行修改(汉化), 然后在利用此工具编译打包APK,然后签名后就可以在手机上安装了。 简单来说apktool 可以反编译apk文件, 也可以编译源码打包成APK文件。
V2.0 修改: 用apktoo替换AXMLPrinter2 来反编译xml文件。
软件主界面:
还是以上面的about页面为例子, 展示一下apktool反编译的效果:
这个反编译的效果可读性比较好了吧, 通过这个例子可以看到AXMLPrinter2 和 apktool的差距了吧。
1. 反编译后的apk主目录如下图:
2. res文件目录:
如果使用AXMLPrinter2来进行反编译, 就没有values文件夹。
3.登录菜单
4. 看下res/values下的string.xml, 如果使用AXMLPrinter2来进行反编译, 就没有values文件夹 。
声明: 本软件仅供大家学习之用, 请尊重软件原版。
http://morry.iteye.com/blog/776718