網上相關的文章一大堆了,我只是總結下自己的反編譯方法和工具
下載上面的三個工具的壓縮包
Apktool_v1.5.1_CHS_By_b-sf.rar dex2jar.zipjd-gui-0.3.5.windows.zip
一、反編譯 xml 等模版資源檔。
解壓 apktool 包,然後將你要反編譯的 apk 檔案拖放到 ApkModify.bat 檔案上就自動反編譯了,這個包自動繼承了一些反編譯功能,但對 java 檔案可能不行,
我用的 Lofter 網易輕博做了個實驗,classes.dex 被反編譯成了 smali 類型檔案。
二、反編譯 java 檔案
解壓 dex2jar.zip 包
將 .apk 檔案的尾碼名改為 .zip 並解壓,進入 dos 命令列模式,一路進入 dex2jar 包的目錄執行dos命令:
dex2jar D:apksApktoollofterclasses.dex
後面的路徑參數當然要修改成你的 apk 檔案解壓後的該檔案路徑哦
幾秒鐘編譯完後會產生 classes_dex2jar.jar 包檔案
三、查看並匯出 java 源碼
解壓 jd-gui 包,執行 jd-gui.exe 程式,開啟第二部產生的 classes_dex2jar.jar 檔案,此時就可以瀏覽反編譯後的源碼了(當然不是最初的源碼,變數名神馬之類的都是 a, b,c 代替了,閱讀起來比較艱難)
開啟軟體的 file 菜單,點擊 save all sources 將匯出所有源碼為 .java 源檔案
再將該 java 源檔案目錄覆蓋到第一部 產生的目錄下就可以完整的匯入到 android studio 或其他軟體中產生新的項目,這樣分析源碼就方便些了
另外 Android 初學者可加入我的360檔案分享權限設定群:Android,
開啟邀請連結:http://qun.yunpan.360.cn/38063538 ,輸入邀請碼:1267
裡面全都是我和其他網友收集的 android 和 java 相關的資料、教程、軟體等等