Google Pixel 6がやってきた。Magisk Alphaでroot化、SafetyNet回避。

2021-10-31

毎年恒例ですが、Pixel 6無印を購入してみました。
レビューは有名なブロガーさんたちが詳しくやっていますので、root化などのレポートを残したいと思います。

全体の流れ

目標は、root化とSafetyNet(root化端末かどうかをチェックする)の回避です。

作業工程

  1. bootloaderのアンロック
  2. vbmeta.imgを焼き、確認付きブート(AVB)を無効化する。
  3. Magisk Alphaをインストールし、boot.imgにパッチを当てる。
  4. Magisk Alphaパッチ済みのboot.imgを焼く
  5. SafetyNet回避関連のMagiskモジュールをインストールする

というところです。

Magisk Alphaを使うのは、後ほど出てきますが、公式だとMagiskHideが使用できないためです。

boot.imgは公式からダウンロードしておいてください。

 

XDAの情報

公式Magiskを使う方法

Pixel 6やPixel 6 ProのXDAフォーラムでは、magiskを利用したroot化の手順が掲載されています。

これらを参考にしましたが、SafetyNet回避まではたどり着きませんでした。

問題点1:パッチ済みのboot.imgを焼かないで起動する

XDAでは、Magiskによるパッチ済みboot.imgを焼かずに、fastboot boot xxx.imgで起動し、その後、magiskから直接、root関連のファイルをインストールする、と書いてあります。

しかし、この方法では、再起動してしまうとroot権限が失われてしまいます。

完全に焼くことで解決します。

$ sudo fastboot flash boot magisk_patched-23011_xxxxx.img
Sending 'boot_b' (65536 KB)                        OKAY [  2.852s]
Writing 'boot_b'                                   OKAY [  0.076s]
Finished. Total time: 3.000s

問題点2:Pixel 6直後にやってくるOTAを適用している

初期バージョンでは、「SD1A.210817.015.A4」ですが、「036」が降ってきます。
インストール済みでも、一時Rootは可能ですが、永続的なRootは維持できません。

一週間も待てば、factory imageが公開されると思いますので、待ったほうが無難です。

もし、インストールしている状態でしたら、公開されているFactory Imageを使って、flash-allにて初期化、015にダウングレードしてしまったほうがマシです。

~/Downloads/Pixel6/oriole-sd1a.210817.015.a4-factory-074b7f51/oriole-sd1a.210817.015.a4
$ sudo ./flash-all.sh
 Sending 'bootloader_b' (10850 KB)
 OKAY [ 0.535s] Writing 'bootloader_b'
 (bootloader) Flashing pack version slider-1.0-7683913
 (bootloader) flashing platform gs101
 (bootloader) Validating partition ufs
 (bootloader) Validating partition ufs

 

解決策:Magisk Alphaを使う方法

公式版Magiskによるroot化は可能ですが、SafetyNetを回避することが出来ない状態です。
(Magisk Hideが機能していないことが原因です。)
これでは、rootをとるメリットが半減してしまうと思います。

そこで、MagiskのContributerが公開しているMagisk Alphaを使って、root化からSafetyNetの回避までが成功するか試してみました。

Magisk Alpha

XDAの解説ページ

の手順をそのまんま、記録して残してみました。

  1. Download the Magisk Alpha (unofficial) from https://t.me/magiskalpha
  2. Patch the boot image / direct install, and allow it to finish setting up/reboot
  3. Install the latest Riru and SafetyNet Fix from their respective GitHubs
  4. Go into Settings on Magisk Manager, untick Zygist and a Magisk Hide option will appear
  5. Hide Google Play Services Unstable and snet from the DenyList via Magisk Manager Settings
    com.google.android.gms
    com.google.android.gms.unstable
    com.google.android.gms.snet
  6. Reboot

1.Magisk Alphaのダウンロード

開発者がTelegram内でしか公開していないため、Telegram環境を整えました。
自分は、Androidアプリを使用して、ダウンロードしました。

Android Chromeから

にアクセスすれば、AndroidのTelegramアプリが起動するので、「app-release.apk」をダウンロードすることが出来ました。

2.Magiskパッチを当て、flashする

あとは、boot.imgにMagiskパッチを当てて、bootパーティションに焼いてしまえば終わりです。

手順としては、前回、Android 12 beta 5でroot化した手順と同じで大丈夫です。

Magiskパッチを当てるところ

 

3.SafetyNet回避に必要な設定

3-1.MagiskHide

Magiskマネージャを起動し、歯車アイコンの設定を開きます。

「MagiskHide」を有効にする、「Zigisk」は無効にします。

magiskhide_enable

3-2.Configure DenyList

MagiskHideの下にある「Configure DenyList」を開きます。
メニューボタンから「システムアプリを表示」にチェックを入れます。

「Google Play 開発者サービス」を検索し、

  • com.google.android.gms
  • com.google.android.gms.unstable
  • com.google.android.gms:snet

だけを有効にします。

Magiskモジュールのダウンロード

これらをRiru、Universal Safetynetの順でストレージからインストールして有効にすればオッケーです。

SafetyNet回避の確認

Magiskでは確認できなくなったので、アプリをインストールする必要があります。

無事にパスしました。

作業としては以上です。