在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