Quantcast
Channel: キューブ実験室
Viewing all articles
Browse latest Browse all 26

【Xperia】アップデートとroot取得を同時に行うprerooted.zip【Z1/Z1 f】

$
0
0
昨日、Xperia Z1 SO-01F と Xperia Z1 f SO-02F のアップデートが公開され、14.3.B.0.310となりました。
そして CVE-2014-3153 の脆弱性は塞がれてしまったようで、先月公開した rootkitXperia_20140719が残念ながら使用不可能となってしまいました。
ただ、同じ端末でrootを獲れるビルドが存在すれば、そこを踏み台にして新しいビルドでrootを獲る方法はいくつか存在します。
今回はマイナーアップデートですので、14.3.B.0.310にアップデート後に14.3.B.0.288のカーネルのみを焼き、rootkitXperia_20140719でroot取得後、再度14.3.B.0.310のカーネルのみを焼く、という手順が最も手っ取り早いでしょう。

当記事ではメジャーアップデートの場合でも応用のきく、prerooted.zipを利用してrootを獲る手順を紹介したいと思います。
当方はSO-02Fで検証しておりますが、SO-01Fでも同じ手順でイケると思います。(twrp_prerooted_Z1f.zipはそのまま使用できますが、当然ながらftfはSO-01Fのものを使用してください。)

自力で何とか出来る方以外にはrootを取る行為はおすすめできませんし、覚悟してカスタムに臨んでください。当記事やprerooted.zipに関してはノーフォロー、ノーサポートということでお願いします。
本記事公開当初、prerooted.zipのリンク先を間違えて貼るという大失態をおかしておりました。現在は修正済みです。

前提は以下です。
トラブっても自力で復旧できること(つまり自己責任)
・アップデート前のftfやバックアップを作成してある等、いざという時に備えてあること
・アップデート前の端末でrootを取得していること
・アップデート前の端末でTWRP等、カスタムリカバリが導入されていること
・作業PCはWindows 7(64bit)、端末はSO-02Fで検証済み(SO-01Fでの動作報告もありました)

■必要物資
twrp_prerooted_Z1f.zip (Dropbox)
・14.3.B.0.310のFTF
・7za.exe等、zipを操作できるツール
・Flashtool 0.9.16.1

■導入手順
[1]14.3.B.0.310のftfを準備しておく
 いくつか方法はありますが、私はbinファイルからftfを作成してみました。以下はSO-02Fの場合なので、SO-01Fの人は適宜読み替えてください。

 (a)http://pastebin.com/Axr9n76Lに記述してあるURLから、binファイル群をダウンロード。
  ※昔のファームのbinがいつまでも生きているとは限りません。ご了承下さい。
 (b)bin2ftffiles.zipをゲット、解凍して「bin2ftffiles.vbs」を取り出し、先ほどbinファイル群を保存したのと同じフォルダに投入。
 (c)「bin2ftffiles.vbs」をダブルクリックして実行。同じフォルダに「FILE_xxxxxxxxx」(xの部分は数字)のようなファイルが3つ生成される。
  (別ルートで「FILE_xxxxxxxxx」を入手している場合は、この次の手順から始める。)
 (d)Flashtoolを起動、上部メニューから「tools」→「Bundles」→「FILESET Decrypt」を実行。
 (e)「Source Folder」の項目の右の「...」ボタンをクリックして、先ほどの「FILE_xxxxxxxxx」群があるフォルダを選択。「Available files」の欄にFILE_xxxxxxxxxが出てくるので、「->」ボタンですべて右に移動、「Convert」ボタンをクリック。
 (f)数分後、「Bundler」ダイアログが開く。「Device」欄をダブルクリックして「Sony Xperia Z1 f」→「SO-02F」を選択。
 (g)「Branding」欄は「docomo」、「Version」欄は「14.3.B.0.310」を入れる。
 (h)「folder list」欄のやつを全選択して「->」ボタンですべて右の欄にぶっこむ。
 (i)「Create」ボタンをクリックするとftfの生成が始まる。数分かかるので進捗ログなどを見ながらそわそわする。
 (j)Flashtoolをインストールしたフォルダの中の「firmwares」の中に「SO-02F_14.3.B.0.310_docomo.ftf」が出来ていたらそれが目的のftfだ!

[2]FTFファイルからkernel.sinとrpm.sinとsystem.sinを引っこ抜く
 ftfファイルは実はzipなので、拡張子をzipにすれば各種解凍ソフトで解凍できます。
 また7za.exeを使えば、拡張子を変えずとも以下のようにしてコマンドラインでsinを抜き出せます。お好みで。

7za e SO-02F_14.3.B.0.310_docomo.ftf kernel.sin
7za e SO-02F_14.3.B.0.310_docomo.ftf rpm.sin
7za e SO-02F_14.3.B.0.310_docomo.ftf system.sin

[3]sinファイルをelf/ext4に変換
 Flashtoolを起動し、「tools」→「Sin Editor」で、先ほど抜き出したsinファイルを読み込んで「Extract data」ボタンをクリック。
 それぞれ「kernel.elf」「rpm.elf」「system.ext4」に変換されます。

[4]「twrp_prerooted_Z1f.zip」に上記3ファイルを追加
 お好みのzip圧縮ソフトを使って構いませんが、7zaの場合は以下のようにしてtwrp_prerooted_Z1f.zipにelf/ext4ファイルを追記します。

7za a -tzip twrp_prerooted_Z1f.zip kernel.elf
7za a -tzip twrp_prerooted_Z1f.zip rpm.elf
7za a -tzip twrp_prerooted_Z1f.zip system.ext4

[5]twrp_prerooted_Z1f.zipを端末にコピー
 上記手順でカーネルやシステム等を追加したzipを、端末の内部ストレージ等にコピーします。手段は問いません。

[6]zipをTWRP等カスタムリカバリでインストール

[7]再起動

[8]14.3.B.0.310になってrootも獲れてる!めでたしめでたし!

■その他
prerooted.zip適用直後はカスタムリカバリは消滅していますので、入れ直してください。
あと念の為、prerooted適用にあたり、データや設定は消えることなく保持されます。ですが万一を考えて適用前のバックアップは取っておいた方がよろしいかと思います。

Viewing all articles
Browse latest Browse all 26

Trending Articles