APK 資訊檢視器

在安裝 Android 應用程式套件之前,先檢視其宣告內容:版本、權限、元件、簽署憑證等。

就緒。拖放 APK 即可進行檢視。

APK 僅會在您的裝置上進行完整解析:不會上傳任何資料,且檔案只會被讀取,絕不會進行安裝或執行。

常見問題

不安裝 APK 的情況下,我可以從中得知什麼?

可以得知相當多的資訊:應用程式的套件名稱與版本、所需的 Android 版本、要求的所有權限、所宣告的畫面與背景元件、原生程式碼支援的處理器類型,以及簽署該應用程式的憑證。

這個工具可以告訴我某個 APK 是否為惡意程式嗎?

不行。請對任何聲稱透過快速掃描就能給出判定結果的工具保持懷疑。此工具提供給您的是事實:權限、元件、簽署者與雜湊值。請將這些資訊與開發者公佈的內容進行比對,若發現預期之外的權限,或簽署者與官方發布的不同,請提高警覺並避免安裝。

支援哪些檔案格式?

支援大小上限為 500 MB 的單一 APK 檔案。由於分割套件(XAPK、APKM)和 Android App Bundle (.aab) 屬於容器或發布格式而非單一可安裝套件,因此系統會拒絕讀取並顯示明確的訊息,而不會產生容易混淆的報告。

簽署詳細資料代表什麼意思?

每個 Android 應用程式都會經過簽署,憑證可用以識別其發布者。您可在此查看套件所支援的簽署機制(v1、v2、v3),以及各簽署者的主體、有效期限、MD5、SHA-1 與 SHA-256 指紋。指紋相符的兩個 APK 來自相同的發布者,但您仍需自行判斷是否信任該發布者。

權限上的「危險」標籤是什麼意思?

這是 Android 自身的分類:危險權限可能會存取私密資料(例如位置、聯絡人、相機、麥克風、儲存空間),因此系統會在授權前徵求使用者同意。此標籤並非指控,地圖應用程式要求存取位置屬於正常現象,它只是標記出那些值得您仔細閱讀兩遍的權限。

瀏覽器端 APK 靜態分析技術

「APK 資訊檢視器」是一款免安裝的線上工具,專為 Android 應用程式套件(APK)提供即時的靜態分析。本工具完全在使用者瀏覽器的本機環境中運作,透過解析套件內部的結構與元數據,讓使用者在實際安裝應用程式至行動裝置之前,能先一步掌握其底層技術細節與安全宣告。

本工具的運作機制是在瀏覽器分頁內建立本機 Worker 執行緒,直接讀取並解析上傳的檔案。這意味著整個分析過程(包括檔案讀取、密碼學雜湊計算及套件結構解析)皆不會將任何資料傳送至外部伺服器,檔案亦不會在您的裝置上被執行或安裝,保障了極高的私密性與安全性。


輸入限制與錯誤處理機制

為了確保瀏覽器運作流暢並避免記憶體溢出,本工具設有明確的輸入規範與防錯機制:

  • 單一檔案限制:本工具每次僅能處理一個 .apk 檔案。若使用者同時拖放多個檔案,系統將僅處理第一個檔案,並顯示提示訊息:一次只能處理一個檔案,正在檢視第一個檔案。
  • 檔案大小上限:僅接受不超過 500 MB 的檔案。若檔案超出此限制,系統將拒絕處理並顯示錯誤:此檔案大於 500 MB,超出瀏覽器分頁的安全檢視範圍。
  • 格式相容性檢查
    • 分割套件:若偵測到 XAPK 或 APKM 等分割套件,系統會阻擋並提示:這是 XAPK 分割套件,內含多個 APK 的容器。請改為解壓縮並檢視基礎 APK 檔案。
    • Android App Bundle:若上傳 .aab 發布格式,系統會提示:這是 Android App Bundle (.aab),屬於發布格式而非可安裝的 APK。請改為檢視建構後的 APK。
    • 非 APK 檔案:若檔案內缺少關鍵的 AndroidManifest.xml,系統會判定為非 Android 套件並顯示:此檔案看起來不像 APK:找不到可讀取的 AndroidManifest.xml。
  • 損壞與讀取失敗:針對損壞或不完整的套件,系統會顯示 此套件可能已損壞或遭截斷,因此無法讀取其內容。;若遇上一般性讀取錯誤,則會提示 無法讀取檔案,請重新選取。檢視失敗,請嘗試其他檔案。

狀態指示與操作流程

當使用者將檔案拖放到顯示有 將 APK 拖放至此或點擊以選擇(副標題為 單個.apk 檔案,上限 500 MB)的區域時,工具會依序經歷以下狀態:

  1. 初始狀態:顯示 就緒。拖放 APK 即可進行檢視。
  2. 讀取檔案:顯示 正在讀取 ‹name›…
  3. 計算雜湊:顯示 正在計算檔案雜湊值 — ‹percent›%
  4. 解析套件:顯示 正在解析套件…
  5. 完成分析:顯示 報告已備妥。

分析完成後,使用者可點擊 下載報告 按鈕匯出完整數據,或點擊 清除 按鈕重設介面,此時系統會分別顯示 報告已下載。已清除。


