如何在安裝 APK 之前查看 Android 應用程式權限

A smartphone showing a list of app permissions with a magnifying glass

當您從 Google Play 商店安裝應用程式時,Android 會顯示該應用程式可以存取的內容的簡化摘要。從非 Play 來源旁載入 APK,除非您自己閱讀清單,否則您沒有這樣的安全網。 “壁紙應用程式真的需要簡訊和麥克風存取嗎?” 正是本指南將幫助您回答的問題。

接下來是我們團隊在分類不熟悉的 APK 時使用的相同工作流程:打開它,讀取 uses-permission 條目,解碼保護級別,並將應用程式 說 所需的內容與其類別通常需要的內容進行比較。我們的 線上 APK 資訊工具 為您進行二進位 XML 解碼,因此整個過程大約需要 10 秒。

閱讀時間: 〜9分鐘。 需要的工具: 瀏覽器;可選地 apksigner 和 aapt2 如果您想從終端執行相同的檢查,請從 Android SDK 進行。 最後你將能夠做什麼: 閱讀任何 APK 的完整權限列表,找出幾乎總是表明有問題的四到五個「高影響力」請求,並在安裝之前而不是之後決定是否安裝。

為什麼要費心審核權限?

惡意開發人員獲取流行的免費應用程序,對其進行更改,然後在第三方網站上重新發布它們。雖然該應用程式的外觀和功能可能正常,但其隱藏代碼可能會複製您的聯絡人清單或錄製背景音訊。透過查看權限 預先安裝,您可以發現這些「權限蠕變」的危險訊號。

如何審核任何 APK 檔案(線上)

我們的 APK資訊工具 完全在您的瀏覽器中讀取您的檔案清單;該檔案永遠不會上傳到伺服器,也不會執行任何程式碼。使用方法如下:

過程:

  1. 請前往並使用我們的 APK資訊頁面。
  2. 選擇您的 .apk 檔案。
  3. 等待分析完成(通常 5 秒)。
  4. 向下捲動到 權限部分。
  5. 尋找高風險標誌,例如:READ_SMS、PROCESS_OUTGOING_CALLS 或 ACCESS_FINE_LOCATION。

權限危險訊號列表

如果 計算機 或 手電筒 應用程式要求 READ_CONTACTS 或 RECORD_AUDIO,請立即刪除該檔案。這些應用程式擁有該資料的合法理由為零。

了解 Android 權限級別

並非所有權限都是一樣的。 Android 將它們分為三個級別:

手動方法(使用 ZIP 檢視器)

如果您有一定的技術能力,您可以自行審核權限:

  1. 將 app.apk 重新命名為 app.zip 並開啟。
  2. 找到AndroidManifest.xml。 (注意:它是二進位格式,在文字編輯器中看起來像亂碼)。
  3. 使用 XML印表機 等工具將其轉換為可讀文字。
  4. 搜尋以 <uses-permission> 開頭的標籤。

建議:使用我們的 線上工具 會更快地為您立即解碼。

立即審核您的應用程式

準確了解您的應用程式的要求。沒有秘密,沒有風險。

檢查APK權限

AndroidManifest.xml 中實際儲存的內容

清單是應用程式聲明的每個權限、元件和功能的真實來源。在 APK 中,檔案採用 二進位XML 形式,而不是您在原始程式碼中看到的純文本,因此無法使用普通文字編輯器讀取。我們的 APK 資訊工具可解碼二進位 XML 並顯示相關標籤。最重要的是:

權限保護等級:備忘單

Android 為每個權限指派一個「保護等級」。了解請求屬於哪個層級可以告訴您作業系統將如何認真地對待它。

防護等級 使用者體驗 範例
普通的 在安裝時以靜默方式授予。沒有提示。 網路、振動、存取網路狀態、喚醒鎖定
危險的 第一次使用該功能時會出現執行時間提示。可在設定中撤銷。 攝影機、錄音音訊、讀取聯絡人、存取精細位置
簽名 僅授予使用與授予應用程式或作業系統相同的憑證簽署的應用程式。 BIND_VPN_SERVICE、INSTALL_PACKAGES(僅限系統)
簽名|特權 僅適用於系統映像的 priv-app 目錄中預先安裝的應用程式。 管理用戶、讀取日誌
應用程式/角色 需要單獨的設定流程才能啟用。 SYSTEM_ALERT_WINDOW、BIND_ACCESSIBILITY_SERVICE、MANAGE_EXTERNAL_STORAGE

「隱藏」權限的實際意義是什麼

一個常見的誤解是某些權限是秘密的。它們不是:應用程式可能使用的每個權限都必須在 AndroidManifest.xml 中聲明,並且作業系統拒絕授予此處未列出的任何權限。人們通常所說的「隱藏」是指以下兩件事之一:

無論哪種方式,答案都是一樣的:閱讀清單,不要相信 Play 商店本身的描述。

工作範例:審核真實的 APK

假設您的下載資料夾中有 example.apk。這是確切的工作流程:

  1. 在瀏覽器中開啟 APK資訊工具。
  2. 將 APK 拖放到上傳區域。處理發生在本機;該檔案不會離開您的裝置。
  3. 閱讀 權限 部分。每個條目都顯示常數名稱 (android.permission.READ_CONTACTS 及其允許的簡單語言描述)。
  4. 將清單與應用程式的類別進行比較。粗略地,預計:
    • 相機應用程式: CAMERA、RECORD_AUDIO(用於視訊)、STORAGE/MEDIA 寫入
    • 訊息應用程式: INTERNET、READ_CONTACTS、SEND_SMS(僅基於簡訊)、RECORD_AUDIO(用於語音註釋)、CAMERA(用於發送照片)
    • 遊戲: INTERNET,有時RECORD_AUDIO(用於遊戲內語音聊天),計費相關權限;很少有其他事情
    • 實用應用程式(計算機、手電筒、天氣):INTERNET(用於廣告)、ACCESS_NETWORK_STATE,可能是 LOCATION(僅限天氣)。除此之外的任何事情都是可疑的。
  5. 如果清單中的任何內容不符合該類別,請不要安裝。計算器沒有充分的理由需要簡訊訪問。

無論檔案是 APK、XAPK(我們在其中讀取內部基礎 APK)還是 APKS 捆綁包(在其中我們讀取每個拆分的清單),都適用相同的邏輯。

從命令列執行此操作

如果您喜歡終端路線,Android SDK 附帶 aapt2,它以純 XML 格式轉儲來自任何 APK 的清單:

aapt2 dump badging example.apk | grep "uses-permission"

或同時使用apksigner來驗證簽章憑證:

apksigner verify --print-certs example.apk

對於那些不想安裝 SDK 只是為了檢查單一檔案的用戶,瀏覽器工具可以執行相同的操作。

常見問題 (FAQ)

安裝 APK 後可以拒絕權限嗎?

是的。在 Android 6.0 及更高版本上,您可以前往 設定 > 應用程式 > [應用程式名稱] > 權限 開啟或關閉各個危險權限。

XAPK 檔案是否有不同的權限?

一個 XAPK 包含一個或多個 APK。裡面的每個 APK 都有自己的清單。我們的工具將分析捆綁包中的 主要APK 以向您顯示相關權限。

為什麼每個應用程式都要求「網路存取」?

幾乎所有應用程式都需要存取互聯網才能進行分析、錯誤報告或廣告。雖然這很常見,但這也是將被盜資料發送到駭客伺服器的方式。

在點擊安裝之前檢查清單權限

你無法判斷你看不到的東西。在旁加載之前花十秒 查看APK的權限 是了解應用程式可以達到的目標和只是希望它表現出來的差異。首先閱讀列表,然後安裝。

由 Shaefale 女士設計並記錄 首席開發人員和 Android 套件架構師 • 在 Android 12–15 上經過驗證

Mst Shaefale 在 xapktoapk.com 維護用戶端 XAPK/APKS 合併、二進位清單解析器和 APK v1+v2 簽章工具。發現過時的命令或作業系統變更?發送編輯說明。