1. 程式人生 > >反編譯工具及使用

反編譯工具及使用

反編譯工具及使用


反編譯大致流程:
對Dex檔案(Davilk虛擬機器的可執行檔案)進行反編譯成 Smali (Davilk的暫存器語言)
再轉化為 .class檔案

主要工具:

1 apktool
下載使用見 https://ibotpeaches.github.io/Apktool/install/
將apk放在解壓的 apktool目錄
執行:
apktool d xxx.apk

將 apk 轉換成 資原始檔 manifest assets lib

2 dex2jar
下載:https://sourceforge.net/projects/dex2jar/files/


解壓
將 apk 加上 .zip字尾 然後解壓 得到 classes.dex 檔案
放在 dex2jar 解壓的資料夾中

執行:d2j-dex2jar classes.dex

得到 jar檔案

3 jd-gui
將 jar檔案放入 jd-gui中即可

若沒有程式碼混淆 則是可以看得到所有的程式碼的

但是這裡的目錄結構 並不是真正的專案結構
只是他根據名字放在了一起

包名可以去apktool解析得到的 manifest中檢視

對於程式碼混淆的
用 simplify
但是也是需要自己分析


待實踐: