# APK Analyzer

> 在瀏覽器中分析 Android APK：套件資訊、權限、元件、v1/v2/v3 簽章憑證、原生函式庫（.so）的符號與函式名稱，以及 Java/Kotlin 類別瀏覽器。完全不上傳。

- URL: https://bytescope.dev/zh-Hant/apk-analyzer/
- Locale: zh-Hant · Also: [en](https://bytescope.dev/en/apk-analyzer.md) · [ja](https://bytescope.dev/ja/apk-analyzer.md)
- Runs: 檔案不會離開你的瀏覽器 — 全部在本機處理。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

這個 APK 分析器會解開 Android 的 `.apk` 檔案，讓你看清裡面到底裝了什麼：套件名稱與版本、完整的權限清單（危險權限會特別標示）、每一個 activity、service、receiver 與 provider（匯出的元件會醒目呈現）、v1/v2/v3 簽章背後的簽署憑證，以及檔案位元組的組成分析。它適合開發者檢查自己的建置產物、注重安全的使用者在安裝前審視 APK，也適合任何好奇一個 app 實際要求了哪些東西的人。

它還能挖得比 manifest 更深。原生函式庫區塊會列出每一個內含的 `.so`、標示它是否已 stripped，並可依需求解析 ELF 符號表來顯示 C++ 函式名稱 —— 包含 `.dynsym` 的匯出符號，以及（若存在）`.symtab` 的完整清單，都會經過 demangle，並把 JNI（`Java_…`）進入點優先列出。程式碼瀏覽器會把 DEX bytecode 反組譯成 Smali，讓你瀏覽每一個 Java 與 Kotlin 類別和方法、跳到定義，並過濾到只看 app 自己的程式碼。

所有處理都在你的瀏覽器中進行。APK 本質上是一個 ZIP 壓縮檔，工具會讀取它的 central directory、只解壓縮需要的項目、解析二進位格式的 AndroidManifest.xml 與 resources.arsc、擷取原生符號與 DEX 程式碼，並用 Web Crypto API 計算憑證指紋 — 全程在本機完成，沒有任何上傳。想線上檢查 apk 權限、檢視原生函式庫符號或驗證 apk 簽章、又不想把檔案交給伺服器，用它最快。

## Limits

Does not decompile DEX to Java source, does not run or install the app, and does not scan for malware.

## FAQ

### 我的 APK 會被上傳到伺服器嗎？

不會。APK 完全在你的瀏覽器中以 JavaScript 和 Web Crypto API 解壓縮並解析 — 檔案不會離開你的裝置。沒有上傳步驟，檔案大小也只受限於你電腦的記憶體。

### 不反編譯 APK 的情況下，它怎麼讀取 AndroidManifest.xml？

APK 內的 AndroidManifest.xml 是以 Android 的二進位 XML（AXML）格式儲存，而不是純文字。這個工具內建從零打造的 AXML 解析器，直接讀取字串池與 chunk 結構，並搭配 resources.arsc 解析器來取得應用程式的名稱與圖示。

### 危險權限與特殊權限旗標代表什麼？

危險權限（以洋紅色標示）是使用者必須明確授權的執行階段權限 — 例如相機、位置、聯絡人、簡訊等。特殊權限（橘色）是 appop 或需簽章授權的能力，例如顯示在其他應用程式上層或安裝套件。一般權限則在安裝時自動授予。

### 支援哪些簽章方案？

v1（JAR 簽章，來自 META-INF 的 PKCS#7 區塊）、v2 和 v3（來自 APK Signing Block）。工具會顯示存在哪些簽章方案，並擷取簽章憑證的主體、簽發者、有效期限，以及 SHA-1 / SHA-256 指紋 — 方便你確認 APK 確實來自預期的發行者。

### 支援 .xapk、.apks、.apkm 和 SAI bundle 嗎？

支援。當你拖入 .xapk、.apks、APKMirror 的 .apkm 或 SAI 匯出的容器時，工具會找出其中的 base（或 universal）APK 進行分析，並利用容器本身的中繼資料（manifest.json、toc.pb、info.json 或 meta.sai）來分類 split。舊式加密的 .apkm 檔無法在本機讀取。MVP 階段不會合併 split 設定 APK。

### 為什麼某些元件的 exported 旗標會被特別標示？

標示為 android:exported="true" 的元件可以被裝置上的其他應用程式啟動，是安全檢查的常見重點。工具會標示出被匯出的 activity、service、receiver 和 provider，讓你可以快速找到它們。

### 可以列出 APK 原生 .so 函式庫的符號與函式名稱嗎？

可以。對每一個原生函式庫（.so），分析器都會在你的瀏覽器中解析 ELF 符號表：判斷該函式庫是否已 stripped、列出 .dynsym 的匯出函式，以及（若存在）.symtab 的完整函式清單，對 C++ 名稱做 demangle，並把 JNI（Java_…）進入點優先列出。還可用過濾器隱藏編譯器與 STL 產生的雜訊，讓有意義的符號更突出。分割套件也支援 —— 會彙整 .xapk/.apks/.apkm 內所有 APK 的符號。

### 可以瀏覽 APK 裡的 Java 與 Kotlin 類別和方法嗎？

可以。程式碼瀏覽器會完全在你的瀏覽器中把 DEX bytecode 反組譯成 Smali，讓你瀏覽每一個 Java 與 Kotlin 類別和方法、跳到定義、搜尋，並過濾到只看 app 自己的套件、而非框架與第三方函式庫。.xapk / .apks 分割套件的 base APK 也能讀取其類別。
