最近把手上的小米6更新到 MIUI 10 國際開發版
刷入 Magisk 後卻無法完整通過 SafetyNet 檢測,導致無法使用 Google Pay
Magisk 的檢測結果如下
ctsProfile: false
basicIntegrity: true
上網爬了一下資料,造成 ctsProfile 沒有通過通常是原廠沒有將這個 ROM 提交給 Google 審核
所以這邊提供解決方法
如果您的手機尚未解鎖或是對刷機流程不熟悉,可以先參考文章底的連結
官方解鎖是基本的,還沒解鎖就先解鎖吧
另外,該文章內 『避免自動加密 userdata 分區』 的部份僅適用於 Android 7 的卡刷包
Android 8 的卡刷包要避免自動加密 userdata 分區的作法,鸚鵡找時間再寫一篇文章
使用到的東西大概列一下
- TWRP 使用 3.2.3-0 版
- 卡刷包是 MIUI 10國際開發版 8.8.30
- Magisk 使用熱騰騰的 17.1 (官方載點)
- Magisk 模組:MagiskHide-Props-Config
- adb.exe
[[ 通過 SafetyNet 的 ctsProfile 檢測 ]]
作法有兩種,分別是
1. 使用 MagiskHide-Props-Config 設定
2. 修改 /system/build.prop 檔案
使用 MagiskHide-Props-Config 設定
- 開啟 Magisk 左上方功能表,點選下載
- 在搜尋框輸入 prop,按下 MagiskHide Props Config 旁的下載箭頭
- 選擇安裝
- 安裝完成後,選擇重啟
- 重開機後點開功能表,選擇模組,確認一下已安裝完成
- 確定手機有啟動 USB偵錯 功能 (開啟方法下面請參考文章下方說明)
透過傳輸線接上電腦,開啟命令提示字元執行
執行adb shell
,然後su
切換到 root 身份,接著執行props
123456789101112131415161718192021222324252627282930313233343536D:\Android\adb shellsagit:/ $ susagit:/ # propsMagiskHide Props Config v2.3.6by Didgeridoohan @ XDA Developers=====================================Updating fingerprints list=====================================Checking connection.Checking list version.Fingerprints list up-to-date.MagiskHide Props Config v2.3.6by Didgeridoohan @ XDA Developers=====================================Select an option below.=====================================1 - Edit device fingerprint2 - Improved hiding (disabled)3 - Edit MagiskHide props4 - Add/edit custom props5 - Delete prop values6 - Script settings7 - Collect logsr - Reset all options/settingsb - Reboot deviceSee the module readme or thesupport thread @ XDA for details.Enter 'e' to exit: - 接著按下 1 就會看到下面的提示
123456789101112131415161718192021MagiskHide Props Config v2.3.6by Didgeridoohan @ XDA Developers=====================================Edit fingerprint=====================================Currently set to:Xiaomi/sagit/sagit:8.0.0/OPR1.170623.027/8.8.30:user/release-keysEnter the new fingerprint orpick from the options below.f - Pick a certified fingerprintb - Go back.See the module readme or thesupport thread @ XDA for details.Enter 'e' to exit: - 複製下面的內容,在命令提示字元視窗點滑鼠右鍵,選貼上並按下 ENTER
Xiaomi/sagit/sagit:8.0.0/OPR1.170623.027/V9.5.8.0.OCAMIFA:user/release-keys
接著會看到
1234567891011121314MagiskHide Props Config v2.3.6by Didgeridoohan @ XDA Developers=====================================Edit fingerprint=====================================You are about to use the following as your device's fingerprint.Xiaomi/sagit/sagit:8.0.0/OPR1.170623.027/V9.5.8.0.OCAMIFA:user/release-keysMake sure that it is correct before continuing.Enter y(es), n(o) or e(xit): - 輸入 y 再按 ENTER,確認修改
下一個提示一樣輸入 y 接著按 ENTER,手機就會重新開機
修改 /system/build.prop 檔案
- 請使用 Root Explorer 或其他同類型檔案管理工具
找到 /system/build.prop 檔案,且以編輯模式開啟 (需要 Root 權限)
Root Explorer 的方式是長按,點右上方功能表然後選擇「Open in Text Editor」
跟著會出現 system 是 read-only 的提示,選 YES 確認掛載成 讀寫 模式 - 找到
ro.build.fingerprint
後,將 = 符號後面的內容置換成Xiaomi/sagit/sagit:8.0.0/OPR1.170623.027/V9.5.8.0.OCAMIFA:user/release-keys
- 存檔、離開
Root Explorer 的方式是:點一下右上角功能表,選擇 「Save and Exit」 - 重新開機
等待手機重新啟動完成,就可以再測試一次 SafetyNet 了
這時 ctsProfile 應該就可以通過測試了
這時候就可以使用 Google Pay 或 其他任何需要 SafetyNet 通過驗證的 APP 囉
特別補充說明一下
所有的 MIUI 10 國際開發版,不論哪隻手機應該都可透過這個方式通過 ctsProfile 測試
可以自己找手機型號的穩定版內的 ro.build.fingerprint 的內容
或者,你也可以直接使用這篇文章內的使用設定值
都是可以通過驗證的
目前已知有 小米8 設定成 Samsung 手機的 fingerprint,一樣通過驗證
且使用上也沒有什麼問題
延伸閱讀