所謂工慾善其事必先利其器,首先從官網拿到最新的反編譯工具:
APK反編譯工具:
- dex2jar:https://github.com/pxb1988/dex2jar(原網址:http://code.google.com/p/dex2jar/downloads/list)
- Apktool:http://ibotpeaches.github.io/Apktool/(原網址:http://code.google.com/p/android-apktool/downloads/list)
- jd-gui:http://jd.benow.ca/
然後我們把下到的工具放到同一個目錄:如我放在D:\apkTools目錄,重命名apktool爲apktool.jar,因爲下到的apktool帶有版本號如apktool_2.1.1.jar;把其它工具解壓
:就得到
準備一個測試apk(eclipse或androidstudio打包,混淆文件爲eclipse或androidstudio默認帶的),如Test_android.apk,複製一個副本重命名爲Test_android.zip,然後解壓,你就可以看到一些東西了,不過這種方式看到的大部分文件內容都是亂碼,基本不可讀。不過不用擔心,通過apktool我們就可以得到除代碼文件外的大部分刻可讀文件了,具體步驟如下:
- 把apktool的路徑配置到系統環境變量中,
- D:\apkTools>apktool d Test_android.apk(cmd命令行執行)
之後就得到反編譯的Test_android文件夾,裏面的資源文件基本和原文件一樣,還原率超高。
不過對於java文件就看不了,因爲這種方式得到的是.smali文件,必須通過另一種方式。如圖
CMD:d2j-dex2jar ../Test_android.apk
經過這一步之後就生成了一個jar文件,在
之後用jd-gui.exe打開Test_android-dex2jar.jar,就得到了源代碼,
最後奉上寫此篇博文用到的最新工具,希望對大家有用!