Android手機Magisk防Root偵測 + 通過SafetyNet教學

系統版本:Android 13

手機:Sony Xperia 10 V

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

0. Root環境帶來的問題

Magisk目前仍是主要的Root手段,偶會遇到APP偵測Root環境便不給用的情況,多半是出於安全性考量。不論各路好手推出防止偵測的手段,總有APP能偵測到,從這點也可以看出銀行對資安的重視。

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

部份Google Play商店的APP,一偵測到Root環境也會不給安裝。

如果不想因為少數APP犧牲整個Root環境,不妨改用Magisk Delta,再搭配一些模組即可解決上述問題。

Magisk Delta是官方Magisk的修改版,由HuskyDG開發,加入了一些試驗性程式碼,專門用於躲避Root偵測。進一步說,Magisk Detla可以針對特定APP取消掛載模組,甚或只給特定APP掛載模組。這樣銀行APP就很難偵測到Root環境啦,也不需要Shamiko和Xposed模組介入了。

值得注意的是,Magisk Delta是基於不穩定的Magisk程式碼建置,可能含有許多bug。

1. 從現有Magisk安裝切換至Magisk Delta

跟官方版一樣,Magisk Delta可以用修補boot.img的方式安裝。這裡則是從現有Magisk切換至Magisk Delta。

官方Magisk與Magisk Delta二者APP可以共存,不過一次只能使用其中一方的版本。

  1. 您應該已經裝有Magisk Manager,在設定裡面啟用「隱藏Magisk」,將Magisk Manager重新打包,再新增捷徑到手機桌面

  2. 如果有安裝Shamiko模組,請在Magisk Manager選單將其停用或解除安裝。

  3. Github下載Magisk Delta的app-release.apk

  4. 安裝後開啟,授予Root權限,點選修復執行環境

  5. 點選直接安裝,重開機。

  6. 重開機後就不要再使用官方版的Magisk Manager了,請改點選Magisk Delta的圖示

  7. 點選右上角設定,勾選啟用Zygisk,並同樣點選「隱藏Magisk」,將Magisk Delta重新打包。

  8. 這樣您的桌面應該就會有二個Magisk的APP了,現在Root管理的權限已移交給Magisk Delta。

如果想切換回官方版Magisk:開啟官方版Magisk Manager,取得root權限,點選修復執行環境,重新安裝Magisk。

2. 設定要防止root偵測的APP

  1. 關閉ADB偵錯,或是將手機開發人員選項整個關掉(有的APP會偵測這個)

  2. 開啟Magisk Delta,勾選Unmount modules

  3. 點選Configure unmount,選取要防止root偵測的APP,完成,不需設定其他模組了。

如果要做得更絕一點:點選Unmount modules by default,只給需要的APP掛載Magisk模組。注意此功能可能會導致許多模組失效。

3. 通過SafetyNet檢測的方法

Magisk Delta僅僅是讓APP無法檢測到Root環境而已,針對需要SafetyNet的APP,還得另外安裝模組。

我們將用開源的YASNAC作為檢測SafetyNet是否有通過的證明。

  1. 依序安裝MagiskHide Props ConfigPlayIntegrityFix模組。PlayIntegrityFix對應Google最新的Play Integrity API,可取代Universal SafetyNet fix。

  2. 重開機後,將YASNAC加入至Magisk Detla的Unmount列表。

  3. 再開啟YASNAC查看SafetyNet狀態。BASIC模式下確認可以通過,對大多數APP來說已經足夠。

  4. 如果還是過不了SafetyNet檢測,請試試偽裝機型


感謝您的閱讀。歡迎分享Ivon的部落格(ivonblog.com)的文章,引用或轉載請註明文章網址,並遵守創用CC-姓名標示-非商業性-禁止改作 4.0 國際授權條款。如需商業使用請來信告之。

written by human, not by AI

如果本網站文章對您有幫助,歡迎請我喝杯珍珠奶茶。

留言板

點選按鈕,選擇您覺得方便的留言系統。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要登入Github帳號才能留言。支援markdown語法,方便您張貼程式碼,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus投放的廣告。無論有無登入皆可留言。此處留言只有本站參與者看得到。若您選擇以訪客身份匿名留言,就不會收到後續回覆通知。