2016年2月23日 星期二

如何decompile Android app取得Java程式碼及XML檔、圖檔等資源

1. 使用WinRAR將.apk檔,當做是.zip檔解壓縮,得到
 classes.dex等檔案

2. decompil dex檔
   解壓apk檔後,你會發現res目錄的圖片沒有加密,但java源碼編譯成了一個classes.dex檔,無法用普通的反編譯class檔的方法來處理,dex2jar可以將dex檔轉換成普通的jar包。

下載地址:
   dex2jar:http://code.google.com/p/dex2jar/downloads/list
   jd-gui:http://jd.benow.ca/
   apktool:http://code.google.com/p/android-apktool/downloads/list

   解壓下載的dex2jar,把解壓後的資料夾放到系統磁片跟目錄中並把這個目錄加到系統path變數中,就可以直接用:dex2jar.bat或dex2jar.sh轉換dex檔了。
   DOS行命令如下:dex2jar.bat xx\classes.dex(xx是classes.dex檔所在的路徑)。
   將在同目錄得到普通jar包:classes_dex2jar.jar,就可以用處理普通jar包的方法來反編譯這個jar包得到原文件。

APKDB下載地址:
  https://bitbucket.org/idoog/apkdb/downloads
  https://bitbucket.org/idoog/apkdb/downloads/Apkdb_v2.0.0_20160215.exe

說明網站:
  http://www.idoog.cn/?cat=535
"APK+Dex文件反编译及回编译工具(APKDB)2.0.0调试版20160215"
 http://hrtsea.com/15755.html

下載後執行,解壓到j:\apk目錄。
選擇語言[5]繁體(BIG5)。
選擇"[1]使用 預設圖示"。
選擇 "[Y]使用新的安裝器"。

使用方式:
  在檔案總管中,以mouse右鍵點選.apk檔,選擇"反組建"


J:\apk\Apkdb\Craining>d2j_dex2jar.bat ..\..\unpack\classes.dex

    dex2jar ..\..\unpack\classes.dex -> .\classes-dex2jar.jar



沒有留言: