Apk文件的反编译
1、 首先是将下载到的apk文件用WINRAR软件解压,比如将test.apk解压后的目录如下
2、 然后是下载有关反编译的工具,链接http://wangqiaowqo.javaeye.com/blog/782648
(1) AXMLPrinter2.jar用于反编译xml布局文件的,如果是直接打开如main.xml文件的话,会看到里面的乱码是一大片
(2) dex2jar工具用于反编译class.dex文件为classes.dex.dex2rar.jar文件,具体作用下面会说到
(3) JD-GUI用于查看*.class的源代码
3、 具体操作,我们要反编译一个apk文件要有三个步骤
(1) 反编译XML文件,要使用到AXMLPrinter2.jar,首先将AXMLPrinter2.jar放到E:/lOVEAndroid/toXML文件夹里(文件夹随意指定),但是要反编译的xml文件也要放到这个文件夹里,然后进入DOS内,输入
此时,查看那个文件夹下会出现一个main.txt文件
再次查看的话就可以看到正确的XML源码了
(2) 接下来使用dex2jar工具,例如我们解压后放到E:/lOVEAndroid/dex2jar文件夹下,解压后的目录如下
此时把classes.dex文件放入到这个文件夹下,进入DOS目录下,输入
dex2jar classes.dex
此时查看这个目录可以看到多了个classes.dex.dex2jar.jar文件
(3) 最后一步用到JD-GUI工具,我们将其解压到E:/lOVEAndroid/JD-GUI目录下,并且还要把刚才的那个classes.dex.dex2jar.jar文件拷贝到这个目录下
双击jd-gui.exe程序,会进入到一个类似记事本的工具中,这个时候就可以查看源代码了
注意:可能这些工具在windows 7系统下解压后少了很多东西,比如我当时就少了dex2jar.bat等,但是用WINRAR还是可以看到这个文件,就是解压后看不到了,很恼火,后来在别人的XP系统下把它解压后,拷贝到自己的电脑里就可以了