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

最近把手上的小米6更新到 MIUI 10 國際開發版
刷入 Magisk 後卻無法完整通過 SafetyNet 檢測,導致無法使用 Google Pay
Magisk 的檢測結果如下

ctsProfile: false
basicIntegrity: true

上網爬了一下資料,造成 ctsProfile 沒有通過通常是原廠沒有將這個 ROM 提交給 Google 審核
所以這邊提供解決方法

如果您的手機尚未解鎖或是對刷機流程不熟悉,可以先參考文章底的連結
官方解鎖是基本的,還沒解鎖就先解鎖吧
另外,該文章內 『避免自動加密 userdata 分區』 的部份僅適用於 Android 7 的卡刷包

閱讀全文〈小米6 使用 MIUI 10 國際開發版完全通過 SafetyNet 使用 Google Pay〉

Android 刷機包(卡刷) 中 system.new.dat 的 re-pack工具: rimg2sdat

2013年鸚鵡買了人生第一隻 Android 手機:小米2S 32GB
新機入手就開始刷機和ROOT,從 JLB15.0 玩到 JLB21.0 時就開始動手改卡刷包

就這樣一路改一路玩到了換小米5
搶到陶瓷尊享版後很開心的下載官方卡刷包準備動刀,點開卡刷包時卻矇了

沒有 system 資料夾! 沒有 system 資料夾! 沒有 system 資料夾!

看了一下檔名和檔案大小,大概就是它了: system.new.dat
經過 Google 大神介紹到 xda 論壇拜碼頭,找到了這篇文章 Unpack/re-pack android DAT files
馬上下載工具並安裝 Python ,終於順利的 unpack 了一個 raw image

mount 起來修修改改完準備 re-pack 的時候卡關了
要先用 img2simg 將 raw image 轉換成 Android sparse image 之後才能再轉成 system.new.dat
又不想 git 一堆 andorid source 回來編譯,只為了取得 img2simg 這工具

心想,既然 system.new.dat 可以直接轉 raw image,那直接反向轉回去就好啦!?

完全沒接觸過 Python 還是把 sdat2img.py 開起來,只是閱讀起來異常艱澀
邊看邊對照 unpack 時輸出的資訊,大概抓到原理後就用 PHP 開始土砲

閱讀全文〈Android 刷機包(卡刷) 中 system.new.dat 的 re-pack工具: rimg2sdat〉

MIUI 9 設定收發 HiNet 信箱

最近一兩個月在手機上設定了幾次 MIUI 內建的「電子郵件」
每次設定到 HiNet的信箱都要卡很久很久
要不就是一直沒辦法登入,要不就是登入了只能收不能寄信
所以乾脆把設定步驟的重點紀錄起來

在 MIUI 9 新增帳號的步驟:設定 → 同步 → 畫面下方的新增
新增 MSN、Hotmail 等相關信箱時,請選「公司」
新增 HiNet信箱時,則選擇「IMAP/POP3」

閱讀全文〈MIUI 9 設定收發 HiNet 信箱〉

小米6 解鎖、刷入第三方 TWRP Recovery、刷入 Magisk

鸚鵡原本用的小米5尊享版,開不了機也沒法充電了
上網爬到類似的情況都是進水造成居多,也有是Power IC掛點
送民間維修檢測後,確定主版掛點,就上官網搶了一隻黑色小米6

收到後當然就是開始弄成自己習慣用的狀態
鸚鵡現在沒啥時間搞刷機包了,也很久沒刷機了。
所以陸續遇到一些問題,就在這一併列出解決辦法

鸚鵡習慣刷機完後,會在 recovery 內進行一次備份保留,然後再測試還原
刷入 Magisk 也測試完成後,就開始準備備份與還原測試
還原後重新開機卻又馬上進去 recovery 界面,跑了幾行指令後又重開
然後~~ 我就看到MIUI初始化設定畫面!
試了幾次都一樣,甚至連相片、下載的檔案都一併被清空了

得知刷入 SuperSU不會造成還原失敗並清空資料
就想到測試不刷 Magisk 的備份與還原,結果一樣失敗並清空資料
來回測試了幾次後,判斷問題應該是「資料加密」造成的,最後測試結果也是如此

閱讀全文〈小米6 解鎖、刷入第三方 TWRP Recovery、刷入 Magisk〉

Android 6.x/7.x 變更 Android ID 的幾個方法

這兩天更新了手機,把小米5 更新到 MIUI8
為了 LINE 當然就馬上準備恢復 Android ID
但是過去的方法卻不行了,所以又是爬文…

查詢 Android ID

 

以下列出幾個變更的方法, 將 NEW_ANDROID_ID 取代成 AndroidID

  1. 使用 update 直接修改
  2. 如果 update 無效,可以先 刪除 再 新增
  3. 直接設定新的 Android ID,實際動作和上一個一樣 先刪後增
  4. 最後一個方式需要 root 設備 (Android 7.x 實測可用)

    或是

在 MIUI 7 時,鸚鵡都使用第2個方式
到了 MIUI 8 時,執行 delete 就會出現下面的錯誤

 

參考資料

  1. https://www.asus.com/zentalk/tw/thread-162470-1-1.html