そして 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)
twrp_prerooted_Z1f.zip (OneDrive)
・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
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
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適用にあたり、データや設定は消えることなく保持されます。ですが万一を考えて適用前のバックアップは取っておいた方がよろしいかと思います。
こんばんは。
返信削除Z1f、入手されたのですね。
羨ましいです。
先月の上旬、もしライムの在庫があれば買おうと思っていたのですが、DSも量販店も白と黒しかないと言うことだったので買ってないのです^^;
キューブさんがZ1fに浮気されたことで、自分のAXの今後が不安ですが、これからの記事も楽しみにしています(笑)
ライム、いい色ですよね。生産終了が残念です。
削除(ちなみにウチのはピンクです。)
ここまで粘られたのなら、(おそらく年末に出るだろう)Z3fまでさらに粘るのも手ですね。
ありがとうございます。
返信削除SO-01FでROOT取れました。
データ専用SIMで使っている場合、あえてアップデートしないのもアリでしょうか
返信削除通話以外も改善されている、との話ですが、特に使用上不便が無ければそれもアリでしょうね。
削除(私はデータ専用MVNOで使ってますが、当然ながらアップデートもしてます。)
14.3.B.0.310 ←ワンクリ開発 宜しくお願いします。
返信削除むしろワンクリ出来ていたのがラッキーだと思ってください。Z1/Z1fなんかは半年以上不遇だったのですから。root取得する方法が残されているだけありがたいと思いましょう。
削除開発と簡単におっしゃいますが、正直新たな脆弱性が発見されるまで当方ではどうしようもありません。手間をかければ何でも出来る、というわけではありませんので。
キューブキューブさんお疲れ様です。
削除X10やZの時情報やツールをありがたくを使わせていただきました。
最近Z1に機種変更をし情報を集めroot化成功をもくろんでいるものです(笑)
上の人は簡単に「14.3.B.0.310 ←ワンクリ開発 宜しくお願いします。」なんて書いていますが、気にしないでくださいね。
確かに、ワンクリックツールは便利で比較的安全にroot化できますが、上の様な人が万一の場合何もできずに、安易にキャリアへ持ち込むこともあり得ますので、むしろ、正しく知識がある人だけ出来れば良いので?はと思います。
TWRP入れる前に 14.3.B.0.310 をインストールしてしまった
返信削除良い解決方法無いだろうか??
データが初期化されても良いなら、.288をフル焼き→root取得→リカバリ導入→prerootedが間違い無いでしょう。
削除データを残したい場合は.288のkernelとsystemのみ焼き直してroot取得→リカバリ導入→prerootedで何とかなります。ただし途中エラーが出まくりますので、それに耐える精神力が必要となります。(prerooted完了の時点でエラーは出なくなります。)
.288のカーネルのみ焼き直してroot取得、その後.310のカーネルを焼き直す、という方法もあると思いますが、当方では未検証です。
私もバージョンアップを誤ってしてしまって諦めていました。
削除.288のフル焼きですが、なんとなくはわかるのですが詳しいやり方が
自信が少し自信が無いんです。文鎮になったトラウマです。
もしよろしければ詳しいやり方解説お願いできませんか??
そのくらいは検索してください。
削除当サイトよりよほど詳しく画像入りで解説しておられるサイトがいくらでもあります。
当然.288のftfはお持ちだと思いますが、最新版のFlashtoolで稲妻アイコンをクリック、Flashmodeで焼きたいftfを選び、チェックはデフォルトのまま(ワイプ全チェック、exclude全チェック外し)で焼くだけですよ。
キューブさん、GX時代よりお世話になっております。
返信削除Z1fは発売日に手に入れて非rootで使用していましたが、カスタムする楽しさを思い出し、当ブログを拝見してroot取得しました。
が、.310にアップデートしてから思い立ったので、①.288に戻してrootする予定でしたが、電話帳を読み込まないエラーが出ましたので(原因不明)②.310で.288のカーネルのみ焼いてrooted→.310のカーネルを焼きなおしで.310rooted出来ました。
2日間経過しましたが、エラーも吐かず今のところ問題ありません。
取り急ぎご報告まで、長文失礼しました。
.288→.310にする時にデータの変換が行われますが、逆は行われないので、その不整合がエラーの原因でしょうね。バージョンを戻す場合はデータワイプが基本です。
削除カーネル焼き直し法の検証、ありがとうございました。
私もSO-03E>SGP321化した機種に試してみました
返信削除最新ファーム10.5.1.A.0.283はさすがに穴が塞がれていてroot化できませんでした
そこで旧ファーム10.5.A.0.230のkernel.sinを10.5.1.A.0.283に移植し焼いて
ワンクリroot化
その後10.5.1.A.0.283のkernel.sinを元に戻しkernelだけを焼く
その時rpm.sinとsystem.sinも一緒に焼かれたようです
まだ一日しか使っておりませんが特に不具合はありません
カーネル焼き焼き法ですね。
削除ちなみにsystem.sinが焼かれると非rootedになるはずなので、それは無いと思います。loader.sinではないかと。
キューブさん、
返信削除Xperia gx使っているんですが、rootを放棄し完全に初期化する方法は御座いますでしょうか?
build.propをいじって前バージョンに偽装すればコンパニオンが綺麗な最新版を入れてくれるかもかも。
削除PCC、SUS、flashtool、どれか使えば簡単にできるじゃんか。
削除なぜこの記事で。
削除データ等は残してroot放棄するだけならFlashtoolでsystemのみ焼けばOK。
データも含め工場出荷時状態にしたければftfフル焼きですね。
キューブ様
返信削除いつも参考にさせていただいております。
A2のbinからftfを作成したのですが、system.sinだけがおりません。
(c)の手順で、FILE_xxxxxxxxxが3つではなく、4つ出来ていたのも気になります。
お知恵を貸していただけないでしょうか?
はい、自力で解決できないような人は手を出さない。
削除それが鉄則。
すみません。自己解決しました。
返信削除(c)の手順の時、処理の途中でキャンセルしてしまったいたようです。
FILE_xxxxxxxxxが3つではなく、4つ出来るのは、z1fとbinファイルの数が違うためと思料しますが、いかがですか?
FILE_xxxxxxxxxの数は機種によって違いますよ。
削除キューブ様
返信削除A2での14.3.B.0.310 rootとれました!
FILE_xxxxxxxxxが4つ出来ること以外は、キューブさんの手順でばっちりです。
ありがとうございました。
記事を参考にZ2 SO-03Fの17.1.1.B.3.174で無事root化できました。
返信削除一旦PC Companionで素の17.1.1.B.3.174に更新してPC CompanionのキャッシュからFTFを作成し、
17.1.1.B.2.73のカーネルとシステムを焼いて(カーネルだけではSONYロゴで停止して起動しませんでした)、
その後キューブさんの1クリックrootでroot化しリカバリ導入後に上記で取得したFTFを使用して
今回のキューブさんの記事で紹介された方法でtwrp_prerooted_Z1f.zipにkernel.elfとsystem.ext4を追加でリカバリからインストールして17.1.1.B.3.174への更新とroot化が同時にできました。
これができないと4.4で厄介なSDの制限回避ができないので、とても助かりました。
ありがとうございます。
キューブさん、初めまして。
返信削除「14.3.B.0.310にアップデート後に14.3.B.0.288のカーネルのみを焼きrootkitXperia_20140719でroot取得後、再度14.3.B.0.310のカーネルのみを焼く」手順で、SO-04F(ビルド14.3.B.0.310)のroot取得ができました。
ありがとうございました。
SO-02F に 14.4.A.0.108 root化 → 14.4.A.0.157 出来ました。
返信削除docomoアプリを消したかったので香港版ファームでやってみました。
初めてのアンドロイドスマホなのでSIMも挿してないですが、問題なく動いているようです。
これからMVNO SIM買ってきて色々やってみるつもりです。
ありがとうございました。
Z3のbootloader unlockせずにroot可の方法発見されたようです。
返信削除海外サイトの掲示板にやり方紹介されてますがまだ確認しておりません。
D5803 23.0.A.2.93 のカーネル焼く
giefroot http://forum.xda-developers.com/crossdevice-dev/sony/giefroot-rooting-tool-cve-2014-4322-t3011598
でroot化
最新版へ(゚д゚)ウマー
らしいです。誰か試した方いませんか?
この方法で、SO-05F (Xperia Z2 Tablet) の最新 17.1.1.B.3.195 で root 取れました。ご報告まで。
返信削除(rpm.elf はないので削除、念のため cache.ext4 を追加)
詳しく説明をお願いできますか?
削除このコメントは投稿者によって削除されました。
削除so-05fのftfでpreroot自作して作業するという解釈じゃないかな。
返信削除キューブさん、いつもお世話になっております。
返信削除SO-01F(14.3.B.0.310)に14.3.B.0.288をフル焼きし、prerooted.zipの方法を行いましたが、SuperSUを開くと、”SUバイナリが無いため...4.3にアップ...”のメッセージが表示されます。
何が問題なのか分かりますでしょうか。
カーネルのみ焼く方法では問題なくrootが取れます。
よろしくお願いします。
このサイトに書いてある、「rootkitでとりあえずroot取得」や、「twrp_prerooted_Z1f.zip から prerooted.zip を作成し書き込み」をしましたか?
削除http://yanoshi.hatenablog.jp/entry/2015/04/12/041030
prerooted.zipをダウンロードして作成しなおしたら、うまくいきました。
削除古いprerooted.zipを利用したいたのが悪かったみたいです。
このコメントは投稿者によって削除されました。
返信削除すいません。初心者で申し訳ないのですが、6番の、「zipをTWRP等カスタムリカバリでインストール」がよくわかりません。機種はZ3です。
返信削除zipファイルをコピーするとこまではできました。
ちなみに、zipファイルは内部ストレージの Android→dataにコピーしました。
よろしくお願いします。
このコメントは投稿者によって削除されました。
返信削除Z1で既にroot済みですが、ver upするにはカーネルだけ焼けばいいのでしょうか?
返信削除現在は14.3.B.0.288で、14.3.B.0.346にしたいのですが、
ご教授お願い致します。
z1f root化で参考にさせて頂いています。
返信削除自分が間違っているだけかもしれませんが、ページ上部の(a)のURL先にあるbinファイルの一番上( http://software.sonymobile.com/ns/common/1/file/473/281073473_xV3Drk6hKvrem1hg2FnA2WVF.bin)のリンクが死んでいました。他は問題ありません。念のためご確認お願いします。
そにもばがいつまでも古いデータを置いておくとは限りません。無くなれば諦めるしかないです。
削除でも多分探せば(ここから先は字がかすれて読めない)
私もリンクが死んでました。(404)
返信削除自分も死んでました。
返信削除キューブさん、初めまして。
返信削除この記事を拝見しSO-04Fのビルドをrootを取ったまま、14.3.B.0.362にすることができました。
ありがとうございました