小米6 使用 MIUI 10 國際開發版完全通過 SafetyNet 使用 Google Pay

最近把手上的小米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 設定

  1. 開啟 Magisk 左上方功能表,點選下載
  2. 在搜尋框輸入 prop,按下 MagiskHide Props Config 旁的下載箭頭
  3. 選擇安裝
  4. 安裝完成後,選擇重啟
  5. 重開機後點開功能表,選擇模組,確認一下已安裝完成
  6. 確定手機有啟動 USB偵錯 功能 (開啟方法下面請參考文章下方說明)
    透過傳輸線接上電腦,開啟命令提示字元執行
    執行 adb shell ,然後 su 切換到 root 身份,接著執行 props
  7. 接著按下 1 就會看到下面的提示
  8. 複製下面的內容,在命令提示字元視窗點滑鼠右鍵,選貼上並按下 ENTER
    Xiaomi/sagit/sagit:8.0.0/OPR1.170623.027/V9.5.8.0.OCAMIFA:user/release-keys
    接著會看到
  9. 輸入 y 再按 ENTER,確認修改
    下一個提示一樣輸入 y 接著按 ENTER,手機就會重新開機

 

修改 /system/build.prop 檔案

  1. 請使用 Root Explorer 或其他同類型檔案管理工具
    找到 /system/build.prop 檔案,且以編輯模式開啟 (需要 Root 權限)
    Root Explorer 的方式是長按,點右上方功能表然後選擇「Open in Text Editor」
    跟著會出現 system 是 read-only 的提示,選 YES 確認掛載成 讀寫 模式
  2. 找到 ro.build.fingerprint 後,將 = 符號後面的內容置換成Xiaomi/sagit/sagit:8.0.0/OPR1.170623.027/V9.5.8.0.OCAMIFA:user/release-keys
  3. 存檔、離開
    Root Explorer 的方式是:點一下右上角功能表,選擇 「Save and Exit」
  4. 重新開機

 

等待手機重新啟動完成,就可以再測試一次 SafetyNet 了
這時 ctsProfile 應該就可以通過測試了
這時候就可以使用 Google Pay 或 其他任何需要 SafetyNet 通過驗證的 APP 囉

特別補充說明一下
所有的 MIUI 10 國際開發版,不論哪隻手機應該都可透過這個方式通過 ctsProfile 測試
可以自己找手機型號的穩定版內的 ro.build.fingerprint 的內容
或者,你也可以直接使用這篇文章內的使用設定值
都是可以通過驗證的
目前已知有 小米8 設定成 Samsung 手機的 fingerprint,一樣通過驗證
且使用上也沒有什麼問題

 

延伸閱讀