反組譯(反解) APK Decompile (Android)
android-app-apk-decompile-google-play-2023
Android 的檔案是 APK 檔,想要反組譯的話,要怎麼做呢?
反組譯(反解) APK Decompile (Android)
APK 檔名:filename.xapk
- Android 抓到的 APK 是 xapk,xapk = .zip
- unzip filename.xapk # 就可以解出 filename.apk
- 使用 apktool 反組譯 APK 檔 (解出 Smali 檔)
- apt install apktool
- apktool d filename.apk
- ls com.xxx.filenameapp/smali/ # 裡面看到的都是 *.smali
- Smali 是跑在 Android Dalvik VM 上的 byte code,所以可以看,但是有些部份有點難懂
- 使用 JADX 反組譯 APK 檔 (解出 Java 檔)
- 安裝、下載 JADX
- git clone https://github.com/skylot/jadx.git
- cd jadx
- ./gradlew dist
- ls build/jadx/bin/jadx
- ls build/jadx/bin/jadx-gui
- 使用 JADX 反組譯 APK
- JADX Example:jadx -r demoapp.apk -d jadx-demoapp # -d 是要解開到 jadx-demoapp 的目錄
- ~/jadx/build/jadx/bin/jadx -r config.zh.apk -d config-de
- ~/jadx/build/jadx/bin/jadx -r com.xxx.filenameapp.apk -d filename-decompile
- 就可以在 config-de 和 filename-decompile 看到一堆 .java 檔囉~
- 安裝、下載 JADX