http://blog.youkuaiyun.com/hualangdao/article/details/6195519
Apk文件的反编译
具体步骤:
首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;比如将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系统下把它解压后,拷贝到自己的电脑里就可以了
本文详细介绍了如何对APK文件进行反编译,包括修改文件后缀、解压获取classes.dex文件,以及利用AXMLPrinter2.jar、dex2jar工具和JD-GUI等工具对XML布局文件和DEX文件进行反编译并查看源代码。
4621

被折叠的 条评论
为什么被折叠?



