閱讀614 返回首頁    go iPhone_iPad_Mac_apple


簡單的Android之apk包反編譯方法

網上相關的文章一大堆了,我隻是總結下自己的反編譯方法和工具


工具下載地址:

https://download.csdn.net/detail/zsjangel/7104663


下載上麵的三個工具的壓縮包

  1. Apktool_v1.5.1_CHS_By_b-sf.rar 
  2. dex2jar.zip
  3. 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

  上一篇:go Debug與Release的區別
  下一篇:go JavaWeb將圖片顯示在瀏覽器中