国産キャリア版Xperia 1 (802SO) のbootloaderをunlockしてrootを取得する

Xperia 1 (802SO) でbootloaderをunlockしてrootを取得する方法を紹介します。
ここで紹介した方法はほかのキャリアのXperia 1や、過去の機種にも適用できるはずです。
分解も不要です。ただし、1台当たり約2200~3000円かかります。

注:この記事ではかなり危険なことをしています。注意をよく読んで自己責任で利用してください。

追記:bootloader unlock不要でrootを取得できるようになりました。

bootloader unlockに関する補足

日本向けモデルは本来公式bootloader unlockやroot化ができない

Xperiaは海外向けであれば、公式のunlock方法が用意されており、Sonyの開発者サイトで申し込みをすればbootloaderをunlockし、root化やカスタムカーネルのインストールをすることができます。

しかしながら、国内キャリア版のモデル(最近は非キャリアの一部国産モデルは標準でunlock化)はこの口が塞がれており、正攻法ではroot化やカスタムカーネルのインストールはできませんでした。

過去には古いAndroidバージョンであれば、脆弱性をつくことでroot化できる国内キャリア機種もありましたが、それでもカスタムカーネルのインストールはかなり困難でした。(一部の機種は蓋を外すことでかろうじて可能でした)

今回紹介する方法は、有料のツールを使う別の方法でbootloaderのunlockを行います。

DRM Key(TrimAreaの鍵)がなくなることに注意

Xperiaには動画再生やカメラの映像を高画質化するSony独自の機能が搭載されています。しかしながら、一度bootloader unlockをすると、これら機能を使うための鍵が消去されて使えなくなってしまいます。基本的には元に戻せません

具体的に使えなくなる機能は以下になります。
  • X-Reality(動画の高画質化)
  • カメラのノイズ除去、暗部コントラスト修正など
  • DSEE+
  • ClearAudio
  • 著作権保護コンテンツのTV出力(HDCP)
  • NetFlix・AmazonVideoのHD再生(WideVine L1)
元に戻すには、あらかじめ公式ではなく脆弱性をつく方法でrootを一時的に取得し、TA領域をバックアップしておく必要がありますが、Xperia1ではそのようなことができる脆弱性はまだ見つかっていません。

また、DRM Fixと呼ばれる鍵ありの状態をエミュレートする方法もほかのモデルでは確立されていますが、これもTA領域を読み出せるようになった後に開発が始まるものですので、現状では利用できません。

つまり、rootを取るかこれらSonyの独自機能を取るかのどちらかになります。

2017年以降のEFIブートの機種ではDRM鍵の種はTA領域ではなくNVRAMにある説や、再びlockしてXperia Companionツールで全初期化すると復活したという報告もありますが未確認です。

bootloader unlockとrootの取得方法

bootloader unlockをallowedにする

前述のとおり、802SOではbootloader unlockが許可されていませんので、まずこれを許可されるようにします。この段階ではまだDRM鍵は失われません。

許可されるようにするにははqUnlockと呼ばれるツールを使います。利用には有料の「Credit」が必要です。1台アンロックすると1Credit消費します。

Creditの購入

私はNUGSMというサイトで「Sony Xperia Cable Unlock – 0 Counter Supported – qUnlock Tool」という名前の商品を約3000円で購入しました。

購入にはPayPalを使いました。PayPalを使うと銀行口座も使えますし、クレジットカードの場合も番号を直接ストアに渡さずに済むのでお勧めです。

購入するとメールでユーザIDとパスワードが届きます。大体1日程度かかりますが、週末をはさむと2日以上かかるようですが、平日で運が良ければ購入当日の18時ぐらいに届くようです。

qUnlockのダウンロードと起動

qUnlockのプログラムも上記商品の販売ページからダウンロードできます。

ですが、Windows Defenderをはじめとしたウィルス対策ソフトがウィルスとみなすので、そのままでは利用はおろかダウンロードすらできません。制限ユーザのWindowsアカウントを用意したり再インストールしてもよいPCを用意したうえで、リアルタイムスキャンを無効にしてプログラムをダウンロードしてください。

参考までに各種ウィルス対策ソフトの検出結果をまとめて知ることができるVirusTotalの情報を張っておきます。くれぐれも危険性を理解したうえで手順を進めてください。


無事ダウンロードできてzipを展開すると、ドライバのパッケージとqUnlockが展開されます。

先にドライバである
  • Sony_Mobile_Software_Update_Drivers_x64_Setup
  • Sony_Mobile_Software_Update_Drivers_x86_Setup
のどちらか適切な方をインストールした上でqUnlockを起動します。

ドライバにはSony Mobileのデジタル署名がついているので、ドライバのインストール自体には危険はありません。

Creditの確認とunlockの実行

起動すると以下のような画面になります。

メールで送られてきたアカウント情報をUSERNAMEとPASSWORDを入力し「Check Credits」をクリックすると、サーバにCredit情報を確認しに行きます。ここでは必ず「SERVER CREDITS LEFT/USED: 1/0」と表示されるはずです。

