APK 資訊檢視器

在安裝 Android 應用程式套件之前,先查看其宣告內容——版本、權限、元件與簽章憑證。

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

APK 完全在你的裝置上進行解析:不會上傳任何內容,且檔案僅供讀取——絕不會進行安裝或執行。

常見問題

不安裝 APK 可以從中了解到什麼?

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

這個工具能告訴我 APK 是否為惡意軟體嗎?

不行——對於任何承諾透過快速掃描就能給出判定結果的工具,請保持懷疑。你在這裡取得的是事實:權限、元件、簽署者與雜湊值。將它們與開發者公佈的內容進行比對,若發現非預期的權限或與官方版本不同的簽署者,請將其視為放棄安裝的理由。

支援哪些檔案?

最大 500 MB 的單一 APK 檔案。分割套件(XAPK、APKM)與 Android App Bundles (.aab) 屬於容器或發布格式,而非單一可安裝套件,因此系統會拒絕並顯示明確訊息,而不是產生令人混淆的報告。

簽章詳細資料能告訴我什麼?

每個 Android 應用程式都有簽章,憑證會識別其發布者。你可以看到套件所帶有的簽章方案(v1、v2、v3)以及各個簽署者的主體、有效期限,以及 MD5、SHA-1 和 SHA-256 指紋。指紋相符的兩個 APK 來自相同的發布者——至於你是否信任該發布者,則由你自己判斷。

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

這是 Android 自身的分類:危險權限可以存取私密資料——位置、聯絡人、相機、麥克風、儲存空間——因此系統會在授予權限前詢問使用者。此標籤並非指控;地圖應用程式要求位置權限是很正常的。它只是標記出那些值得仔細閱讀兩次的權限。

瀏覽器端 APK 靜態分析技術

「APK 資訊檢視器」是一款在瀏覽器內運作的線上工具,專為在安裝 Android 應用程式套件(APK)之前,協助使用者檢查其內部宣告內容與中介資料而設計。本工具採用靜態分析技術,直接讀取並解析套件資訊,無須實際執行或安裝該應用程式,即可協助使用者驗證 APK 的真實性,並與官方發布的版本進行比對。

為了確保資料隱私與安全性,本工具的所有檔案讀取、雜湊值計算與套件解析工作,皆完全在使用者瀏覽器本機的 Web Worker 中執行。整個處理過程中,檔案不會上傳至任何外部伺服器,且檔案僅供讀取,絕不會在使用者的裝置上進行安裝或執行。

本工具支援單一 .apk 格式檔案,檔案大小上限為 500 MB。若使用者同時拖入多個檔案,系統僅會處理第一個檔案,並顯示「一次只能處理一個檔案——正在檢視第一個檔案。」的提示。


Android 系統需求與版本相容性

在「系統需求」(系統需求) 區段中,本工具會解析並呈現該 APK 所設定的 Android 軟體開發套件(SDK)版本限制:

  • 最低 Android 版本 (最低 Android 版本):應用程式運作所需的最低系統版本,顯示格式為 Android ‹version› (API ‹level›)API ‹level›
  • 目標 Android 版本 (目標 Android 版本):開發者設計與測試該應用程式時所針對的系統版本,這會決定應用程式在不同 Android OS 版本上的安全行為與相容性特徵。
  • 最高 SDK (最高 SDK ‹n›):若 APK 中有定義適用之上限,則會顯示此欄位。

這些 SDK 版本設定直接決定了應用程式的相容性邊界,也是評估應用程式是否能在特定 Android 裝置上安全運作的重要指標。


權限宣告與安全風險評估

在「權限」(權限) 區段中,工具會列出該 APK 申請的所有權限。Android 系統將權限分為不同安全等級,其中涉及存取使用者私密資料(如位置、聯絡人、相機、麥克風、儲存空間)的項目,會被歸類為危險權限。

為了便於使用者快速識別潛在風險,本工具在解析權限時會採用以下規則:

  1. 優先排序:所有權限在列表中會進行排序,將帶有「危險」(危險) 標籤的權限優先置於列表頂端。
  2. 危險標記:凡是符合 Android 官方定義、可存取私密資料的權限,其旁皆會顯示紅色的「危險」標籤。

使用者可藉此評估應用程式所請求的權限,是否與其宣稱的功能相符,以避免安裝過度索求權限的惡意套件。


應用程式元件與資源結構

