本人的系统为ubuntu12.04
1)apktool,功能:反编译出apk所需要的资源文件和布局设置文件等,
下载地址:https://code.google.com/p/android-apktool/downloads/list
需要下载apktool1.5.2.tar.bz2 和apktool-install-linux-r05-ibot.tar.bz2 这两个文件,并把解压后的文件放在同一个文件夹中。
2)dex2jar,功能:反编译出jar文件,即apk的源程序文件的字节码,
下载地址:http://code.google.com/p/dex2jar/downloads/list
3)jdgui,功能:查看dex2jar反编译出的jar文件,使用该工具可以看到字节码对应的java源代码,这个我在官网上没有找到,然后自己在网上下载的,但试验过能用。点击打开后,如下图所示:
d表示decode,在当前目录下就会生成一个名为xxx的目录,里面就是反编译出来的各种资源文件,其中res表示资源文件,smali表示源代码,不过是字节码,不能直接查看。
以本人的实验为例子,如下图所示:
此时会在当前目录下生成一个目录app-debug。
d)点击打开jdgui工具,这是一个图形化的工具,然后打开上上述的classes_dex2jar.jar文件就可以看到apk对应的源代码。
对于本人的实验如下:
源代码与反编译出来的代码比较如下(白色为反编译内容,黑色为原内容):
原文地址:http://blog.csdn.net/ljianhui/article/details/38985441