我的新浪微博:http://weibo.com/u/1602714773 CSDN博客:http://blog.csdn.net/hunterno4

android反编译工具

上一篇 / 下一篇  2012-07-19 22:05:17

apktool工具

apktool下载地址:http://code.google.com/p/android-apktool/

在downloads里下载目前的最新版,下载apktool1.4.3.tar.bz2 和apktool-install-windows-r04-brut1.tar.bz2(视情况而定,这里下的是windows系统下的,如果是linux系统或macos系统则下载相应的另外一个包)两下文件;

将这两个压缩文件解压到某个目录,得到apktool.jar、aapt.exe、apktool.bat三个文件;

将所要反编译的apk文件也放到这三个文件所在的目录,例如test.apk;

使用:在命令提示符中,cd到这三个文件所在的目录,输入apktool d test.apk  即可在当前目录下得到反编译好的test目录;

用apktool工具反编译出来的结果可以很好的查看.xml文件,assets和res目录下的文件反编译后的效果都不错,但是smali目录下的文件是看不出源代码的;因此需要以下两个工具;

dex2jarJD-GUI

工具下载地址:dex2jar:   http://code.google.com/p/dex2jar/

JD-GUI:  http://java.decompiler.free.fr/?q=jdgui

将下载的dex2jar压缩文件解压出来;

将要反编译的文件如test.apk重命名为test.zip,并把test.zip解压出来,将里面的classes.dex复制放到dex2jar.bat所在的目录;

打开命令提示符,cd到dex2jar.bat所在的目录,输入dex2jar.bat classes.dex   即可在这个目录中得到classes_dex2jar.jar文件;

运行jd-gui.exe程序,用其打开上面得到的classes_dex2jar.jar文件就可以得到应用程序的java源码;

其它工具:

其它的反编译工具还有如:可以反编译.xml文件的AXMLPrinter2.jar;

可以反编译.dex文件的baksmali.jar,并将其还原的smali.jar;

但相比于比如AXMLPrinter2.jar一个一个反编译.xml文件,显然apktool效率要高的多,可以一下子就反编译应用程序中所有的.xml文件,感觉效果也更好;

同样地,dex2jar和JD-GUI组合可以反编译.dex文件后并得到java源码,价值肯定也比baksmali.jar好啊,个人是这么觉得,反编译android应用程序用上面两种工具比较好;

当然,有反编译,就会有防止反编译的方法,对于那些加了混淆代码的,我就不知道了。。。


TAG: Android android apktool dex2jar JD-GUI 反编译

 

评分:0

我来说两句

Open Toolbar