「XPERIA Z」のソフトウェア更新(Android OS 4.1.2、ビルド番号 10.1.D.0.343)に伴う再root化の考察(docomo ROM焼き検証含む)
23日(http://d.hatena.ne.jp/atsurin/20130423/)にNTT docomo(http://www.nttdocomo.co.jp/)から公開された「XPERIA Z」のソフトウェア更新(Android OS 4.1.2、ビルド番号 10.1.D.0.343)では、周知の通り脆弱性を修正されてroot奪取が不可となった。
docomo ROM(Android OS 4.1.2、ビルド番号 10.1.D.0.333)にロールバックしてroot奪取のみ行い、その後システムファイルを改竄せずにOTA(Over The Air)すれば、root化を保持した状態で最新ビルドへアップデートできると予想したが、上手くいったと言う人もいればsuが正常に機能しないケースも散見され、ハッキリとした結論が出ていない。
そんな訳で、以前作成(http://d.hatena.ne.jp/atsurin/20130329/)したdocomo ROM(ビルド番号 10.1.D.0.333)が正常に焼けるかどうかの検証も済ませていないことからも、この機会に確認を兼ねて自分で作成したdocomo ROMを焼いてデフォルトの状態にロールバックし、その後にroot奪取した上で最新のソフトウェア更新(ビルド番号 10.1.D.0.343)を実施し、root化の可不可と有効性を考察してみようと思う。
-
- 「Flashmode」を選択。
-
- ログに「Preparing files for flashing」が表示されたら暫く待機(PCスペックが非力だと非常に時間が掛る)。
-
- 準備が整うと、端末と接続を促すポップアップが表示されるので、電源OFFにした端末のボリュームダウンボタンを押下しながらPCとUSB接続する。
-
- 問題が無ければ、自動的にROM焼きが開始され、暫くすると完了する。尚、デバイスドライバがPC上に導入されていないとROM焼きが出来ないので注意。
- デフォルトの状態(Android OS 4.1.2、ビルド番号 10.1.D.0.333)でroot化
- 設定などは一切スルーして直ぐにroot化を行うこと。余計なアプリのインストールも問題発生時の検証の妨げになるので厳禁。
- googleアカウントの登録やキャリアアプリのインストールなどが促されるがスルー。
- root化は、xda developers(http://forum.xda-developers.com/)にて公開されているNFC対策版「Root_with_Restore_by_Bin4ry_v21」を使用。手順は過去ログ(http://d.hatena.ne.jp/atsurin/20130312/)を参照のこと。
-
- 【任意】「Team Win Recovery Project(TWRP)」(http://forum.xda-developers.com/)を導入し、イメージのバックアップを作成。手順は過去ログ(http://d.hatena.ne.jp/atsurin/20130317/)を参照のこと。
-
- root化が保持されているか確認(この段階ではroot化は保持されていた)。
- 【任意】「Team Win Recovery Project(TWRP)」で、イメージのバックアップを作成。
25日に上記作業を行い、root化保持した状態で最新ビルドにアップデート、成功が確認された訳だが、では実際にsuが正常動作するかどうかを今日まで検証し、その結果が以下の通りとなった。
- 「Team Win Recovery Project(TWRP)」(http://forum.xda-developers.com/)の導入とリブート、バックアップ、リカバリは全て可能。
- 「Titanium Backup ★ root」(https://play.google.com/store/apps/details?id=com.keramidas.TitaniumBackup)を用いてのシステムアプリの凍結(無効化)は可能。
- 「AdAway」(http://f-droid.org/)を利用したhostsファイル書き換えは可能。
- 「Root Explorer」(https://play.google.com/store/apps/details?id=com.speedsoftware.rootexplorer)の起動は可能だが、system領域(「/system」)でr/wリマウントやファイル操作の一部を行うと強制リブートされてしまい、事実上、利用不可(不可と言うよりも要の部分に制約があり、端末上の操作でrootedの恩恵を受ける事が出来ない)。
- 母艦であるPC上から「Android SDK」(http://developer.android.com/sdk/)でのadb(Android Debug Bridge)は可能。システムファイルの書き換えは手間は掛かるがadb pull、adb pushで行える。
- 「Quick Boot」(https://play.google.com/store/apps/details?id=com.siriusapplications.quickboot)での端末リブートや電源オフは、画面がブラックアウトし利用不可。
結論。
- 手順を間違えなければ、最新ビルド(10.1.D.0.343)でもroot化は可能。
- system領域(「/system」)のr/wリマウント監視する「/sbin/ric」が正常に書き換えできず、suがまともに機能しない。
- su権限で「/system」のr/wが出来ない事から、一部root化必須アプリが正常動作しない。
- システムファイルの書き換え(改竄したAPKファイルの入れ替えなど)を(現環境下で)端末上の操作で完結することができない。
以上の事から、最新ビルドへアップデートするメリット(http://d.hatena.ne.jp/atsurin/20130423/)よりも、デメリットの方が大きいことから、「Team Win Recovery Project(TWRP)」でアップデート前にロールバックした。
今回の件では完全にroot奪取したとは言えず残念な結果になってしまったが、自作したdocomo ROMが正常動作された事が証明されたし、root化のみ行ったデフォルトの各ビルド(10.1.D.0.333、10.1.D.0.343)のイメージファイルも作成できたことから、一連の流れはあながち無駄ではなかったということで、考察終了。
(6/10、追記)root化した.333をOTAで.343にアップデートした端末において、その後「Flashtool」などで.333にロールバックして再度OTAを実施(unroot、rooted関係なく)すると、正常に.343へアップデートできません!一度でもOTAで.343にアップデートした端末は再度OTAでの.343へのアップデートが出来ないことが考えられます(原因不明)。
rootedな.343を運用している方はイメージのバックアップを必ず取っておくことが肝要です。尚、「SMUS」を用いて.343へのアップデートは正常に行われますが、勿論、穴は塞がれます。