SafetyNet対策1: MagiskHide Props Config 導入
ここまでで既にGoogle開発者サービスに対して全項目をMagiskHideしていたりと、思い付く限りの対策はしてみたのですが、SafetyNetが通りません。
ここからはMagiskモジュールを駆使したSafetyNet通過のための対策を、こちらの記事を参考に進めます(Great Tnx!!)。
先ず、デバイスキーをGoogle Pixel 3aに改変するために、MagiskHide Props Configモジュールをインストールします(Magiskが隠れたままでいられる古い認証方法をサポートする最後のデバイスが、Google Pixel 3aなのだそうです)。
Magiskアプリのモジュール項より、MagiskHide Props Configモジュールをインストールの後、再起動します。
再起動後、Magiskアプリでモジュールが有効になっているのを確認したら、ここからは任意のターミナルアプリを使って作業します(私はJuiceSSHを使用しました)。
特権ユーザに移行してから、 props コマンドでProps Configメニューを呼び出します。
1 2 |
$ su # props |
メニューでは先ず、 2 - Force BASIC key attestation を選択して変更方法の選択メニューに入ったら、 d - Yes, pick value from device list を選択。
続くメーカー名一覧では、 7 - Google を、モデル名一覧では 20 - Pixel 3a をそれぞれ選びます。
最後に変更内容を確認の後、設定反映のためのシステム再起動を促されるので、そのまま再起動をしますがそれでもまだSafetyNet認証は通りませんでした。
尚、この改変の副作用として、カメラアプリで撮影した画像のexif情報に記録されるカメラモデル名がPixel 3aになっていました(笑)。
SafetyNet対策2: Universal SafetyNet Fix 導入
Magiskモジュールの一つであるUniversal SafetyNet Fixモジュールをインストールする前に、公式GitHubでも太字で記載のある通り、まずはこのモジュールが動作に必須としている、Riruモジュールを公式GitHubからダウンロードの上、インストールします(Riruモジュール未導入でいきなりSafetyNet Fixモジュールをインストールしようとしても失敗終了します)。
1 |
riru-v26.1.2.r505.c20529bced-release.zip 170,852 byte |
デバイスの再起動後、再びMagiskアプリから今度は予めダウンロードしておいた、SafetyNet Fixモジュールをインストールします。
1 |
safetynet-fix-v2.1.1.zip 27,577 byte |
もう一度デバイスを再起動の後、Magiskアプリで「SafetyNetのチェック」を実行してみると、ここでようやくSafetyNet認証成功の表示を見ることができました(しかしながら、PPSアプリは相変わらず)。
ここまでしてroot化する意義を最近は見失いつつありますが、そんな中でも数少ない利点の一つである、広告ブロックを次回は試してみようと思います。