反組譯(反解) APK Decompile (Android)

反組譯(反解) APK Decompile (Android)

android-app-apk-decompile-google-play-2023

Android 的檔案是 APK 檔,想要反組譯的話,要怎麼做呢?

反組譯(反解) APK Decompile (Android)

APK 檔名:filename.xapk

  1. Android 抓到的 APK 是 xapk,xapk = .zip
    • unzip filename.xapk # 就可以解出 filename.apk
  2. 使用 apktool 反組譯 APK 檔 (解出 Smali 檔)
    1. apt install apktool
    2. apktool d filename.apk
    3. ls com.xxx.filenameapp/smali/ # 裡面看到的都是 *.smali
    4. Smali 是跑在 Android Dalvik VM 上的 byte code,所以可以看,但是有些部份有點難懂
  3. 使用 JADX 反組譯 APK 檔 (解出 Java 檔)
    1. 安裝、下載 JADX
      1. git clone https://github.com/skylot/jadx.git
      2. cd jadx
      3. ./gradlew dist
        • ls build/jadx/bin/jadx
        • ls build/jadx/bin/jadx-gui
    2. 使用 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 檔囉~

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料