Pixel 5をroot化する方法
まえがき
2年も間空いてますがちゃんと生きてます
今回スマホを機種変更してPixel 5を購入しました
ただOEMロックの解除に100日待たされたから即権限掌握が出来なかったのが不満点だが…
この記事は日本語で解説してある記事が機械翻訳の記事とかだったので忘備録も兼ねて書く事にする
また、2021年1月から仕様の変わったSafetyNetの突破にも成功したのでそれについても記載しておく
もうすぐPixel 6が出る?知らんな
多分手順はこれと変わらないと思うが…
とりあえずまえがきはこの程度にしておいて本編に入る
作業の前に
Pixel 5にはOEMロックという物が存在し*1、それを解除しない限りブートローダーもアンロック出来ない。
ここで言うOEMロックはキャリアの言うSIMロックと同義と考えていい。
キャリアによってSIMロックの解除の条件は違うが、ここではPixel 5に限定して話をする。(SIMフリー端末の場合はこのステップは飛ばしても問題ないと思う)
日本国内でPixel 5を扱っているキャリアはauとSoftbankの2つ(格安キャリアは調べた事無いから分からん)で、それぞれ個人契約ならネット上からSIMロック解除の手続きが出来る。
実際に権限を掌握するまで
ここから先の話は全てWindows 10準拠とする
注意:一度ファクトリーリセットを挟むのでデータは全て消えます。必ずバックアップしましょう。
ブートローダーのアンロックまで
まず、Google純正のUSBドライバとSDK Platform-Tools(以下SDK)を用意する。
ドライバはこのページから、SDK Platform-ToolsはこのページDLする事が出来る。
ドライバとSDKを入手したら先程DLした両方を展開しておき、Pixel 5側の設定から開発者向けオプションを有効にする。
今後複数回SDKを使うならば環境変数にパスを通すといいが、今回の作業程度なら一々パスを通す必要は無いかと思われる。
一応パスを通す手法も記しておく。
そして開発者向けオプションを選択出来るようにしたらシステムを開き、詳細設定を展開し、開発者向けオプションを開き、その中のOEMロック解除をONにする。
OEMロックを解除したら、再起動するのだが、その際に画面が暗転してから音量小キーを押し続ける。そうするとブートローダーメニューが開かれる。
この時にPCとUSBケーブルで接続し、ドライバーをインストールする。
この状態だとWindows側はPixel 5のドライバが存在しないので、何もする事が出来ない。
ここでコントロールパネルを開き、ハードウェアとサウンドの項目の中からデバイスマネージャーを開く。
Windowsの仕様でデバイスがインストールされていないデバイスは最初から展開されているので、Pixel 5を選んで右クリックし、ドライバの更新を選ぶ。
ウィザードが起動したらコンピュータを参照してドライバを検索を選び、先程展開したフォルダを選ぶ。そして次へを押すと自動的にドライバがインストールされる。
ドライバがインストールされたらコマンドプロンプトで先程展開したSDKのディレクトリを開く。そしてfastboot flashing unlockを走らせる。*2
そうしたらブートローダーをアンロックされるか聞かれるので、Unlock Boorloaderを選択する。この際にデータは全て消えるので必ず作業前にバックアップする事。
Pixel 5で権限を取るまで
ブートローダーをアンロックしたら、次は純正ファームウェアをDLする。DLはGoogle公式から出来る。後々Pixel 5本体でboot.imgを書き換えるためPixel 5本体にDLする事を推奨する。
この際、現在インストールされているファームウェアと同じバージョンをDLする。(1敗) 現在インストールされているファームウェアのバージョンは設定のデバイス情報から確認する事が出来る。
次に今DLしたファームウェアを展開する。展開したフォルダの中にあるimage-redfin(略)も展開する必要がある。展開自体はFiles(プリインストールされているGoogleのエクスプローラーのような物)で展開出来る。
権限を取る上で最重要ファイルがこの中にあるboot.imgである。(これ以外のファイルは基本使わない)
そしてGitHubからMagisk Manager CanaryをDLし、インストールする。
インストールが終了したら早速開き、右上の歯車アイコンから更新チャンネルをCanaryにする。
その後Magiskのインストールを選び、パッチするファイルの選択をタップするとどのファイルを選ぶかの画面が出てくるので、先程展開したファームウェアのフォルダにあるboot.imgを選択する。
そうしたらダウンロードフォルダ(PC上からだとDownloadフォルダにある)にあるmagisk_patched_AcdTr.imgをPCにコピーする。
そしてコマンドプロンプトでSDKのディレクトリを開き、Pixel5のブートローダーに入った後にfastboot flash boot (さっきコピーしたmagisk_patched_AcdTr.imgのフルパス)を走らせ、boot.imgを焼き直す。
この時間違って別バージョンのROMを使って文鎮化した場合はSDKで本来のバージョンのROMを焼き直す事で復旧出来る。(恐らく手順的にboot.imgだけ焼き直したら復旧する なお一度文鎮化した時は全部焼き直して復旧した)
これで何事も無く無事起動したらroot化の成功である。
SafetyNetを突破するまで
ここまで来たらroot化は完了しているが、ここから先はroot化すると使えなくなるアプリを使えるようにする小細工をする。
そもそもSafetyNetとは、技術的な詳細はAndroid Developersに投げるが、要点だけを言うと「Androidが改造されているかを確認するAPI」である。
この改造にはRoot化も含まれており、一部アプリ*3はこのSafetyNet APIを使っており、これが機能すると起動自体しなくなったりエラーが出て弾かれたりする。
しかしこの小細工をすると、アプリ側にSafetyNetを通過したという情報を渡して正常に使う事が可能となる。
注:この工程は書いた自分でもあんまりよく分かってないので自己責任で行う事 よく分からないまま触ってたら突破出来たのでその状況を再現する手法に過ぎません
まず、先程導入したMagiskを開き、歯車アイコンからMagiskアプリを隠すを選択する。この際偽装したアプリの名前は何にするかと聞かれるが、名前は何にしても問題ない。
次に盾のマークからスーパーユーザーメニューに入り、一番上のMagiskHideを選ぶ。
そしてGoogle Play開発者サービスとSafetyNet APIを利用しているアプリのチェックボックスを全て入れる
次にパズルのピースのアイコンを選び、右下の虫眼鏡のマークからモジュールの検索モードに入り、MagiskHide Props Configを検索してインストールする。
前はMagiskHide Props Configだけ入れたら良かったのだが、2021年1月の仕様変更によりMagiskHide Props Configだけでは突破出来なくなっているので、これとは別にUniversal SafetyNet fixを導入する必要がある。
まずGitHubから最新版をPixel 5にDLし、Magiskのモジュール画面からストレージからインストールを選択し、先程DLしたUniversal SafetyNet fixをインストールする。
そして次に端末エミュレーターを導入する。今回はTermuxを使用する。suコマンドが使えれば恐らく何でもよいのでこの辺はお好みで。
Termuxを起動したらsuを実行し、権限昇格する。この時権限昇格しますかと聞かれるので、許可を選ぶ。
次にpropと入力し、MagiskHide Props Configを呼び出す。
MagiskHide Props Configを呼び出したら、1を入力して端末のFingerprint*4を編集する。
Edit fingerprintの設定画面を開いたらsを入力してBoot stagesメニューに入る。
そして2を入力し、Security patch dateを選択する。
最後にpを入力してpost-fs-dataに書き換える。
そうすると再起動するかどうかを求められるので再起動したらfingerprintの小細工は終わりとなる。
再起動してMagiskを開くとSafetyNetのチェックという項目からSafetyNetを突破出来ているかを確認出来るので、ちゃんと突破出来ているか確認する。
ここまでの作業を行う事でようやくroot化した端末でradikoや三井住友銀行アプリなどが利用出来るようになる。
今回の環境ではMagiskが旧来のSuperSUのように権限昇格の管理するアプリになるため、特にrootマネージャーのようなアプリを入れる必要は無い。
Magiskだけでroot化やSafetyNetの突破が出来ているか怪しいと思う場合はRoot Checkerなどで確認する事が出来る。
権限を取った後の注意事項
5chのPixel 5スレで報告があったようにPixel 5側からのアップデートが不可能になり、一々PC経由でROMを焼く必要が出てくる。
この際全部焼き直す(≒ファクトリーリセットを挟む?)必要があるのかは不明だが、アップデートが不便になるという事になる。
この点については後日調査をしてその結果を追記する ……かもしれない。
追記:普通にアップデート出来ました。ただしboot.imgも同時に焼き直されるため権限の再取得が必要になります。
また、権限を取るという事はシステム面に改造を加えるという事になるのでキャリアからの一部サポートは拒否される可能性がある。
それでは良きPixel 5ライフを!