您的位置:首页 > 移动开发 > Android开发

android 如何反编译apk文件

2013-04-02 22:25 387 查看
我们都知道将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删掉,大功告成!

经过本人多次测试:可以反编译成功,但是有些许代码不能完全反编译,但这并不影响我们对其研究!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: