契機
注意:Hide My Applist 並不是隱藏 ROOT 的手段,僅避免讀取應用列表
。
現在 Android 的玩家越來越少最主要的原因除了 Google 的 SafetyNet Attestation API 外還有另一個最常發生的問題,為什麼某某應用程式無法開啟、顯示錯誤甚至直接閃退,這是因為這些應用用了很陽春或暴力的方式來檢測是否有安裝自認為非法
的應用程式,而這個方式就是讀取手機內的應用程式列表
。
應用程式為了安全性或其他原因決定用最暴力的方式來阻止使用者安裝 root
,可是有時候使用者用了 root
並不是針對某些應用程式進行非法的操作,就像是 MOMO 內提到的:
引用自 MOMO
使用正確的方法檢測系統環境,但是目的並不是反對 root 或 Xposed。
通過公開檢測方法(部分方法未公開),我們的目標是提高用戶的知識水平,並且迫使開發者們做出正確的改進。
為什麼越來越多的 APP 開始檢測 root 或 Xposed?最大的原因是不正確使用 root 特別是 Xposed,給它們帶來了意想不到的狀況與安全問題。
我們作出以下倡議,這些變化旨在使非目標應用的環境完全不被修改。最終,將有利於整個 Android 生態體系。
- 讓 su 掛載到需要 root 的 APP 上,而不是所有 APP。
- 禁止關閉 SELinux 強制模式,只在必要時添加最小化的允許規則。除非目標為 root 域,否則其它任何情況都不能添加來源是 untrusted_app 系列域的允許規則。
- 為了避免給無關 APP 帶來問題,Xposed 必須只注入目標進程。杜絕不加分辨地註入所有 APP。
Hide My Applist 就是為此而生,在確保我們的使用環境安全後我們就可以嘗試避免被應用程式暴力的讀取程式列表
,本文就是教你如何優雅的防止應用程式暴力的讀取程式列表
。
所需環境
注意:本文不包含如何安裝。
最低需求,請先提前安裝。
- Android 8.1+
- Magisk
- Riru v26+
- LSPosed (Riru)
注意:每一台設備的狀況都不一樣,本文環境僅供參考。
- Android 12 (Pixel 4 XL SQ1A.211205.008)
- Magisk Lite 318be679
- Riru v26.1.4
- LSPosed v1.6.5
Hide My Applist 安裝
ApplistDetector 可不必安裝,不過建議安裝。
注意:CI 版版並不會額外說明如何下載。
安裝 Hide My Applist
- 至
Hide My Applist
註1 的 Github 下載,可以使用已公布的穩定版,或是使用Actions
編譯的 CI 版。 - 安裝後啟動
LSPosed
>模組
>Hide My Applist
>啟用模組
>系統框架
註2。 - 重新啟動手機。
- 開啟
Magisk
提前授予Hide My Applist
權限。 - 開啟
Hide My Applist
後選擇安裝 Magisk 模塊
。 - 重新啟動手機。
註1:Hide My Applist
的中文名稱為隱藏應用列表
。
註2:每個版本或系統顯示的不一定是系統框架
,基本上預設即可。
安裝 ApplistDetector
- 至
ApplistDetector
註1 的 Github 下載已公布的穩定版。 - 開啟手機的應用程式列表就能找到
ApplistDetector
。
註1:ApplistDetector
的中文名稱為應用列表檢測器
。
如何與檢查設定
注意:每個人的設備狀況都不一樣,僅供參考。
檢查目前的檢測
開啟 ApplistDetector
後應該可以看到滿江紅的狀況這是正常的,展開每個檢測方式都可以看到檢測到什麼應用以利接下來的設定。
建議第一個設定的應用程式可以選擇 ApplistDetector
來設定以利排除問題,如果 ApplistDetector
中已經沒有檢測了還出現無法啟用的狀況很有可能是使用讀取應用列表
外的檢測方式。
設定白/黑名單
注意:每一台設備的狀況都不一樣,請自己嘗試找出適合的設定方式,本文設定僅供參考。
注意:白名單
與黑名單
並沒有絕對的好與壞,請自己嘗試找出適合的設定方式。
設定生效應用
選擇生效應用
>選擇應用程式
- 勾選
啟動隱藏
。 工作模式
切換成白名單模式
。啟用所有隱藏方式
開啟註1。啟用模板
選擇以設定好的白名單模板,可選擇多個方便管理。排除系統應用
開啟。- 右上角儲存
- 強制結束所選擇的應用。
註1:如果完成後應用有顯示檢測或閃退的狀況請參閱問題排除
。
選擇生效應用
>選擇應用程式
- 勾選
啟動隱藏
。 工作模式
切換成黑名單模式
。啟用所有隱藏方式
開啟註1。啟用模板
選擇以設定好的黑名單模板,可選擇多個方便管理。- 右上角儲存
- 強制結束所選擇的應用。
註1:如果完成後應用有顯示檢測或閃退的狀況請參閱問題排除
。
問題排除
如果有未列入的請歡迎留言,我會盡快列入說明。
注意:Zygisk
目前還在開發,所有有關的問題不會列入問題排除。
為什麼某些應用無法開啟,還是檢測 root?
- 檢查
ApplistDetector
顯示的狀況,如果顯示全綠那麼就不是Hide My Applist
可以處裡的。
為什麼 Xposed hook 顯示紅色或黃色?
- 檢查是否有其他應用程式在
啟用模組
中勾選了ApplistDetector
。 - 檢查
Hide My Applist
是否勾選了系統框架
以外的應用程式。
為什麼 HMA (old version) 顯示紅色?
- 更新
Hide My Applist
,你安裝的版本可能過舊。
為什麼 XPrivacyLua 顯示紅色或黃色?
- 移除
XPrivacyLua
。 - 手動刪除
/data/system/xlua
。
為什麼 `Thanox` 顯示紅色或黃色?
- 安裝最新版本的
Thanox
。
為什麼 pm list 顯示紅色或黃色?
- 最終版本的
Hide My Applist
似乎有問題,在某些系統下可能會出現這個錯誤,請回退至上一個版本。
為什麼 syscall file 顯示紅色?
- 如果是
LSPosed Manager
請手動移除LSPosed Manager
,在 v1.6.0 後全面啟用寄生,可以不必安裝LSPosed Manager
。 - 如果是
Magisk Manager
請在設定中選擇隱藏 Magisk
。 - 可嘗試更新
Hide My Applist
。
為什麼 xposed modules 顯示紅色?
- 確認
ApplistDetector
名單設定是否正確。 - 確認
ApplistDetector
名單設定後是否有儲存。 - 確認
ApplistDetector
是否有強制停用。
後記
事實上 Hide My Applist
已經是相當簡單操作使用的應用程式,只是很多人使用自己所理解錯誤
的方式下去使用,甚至誤解 Hide My Applist
是一套隱藏 root
的應用程式,發這篇文只是想使用正確的方式來說明該如何使用 Hide My Applist
。
作者
授權
本文均由作者 Nullptr 授權同意發布。