我们都知道将apk解压后我们能用的资源只有图片了,或者是raw文件夹下的资源。
如何我们想要看看xml,看java源代码,是看不了的,都是二进制文件。
好了,现在我们明确了我们的目标,有两个,第一是看xml文件,第二是java源代码。
因此反编译apk文件也是分这两个阶段来进行的!
所以当然是下载工具了,
下面以test.apk为例!
第一步: 装好三个工具 apktool(反编译xml)+dex2jar+xjad (后面来个是用来反编译dex的)
顺便指出apktool是一个jar文件,当然可以通过命令java -jar apktool.jar来启动,但是为了方便可以加一个windows批处理apktool-install-windows-r04-brut1.tar.bz2工具
在google source下都能找到,将其解压后并将apktool,apktool-install-windows-r04-brut1,dex2jar解压后放到jdk中的platform-tools中,
这样做的目的是添加到path下可以直接在命令行使用,同样的dex2jar也是相同的操作,加压后将所有文件加到jdk中的platform-tools中
第二步:解压test.apk为test文件夹
第三步:用命令apktool d test.apk test11得到test11文件夹,查看此文件夹中的xml文件,发现正常
第四步:用命令dex2jar classes.dex classes.jar解析之前解压后的test文件夹中的classes.dex,将会生成一个classes.jar文件
第五步:打开xjard,在文件中下拉选择反编译jar文件,选中第四步中的classes.jar会自动生成一个 ~ 开头的文件夹
第六步:整理。将第五步的文件夹copy到test11中,重命名为src,并将smail和apktool.yml删掉,大功告成!
经过本人多次测试:可以反编译成功,但是有些许代码不能完全反编译,但这并不影响我们对其研究!