在github上瞎逛的时候找见了一个新的反编译工具Jadx
,使用简单,命令行直接搞定,感受比以前用的apktool
+dex2jar
+jd-gui
方式要方便不少。能够直接反编译.apk
文件,也能够反编译解压出的classes.dex
文件。特此记录使用过程。git
下载地址
反编译以后的GUI代码查看面板:github
按照做者指定的安装步骤进行安装,我用的是git bash
命令行工具,所有在命令行完成:windows
git clone https://github.com/skylot/jadx.git cd jadx ./gradlew dist
做者说:on Windows, use gradlew.bat instead of ./gradlew
,在windows上用gradlew.bat
代替./gradlew
,可是我在git bash
中运行的时候只认./gradlew
。bash
等上面的gradlew命令执行完以后,即可以进行反编译操做了。app
做者的说明文档中给出了一个使用的例子:工具
cd build/jadx/ bin/jadx -d out lib/jadx-core-*.jar #or bin/jadx-gui lib/jadx-core-*.jar
说明:先进入jadx文件夹,第一个命令bin/jadx -d out lib/jadx-core-*.jar
的意思是在该文件夹下建立out
目录,将lib
文件夹下的jadx-core-*.jar
文件进行反编译。反编译出的文件存放在out
目录中。
第二个命令bin/jadx-gui lib/jadx-core-*.jar
的意思是将lib
文件夹下的jadx-core-*.jar
文件进行反编译并用自带的GUI打开,效果如上图。gradle
那么按照这个思路,咱们来进行apk的反编译。
我在工程中新建了一个文件夹jadx\build\jadx\input
来存放我须要反编译的apk,而后执行命令:bin/jadx-gui input/app-debug-unaligned.apk
就开始打印反编译的log,同时打开了GUI。等GUI左下角的loading走完以后,表示反编译已经完成了。
能够看到反编译出的代码以及资源文件。若是apk是混淆过的,就会看到一系列abcd....
表示的包以及文件。ui