APK反编译之二:工具介绍
本人接触不久,有错误望请各位神牛不吝赐教,仅仅希望把自己这段时间研究的东西分享一下,如果可以帮助到有需要的童鞋万感荣幸。欢迎评论转载,但请加上转载来源谢谢!请尊重开发者劳动成果!请勿用于非法用途!
作者:lpohvbe | http://blog.csdn.net/lpohvbe/article/details/7983907
前面一节我们说过,修改APK最终是通过修改smali来实现的,所以我们接下来介绍的工具就是如何把APK中的smali文件获取出来,当然同时也需要得到AndroidManifest.xml等文件。直接修改APK后缀为ZIP得到的xml文件是不能直接打开的,需要转换一下格式才能查看和修改。横观所有的工具中,最最最强大的当然还是ApkTool,所以下面后重点介绍!OK,开始正题。
一、查看xml文件
如果只是简单的需要查看xml中的内容(例如只是想看看AndroidManifest.xml中的配置信息、主启动Activity、permission权限或布局文件等等),那么可以使用AXMLPrinter2.jar这个工具。使用方法很简单,例如想查看AndroidManifest.xml文件内容,为了方便,把AndroidManifest.xml和AXMLPrinter2.jar放到同一个目录下,在cmd中定向到该目录并输入:
java -jar AXMLPrinter2.jar AndroidManifest.xml > tmp.txt
则会在该目录下创建一个tmp.txt文档,内容就是解码后的AndroidManifest.xml的内容。
这个方法有个缺点就是只能查看,不能修改后再转换回原格式的xml文件,需要修改xml文件内容的,下面会有介绍。
二、查看java源代码
直接解压apk只得到Dalvik VM执行的classes.dex文件,要通过这个dex文件查看java源代码的话,需要使用