快轉到主要內容

Android手機防Root偵測的方法總覽

· 民國115年丙午年
·
切換正體/简体 ·
分類 智慧型手機 Root與刷機
標籤 Play Integrity Magisk KernelSU Xposed LineageOS
目錄

本文Ivon解說防止APP檢測到Android Root環境的最新手段,並附上通過Play Integrity的方法。不定時更新。

測試環境:Sony Xperia 10 V,LineageOS 23 (Android 16),已解鎖Bootloader。

1. Root環境帶來的問題
#

Root之後,便會遇到APP偵測Root不給使用,還有無法通過Play Integrity(SafetyNet後繼者)的問題。這多半是開發者出於安全性考量所設下的限制。得用模組修復,將Root環境隱藏起來。

這裡我要強調一點:我們使用這些模組反Root偵測,並非是要破解金融軟體進行犯罪駭客的行為,而是讓他們可以正常運作而已。軟體開發者本就不應該限制使用者要在什麼裝置,怎樣地環境執行他們的軟體。我們選擇自行承擔不被信任的環境所帶來的風險。

所謂「偵測Root環境」可能包含以下一或多個項目:

  1. 讀取APP列表,偵測Magisk Manager或KernelSU Manager或APatch Manager
  2. 偵測Zygisk或Xposed的存在
  3. 檢查Play Integrity狀態,根據官網資料,這是Google提供的安全性機制,用於驗證APP是否執行於無篡改的環境。通常解鎖Bootloader或者Root後的裝置會顯示為NO_INTEGRITY。有些APP會看Play Integrity有沒有達到MEETS_DEVICE_INTEGRITYMEETS_BASIC_INTEGRITY,或者最高安全等級的MEETS_STRONG_INTEGRITY才給使用
  4. TWRP資料夾
  5. 開發人員模式或ADB啟用狀態
  6. Bootloader解鎖狀態

不論各路好手推出防止偵測的手段,總有APP能偵測到,從這點也可以看出銀行對資安的重視。

像Google錢包、玉山銀行、行動郵局、花旗銀行、台新銀行這類跟金融有關的APP,就處於攻防最激烈的階段,常常一更新完後,Magisk隱藏Root就失效,接著APP閃退。

Google Play商店一偵測到Root環境也會不給安裝特定APP,顯示「這個應用程式不支援你的裝置」。

自從Magisk Hide從官方Magisk移除之後,使用者就得用其他手段規避Root偵測。

如果不想因為少數APP犧牲整個Root環境,就得使一些手段防止Root偵測。各種偵測Root的手段,應該都有方式繞過,除非APP連Bootloader有無解鎖都要管,那就很難解決了。

這裡要注意的是,因為我們無從得知那些專有APP的檢查方式,本文分享的方法不保證能100%隱藏Root,即使你通過MEETS_STRONG_INTEGRITY,以及各種模組都用上了,還是可能被APP檢測到Root。

2. 隱蔽性高的Root方案比較
#

Android主流的Root方案有:Magisk、KernelSU、APatch。

與其用Magisk加上一堆有的沒的隱藏Root的模組,或者用其他Magisk的奇怪fork,不如改用KernelSU或者APatch這類基於Linux核心的Root方案,能夠更好的隱藏Root,並且增加通過Play Integrity的機會。

Ivon必須老實說,這二個方案真的比使用Magisk隱藏Root簡化許多。

KernelSU有自己的模組框架,需要GKI核心,機型要求比Magisk嚴格。APatch則是同時相容Magisk與KernelSU的模組,安裝難度等同Magisk,屬於不能用KernelSU機型的折衷方案。隨著這些社群成熟,許多Magisk模組的作者也把模組移植到這些嶄新的方案上了。

但是!雖然KernelSU與APatch能夠更簡單的隱藏Root,不代表能通過Play Integrity,依然需要安裝模組修復。

3. 通過Play Integrity
#

參見:Android手機Root後如何通過Play Integrity

其他可參考的防Root偵測方案
#

Reddit的r/Magisk板是討論Root相關問題的好地方。

我把隱藏Magisk Root狀態的替代方案列在這裡,有些方案會互相衝突,有的則是過時了:

相關文章

Magisk防Root偵測法

分類 智慧型手機 Root與刷機
標籤 Magisk KernelSU Xposed Play Integrity LineageOS

感謝您的閱讀。我寫作是為了誠實表達想法,而不是追逐社群互動與流量。我很樂意傾聽你在仔細閱讀我文章之後的心得。若有內容勘誤 or 技術問題 or 回饋想法,歡迎透過本站「關於」頁面的Email與我聯絡。