報告欄位與技術指標解析

本工具產生的分析報告分為七大核心區塊,完整呈現 APK 的靜態配置:

1. 系統需求 (系統需求)

此區塊呈現應用程式相容的 Android 版本資訊:

  • 最低 Android (最低 Android):顯示為 Android ‹version› (API ‹level›)API ‹level›,定義了可安裝此程式的最低系統門檻。
  • 目標 Android (目標 Android):顯示為 Android ‹version› (API ‹level›)API ‹level›,代表開發者設計與測試時所針對的 SDK 版本,這會直接影響系統對該程式啟用的安全行為與權限模型。
  • 最高 SDK:若套件有限制最高支援版本,會顯示 最高 SDK ‹n›

2. 權限宣告 (權限)

列出 APK 申請的所有 Android 系統權限。為了協助使用者快速識別潛在風險,本工具會將被 Android 官方定義為會存取私密數據(如聯絡人、定位、相機等)的權限排在列表最上方,並在其旁標註紅色的 危險 標籤。

3. 應用程式元件 (元件)

Android 應用程式的四大元件會被分類列出,且每類別最多僅顯示 100 筆項目,超出時會以 還有 +‹count› 個 標記:

  • Activities:應用程式的互動畫面。若元件允許被其他應用程式啟動,會標註 已匯出
  • Services:背景執行緒。允許外部呼叫時標註 已匯出
  • Receivers:廣播接收器。允許接收系統或外部廣播時標註 已匯出
  • Providers:內容提供者。會顯示其授權網域(Authority),若無則顯示 None,允許外部存取時標註 已匯出

4. 原生程式碼 (原生程式碼)

顯示該 APK 所支援的處理器架構(ABI,例如 arm64-v8a、armeabi-v7a、x86_64)以及對應的原生動態連結庫(.so 檔案)數量。

5. 資源統計 (資源)

統計套件內部的靜態資源分佈,包含:

  • 螢幕密度:支援的螢幕解析度適配目錄。
  • 資源檔案:XML 配置與圖檔等。
  • 資產檔案assets/ 目錄下的原始檔案。
  • 代碼檔案 (.dex):編譯後的 Dalvik 執行檔數量。
  • 套件內的檔案:APK 壓縮檔內的總檔案數。

6. 簽章資訊 (簽章)

本工具會從 v1 (PKCS#7) 區塊以及 v2、v3、v3.1 簽署區塊中提取 X.509 憑證元數據。針對每個簽署者(顯示為 簽署者 ‹n›),會列出以下欄位:

  • 主體發行者序號
  • 有效起始日期有效截止日期
  • 簽章演算法金鑰演算法
  • 憑證的 MD5、SHA-1 與 SHA-256 指紋。

注意:本工具僅提取並顯示憑證元數據,並不會進行密碼學上的完整性驗證、憑證鏈信任驗證,亦無法核實發行者的真實世界身分。若套件未簽署或遭篡改導致找不到簽章,會顯示:找不到識別的簽章區塊 — 此套件可能未簽署或已被重新打包。

7. 檔案雜湊值 (檔案雜湊值)

提供整個 APK 檔案的 MD5、SHA-1 與 SHA-256 雜湊值,便於使用者與官方發布管道提供的雜湊值進行比對,確保檔案未被篡改。


常見問題

不安裝 APK 的情況下,我可以從中得知什麼?

可以得知相當多的資訊:應用程式的套件名稱與版本、所需的 Android 版本、要求的所有權限、所宣告的畫面與背景元件、原生程式碼支援的處理器類型,以及簽署該應用程式的憑證。

這個工具可以告訴我某個 APK 是否為惡意程式嗎?

不行。請對任何聲稱透過快速掃描就能給出判定結果的工具保持懷疑。此工具提供給您的是事實:權限、元件、簽署者與雜湊值。請將這些資訊與開發者公佈的內容進行比對,若發現預期之外的權限,或簽署者與官方發布的不同,請提高警覺並避免安裝。

支援哪些檔案格式?

支援大小上限為 500 MB 的單一 APK 檔案。由於分割套件(XAPK、APKM)和 Android App Bundle (.aab) 屬於容器或發布格式而非單一可安裝套件,因此系統會拒絕讀取並顯示明確的訊息,而不會產生容易混淆的報告。

簽署詳細資料代表什麼意思?

每個 Android 應用程式都會經過簽署,憑證可用以識別其發布者。您可在此查看套件所支援的簽署機制(v1、v2、v3),以及各簽署者的主體、有效期限、MD5、SHA-1 與 SHA-256 指紋。指紋相符的兩個 APK 來自相同的發布者,但您仍需自行判斷是否信任該發布者。

權限上的「危險」標籤是什麼意思?

這是 Android 自身的分類:危險權限可能會存取私密資料(例如位置、聯絡人、相機、麥克風、儲存空間),因此系統會在授權前徵求使用者同意。此標籤並非指控,地圖應用程式要求存取位置屬於正常現象,它只是標記出那些值得您仔細閱讀兩遍的權限。