Android 應用程式由多個核心元件構成,本工具在「元件」(元件) 區段中會將其分類顯示,並針對每個類別最多顯示 100 筆項目,超出限制時則會附加「還有 ‹count› 個」(還有 ‹count› 個) 的標記:

  • Activities:應用程式的互動畫面,若可被其他應用程式呼叫,會標示「已匯出」(已匯出)。
  • Services:在背景執行的工作,同樣會標示「已匯出」狀態。
  • Receivers:接收系統或應用程式廣播事件的接收器,會標示「已匯出」狀態。
  • Providers:資料共享介面,會顯示其供應商授權(Authority)或「無」(None),並標示「已匯出」狀態。

此外,在「原生程式碼」(原生程式碼) 與「資源」(資源) 區段中,工具會呈現以下結構資訊:

  • 處理器架構:支援的 ABI 類型與原生程式庫數量。
  • 資源統計:包含「螢幕畫素密度」(螢幕畫素密度)、「資源檔」(資源檔)、「資產檔」(資產檔)、「程式碼檔案 (.dex)」(程式碼檔案 (.dex)) 以及「套件中的檔案」(套件中的檔案) 總數。

程式碼簽章與安全憑證驗證

在「簽章」(簽章) 區段中,工具會提取 APK 內部的 X.509 憑證資訊。Android 系統利用簽章機制來建立發布者身分,本工具支援從 v1 (PKCS#7) 以及 APK 簽章區塊(v2、v3、v3.1 方案)中提取中介資料,並顯示以下欄位:

  • 簽署者編號(如 簽署者 ‹n›
  • 主體 (主體)、發行者 (發行者)、序號 (序號)
  • 有效起始日 (有效起始日) 與有效截止日 (有效截止日)
  • 簽章演算法 (簽章演算法) 與金鑰演算法 (金鑰演算法)
  • MD5、SHA-1、SHA-256 憑證指紋

若套件未包含任何可識別的簽章資訊,系統則會顯示「找不到可辨識的簽章區塊 — 此套件可能未經簽署或已被重新打包。」。請注意,本工具僅提取並呈現憑證中介資料,並不會對簽章進行密碼學上的完整性驗證,亦不會驗證憑證信任鏈或發行者的真實世界身分。


檔案雜湊值與異常處理機制

在「檔案雜湊」(檔案雜湊) 區段中,工具會計算並顯示該 APK 檔案整體的 MD5、SHA-1 與 SHA-256 雜湊值,供使用者與官方發布的雜湊值進行比對,以確保檔案未被篡改。

在解析過程中,工具會針對各種異常與邊界情況輸出明確的錯誤訊息:

異常狀況 顯示錯誤訊息
檔案大小超過 500 MB 此檔案超過 500 MB——大到超出瀏覽器分頁安全檢視的範圍。
檔案為 XAPK/APKM 分割套件 這是 XAPK 分割套件——包含多個 APK 的容器。請解壓縮出基礎 APK 並改為檢視該檔案。
檔案為 Android App Bundle (.aab) 這是 Android App Bundle (.aab)——屬於發布格式,而非可安裝的 APK。請改為檢視建構後的 APK。
非 APK 檔案(無 AndroidManifest.xml) 這看起來不像 APK:在內部找不到可讀取的 AndroidManifest.xml。
檔案損壞或不完整 此套件看起來已損壞或遭截斷,因此無法讀取其內容。
檔案讀取失敗 無法讀取檔案。請重新選擇。
其他解析失敗 檢視失敗。請嘗試其他檔案。

常見問題

不安裝 APK 可以從中了解到什麼?

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

這個工具能告訴我 APK 是否為惡意軟體嗎?

不行——對於任何承諾透過快速掃描就能給出判定結果的工具,請保持懷疑。你在這裡取得的是事實:權限、元件、簽署者與雜湊值。將它們與開發者公佈的內容進行比對,若發現非預期的權限或與官方版本不同的簽署者,請將其視為放棄安裝的理由。

支援哪些檔案?

最大 500 MB 的單一 APK 檔案。分割套件(XAPK、APKM)與 Android App Bundles (.aab) 屬於容器或發布格式,而非單一可安裝套件,因此系統會拒絕並顯示明確訊息,而不是產生令人混淆的報告。

簽章詳細資料能告訴我什麼?

每個 Android 應用程式都有簽章,憑證會識別其發布者。你可以看到套件所帶有的簽章方案(v1、v2、v3)以及各個簽署者的主體、有效期限,以及 MD5、SHA-1 和 SHA-256 指紋。指紋相符的兩個 APK 來自相同的發布者——至於你是否信任該發布者,則由你自己判斷。

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

這是 Android 自身的分類:危險權限可以存取私密資料——位置、聯絡人、相機、麥克風、儲存空間——因此系統會在授予權限前詢問使用者。此標籤並非指控;地圖應用程式要求位置權限是很正常的。它只是標記出那些值得仔細閱讀兩次的權限。