偶尔在开发过程中,反编译别人的apk,借鉴一下思路。 由于用的不多,反编译的工具和步骤容易忘记,在这里记录一下。
反编译的目的是获取到apk的 布局文件(xml) 、 代码文件(java)
工具方面:
1. apktool.jar
2. dex2jar-2.0.zip
3. jd-gui.zip
第一个工具是获取xml文件的。第二个和第三个工具配合,可以得到java文件。
1. apktool.jar 获取xml文件
将工具下载到电脑上。通过cmd 命令 执行工具。
java -jar apktool.jar d xxx.apk
执行完成,会生成一个和apk同名的文件夹。
文件夹里面如上图。这样,res和AndroidManifest.xml都可以看到了
2. dex2jar-2.0.zip 和 jd-gui.zip 配合获取java文件
将这两个工具都解压。 然后把apk的后缀名改成rar,解压。
在apk的解压文件里。找到 classes.dex 文件。将它复制到解压好的 dex2jar-2.0 文件夹下。
在cmd命令下,进入dex2jar-2.0 文件夹下。执行
d2j-dex2jar classes.dex
这样就得到 classes-dex2jar.jar 和 classes-error.zip 文件。 (classes-error.zip 用不到)
接着双击 jd-gui文件中的 jd-gui.exe, 并将 classes-dex2jar.jar 拖入 ,就可以看到代码了。
因为看到的还是class文件。我们需要的是Java文件,点击 左上角的file 》 save all sources 将java文件保存。
ok,这时候xml 和java 都拿到了。