1. 程式人生 > >linux環境下反編譯apk

linux環境下反編譯apk

kali linux

apktool

apktool d -f xxx.apk -o xxx

反編譯後生成的檔案目錄

名稱 存放內容
assets (未被編譯)專案的assets資料夾
res (未被編譯)專案的res資料夾 裡面可以清楚的看到values, layout, drawble,anim,mipmap資料夾
smali (被編譯)專案的Java檔案,這裡表現的不是.Java格式,是.smali格式

造成這個現象的原因是:

Android 的 assets 和 res 檔案都不會編譯為二進位制檔案,所以反編譯後,基本都是能看到它的全貌.

Android 中 .Java 檔案,在 JVM 編譯之後變成 .class 檔案,然後再經過Android 的虛擬機器 Dalvik,程式碼編譯為 .smali 檔案



dex2jar

把hamalx.apk改成zip再解壓 得到classess.dex

jd-gui

kail裡沒有

下載地址http://jd.benow.ca/

輸入java -jar jd-gui-1.4.0.jar執行jd-gui

END