簡單的Android之apk包反編譯方法
網上相關的文章一大堆了,我隻是總結下自己的反編譯方法和工具
工具下載地址:
https://download.csdn.net/detail/zsjangel/7104663
下載上麵的三個工具的壓縮包
- Apktool_v1.5.1_CHS_By_b-sf.rar
- dex2jar.zip
- jd-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:\apks\Apktool\lofter\classes.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,
打開邀請鏈接:https://qun.yunpan.360.cn/38063538 ,輸入邀請碼:1267
裏麵全都是我和其他網友收集的 android 和 java 相關的資料、教程、軟件等等
最後更新:2017-04-03 12:55:02