反编译Android项目得到源代码和资源文件
本博客主要利用开源工具对只有apk文件的Android项目进行反编译,对其内容进行参考,只为学习和交流使用。
1、下载反编译所需要的工具:
1)、dex2jar 这个工具是将.dex文件反编译为.class文件。 项目地址:http://code.google.com/p/dex2jar/
工具下载地址:http://code.google.com/p/dex2jar/downloads/detail?name=dex2jar-0.0.9.8.zip&can=2&q=
2)、JD-GUI 工具,这个工具可以将dex2jar工具反编译出来的.class文件反编译为.java文件
项目地址:http://java.decompiler.free.fr/?q=jdgui
工具下载:http://java.decompiler.free.fr/jd-gui/downloads/jd-gui-0.3.3.windows.zip
下载好文件后,将上面下载的两个工具分别解压到一个目录里
3)、下载apktool工具,用来还原apk文件中压缩后的xml文件
项目地址:http://code.google.com/p/android-apktool/
工具地址:http://android-apktool.googlecode.com/files/apktool1.4.3.tar.bz2
http://android-apktool.googlecode.com/files/apktool-install-windows-r04-brut1.tar.bz2
下载两个文件,并将两文件中的内容解压到同一个目录下
2、开始反编译
1)、将你要反编译的.apk包解压,得到classes.dx文件,并拷贝到dex2jar工具的根目录,如图:
2)、打开命令行窗口,转到dex2jar的根目录执行如下命令:dex2jar.bat classes.dex,当看到如下信息时,表示反编译为.class文件成功
这时在dex2jar的根目录下回多出一个classes_dex2jar.jar文件,反编译好的.class文件就在该jar包里
3)、利用JD-GUI工具将.class文件反编译为.java文件
运行jd-gui.exe -> 打开刚才得到的classes_dex2jar.jar文件
4)、还原资源文件
打开命令行并进入到apktool的根目录,输入如下命令: apktool.bat d d:\weibo.apk d:\weibo //这个命令中d:\weibo.apk 是你的apk文件存放目录(最好放到根目录);d:\weibo 是你还原后资源文件的存放目录(这个目录不用提前创建)
命令:
得到的文件:
注:本博客纯粹为了交流和学习,请遵守相关法律法规