確認が済んだら「Unlock」をクリックします。

そうすると、「PLEASE ATTACH TUNED OFF PHONE NOW」「PRESS AND HOLD "BACK" OR "VOLUME DOWN" BUTTON...」と表示されるので、指示通り電話機本体の電源を切った本体をVOL DOWNキーを押しながらUSBケーブルを接続します。

その後、しばらく時間がたった後に「RESPONSE: "SUCCESS"」「UNLOCK DONE」と表示されればbootloaderのunlock許可作業は完了です。IMEIは後で必要になるのでメモしておきます。

電話機本体からUSBケーブルを抜いて電源ボタンを押し、普段通り起動したうえで状態を確認します。

電話アプリのダイアルキーに「*#*#7378423#*#*」と入力し「Service Info」を選択します。その中の「Configuration」で「Bootloader unlock allowed」が「Yes」になっているはずです。

今回の作業によってアカウントに登録されたCreditは無くなってしまったため、アカウントを他の機種に使いまわすことはできません。しかしながら、IMEI(電話の固有ID)と紐づけられており、何かの拍子でロック状態が戻ってしまった場合は、再度作業に使えますので使い終わっても無くさないようにしておいた方が良いでしょう。

bootloaderをunlokする

もともとunlockが許可されているモデルと同じ手順でunlockできます。この手順によって初めてDRM鍵が失われます。

詳しい手順説明はほかのサイトに譲りますが、メモ代わりに大まかな概要だけ書いておきます。
  1. 本体のIMEIを調べておきます。前述のqUnlokの手順の中で表示されますが、メモし忘れた場合は本体が入っていた箱や設定画面から確認しておきます。
  2. Sonyの開発者サイトから解除キーを入手します。
  3. Android SDK Platform-Toolsをダウンロードして、コマンドプロンプトから使えるようにしておきます。
  4. 本体をfastbootモードにします。コマンドプロンプトに「adb reboot bootloader」と入力、もしくはVOL DOWを押しながら電源ONでfastbootモードに入れます。
  5. PCにfastbootのドライバをインストールします。
    • Windows10の場合署名の無効化が必要です。
      • 無効化するには「設定」「更新とセキュリティ」「PCの起動をカスタマイズする」「今すぐ再起動する」「トラブルシューティング」「詳細オプション」「スタートアップ設定」「再起動」「7)ドライバー署名の強制を無効にする」を順番に選んでいきます。
    • fastbootドライバは以下から入手できます
      • FlashTool付属のドライバパッケージ(Flashtool\drivers\Flashtool-drivers.exe)
      • Android SDKの標準ドライバ(extras\google\usb_driver)にSonyの公式INFを上書き
  6. コマンドプロンプトに「fastboot oem unlock 0x[アンロックコード]」と入力します。

rootの取得する

カスタムカーネルが書き込み可能な状態になっていますので、root化済みのブートイメージを用意して書き込みます。こちらも詳しい説明はほかのサイトに譲ります。

ブートイメージの用意

  1. XperiFirmを使って端末にインストールされているファームウェアと同じバージョンのファームウェアをダウンロードします。
  2. UnSINを使って、ダウンロードしたファームウェアのboot_X-FLASH-ALL-A2CD.sinを展開し、boot_X-FLASH-ALL-A2CD.imgを入手します。
  3. boot_X-FLASH-ALL-A2CD.imgを電話機本体にコピーしておきます。adb pushを使ってもよいですし、エクスプローラから単純にコピーしてもよいです。
  4. 電話機本体にMagisk Managerをインストールします。
  5. Magisk Managerを起動し、「インストール」「Select and Patch a File」を選び、先ほど転送したboot_X-FLASH-ALL-A2CD.imgを指定します。
magisk_patched.imgが生成されればブートイメージの作成は完了です。

ブートイメージの書き込み

  1. Magisk Managerによって作成されたmagisk_patched.imgをPC側にコピーします。
  2. 電話機本体を再びfastbootモードにします
  3. コマンドプロンプトに「fastboot flash boot magisk_patched.img」と入力します
これでroot化されたブートイメージが書き込まれて、root化作業は完了です。

最後に

今まで無理だといわれていた国内キャリアの機種もbootloaderをunlockできることがわかりました。

あとはDRM鍵が問題ですが、過去機種のDRM Fixのようなソフトウェアエミュレーションの方法がいずれ出てくることが期待されます。とはいえ、unlock作業は不可逆なので、すべてが整うまでunlockはしない方が良いかもしれません。

脆弱性を利用する手法の場合はファームの巻き戻しが必要になりそうですので、初期ファームを手元に保存しつつ、脆弱性が見つかることを期待しましょう。

コメント

このブログの人気の投稿

Synology ds918+ に 2.5Gbps / 5Gbps の USB LAN を接続する

Xperia 1 (802SO) のrootを何も失わずに取得する