FutureRestoreに必要なファイルを探すのってわかりずらいですよね
なので出来るだけ、簡単にできる方法を紹介していきます。
この方法はTools 4 Hackさんの記事を参考に、自分なりに解釈して用意する方法を考えたので、間違っている可能性があります。
かなり、方法があいまいです。もっと確実な方法がある気がしますが、わかりませんでした…
Example
iOS 11.3.1からiOS 12.1.2にFutureRestoreを使って復元
これには下記のファイルが必要です。
- iOS 12.1.2のshsh2ファイル
- iOS 12.1.2のipswファイル
- SHSHが発行されているバージョンのBuildManifest.plist
- SHSHが発行されているバージョンのべースバンドファイル
- SHSHが発行されているバージョンのSEPファイル
これらを用意する方法を紹介していきます。
フォルダ作成
これから用意するファイルを入れておくフォルダを作成しておき、わかりやすくします。
Restoreというの名前のフォルダーということで進めていきます。
SHSH2
tsscheckerなどで保存したSHSH2ファイルをRestoreフォルダにコピー
TSS Saverで保存した場合は、SHSH2ファイルを選択(どれでもよい
ダウンロード
- ダウングレード、アップグレードしたいバージョンのipswファイルをダウンロード
- ダウンロードしたipswファイルをRestoreファルダにコピー
- SHSHが発行されているipswファイルをダウンロード
- デバイスにAX-CPUをダウンロード
ipswファイルはipsw.meからダウンロードできます。
ベータ版はipsw.devからダウンロードできます。
ファイル事前準備
- ダウンロードしたSHSHが発行されているほうのipswファイルの名前の末尾を.ipswから.zipに変更
- 変更した後zipファイルを展開
BuildManifest.plist
- 展開されたフォルダを開き、既に見えるBuildManifest.plistがFutureRestoreで使用するファイルです。
- 見つけたBuildManifest.plistをRestoreフォルダーにコピー
デバイスの情報
ここからデバイスの情報が必要なので、ダウンロードしたAX-CPUを開き
Modelをメモしておいてください。
例)D22AP
べースバンドファイル
先ほど見つけられたBuildManifest.plistをテキストエディターソフト(Atomなど)で開く
文字列を検索するためにcommand+F(Mac) CTRL+F(Windows)のショートカットキーで検索バーを開き、メモしたModelを検索すると
‹key›DeviceClass‹/key›
‹string›Model‹/string›
‹key›FDRSupport‹/key›
こんな感じのが出てきます。一番上の行を選択してください。
例)
‹key›DeviceClass‹/key›
‹string›d22ap‹/string›
‹key›FDRSupport‹/key›
そこから下にスクロールすると
‹dict›
‹key>Path‹/key›
‹string›Firmware/xxx-y.y.y.Release.bbfw‹/string›
‹/dict›
という文字列が見つかるかと思います。
例)Firmware/Mav17-3.31.00.Release.bbfw
それをメモし、展開されたフォルダからFirmware/xxx-y.y.y.Release.bbfwをRestoreフォルダーにコピー
SEPファイル
- メモしたModelの末尾のAPを抜いたAP抜きModelをメモ
- sep-firmware.xxx.RELEASE.im4pという名前のファイルが必要で、xxxにはメモしたAP抜きModelが入ります。
- 展開されたフォルダからFirmware/all-flash/sep-firmware.xxx.RELEASE.im4pをRestoreフォルダにコピー
例)D22APだったらD22
例)sep-firmware.d22.RELEASE.im4p
例)Firmware/all-flash/sep-firmware.d22.RELEASE.im4p
確認
これで5つのファイル
- iOS 12.1.2のshsh2ファイル
- iOS 12.1.2のipswファイル
- SHSHが発行されているバージョンのBuildManifest.plist
- SHSHが発行されているバージョンのべースバンドファイル
- SHSHが発行されているバージョンのSEPファイル
例)5137580698440998_iPhone9,1_d10ap_12.1.2-16C104_e576d9c02e4c69e9b8ef829e9144789fe652c8ba17e6e6a2e9c861430a6557ff.shsh2
例)iPhone_4.7_P3_12.1.2_16C104_Restore.ipsw
例)BuildManifest.plist
例)Mav16-5.30.00.Release.bbfw
例)sep-firmware.d10.RELEASE.im4p
がそろったかと思います。
きょうの一言
おそらくこの方法であっているかと思います。
Santaさんがおそらく苦労してわかりすいリストを作っていたので、そちらを見れば済みますが、一応1から探す方法も必要かなと思い載せておきました。
コメント
記事だとnoapnonceならどれでもいいと言われてるけど、12.1.2にダウングレードする際のSHSH2ファイルは注意だね
12.1.2は一度再リリースされてビルドナンバーが変わってるから用意した12.1.2のipswと一致するビルドナンバーのSHSH2を使わないとFutureRestoreでの作業時にerrorcode=-44吐かれる
iPhone6でSHSHあるんですが12.1.1βから11.3.1には戻れない?復元は出来ないですよね?
A7/A8デバイスのみiOS 11.3以上とiOS 12.XのSEPの互換性があるらしいので可能かと思われます。
SANTA氏に感謝
そしてzunda氏に感謝
👍
質問なんですが、latest sep、latest basebandが使える状況と
記事にして頂いたように指定する状況の違いって何ですか?
これまでlatest〜を使ったfuturerestoreでの復元しかした事がなくて、今回も12.1.2→12.1.2をlatest〜で成功しているので、違いは何なのかと思いまして。。。
よければ教えていただければ嬉しいです!
latestオプションは自動で最新版のiOSバージョンのベースバンドファイル、SEPファイルなどを集めてくれるものです。
ただ、最新のiOSと復元したいiOSにSEPの互換性がないときは、正常に復元できないので、使用する際にはSEPの互換性を確かめてから行ったほうがいいという物です。
お返事ありがとうございます!
大変勉強になります。
iOS 11.3.1と現時点で最新のiOS 12.1.4にSEPの互換性がないので指定しないといけないという事でしょうか?
現在インストールされているiOSのバージョンはNonceがセットできればいいので、iOS 11.3.1からiOS 12.1.2にFutureRestoreする際には、iOS 11.3.1とiOS 12.1.4のSEPの互換性は気にしなくて大丈夫です。詳しくはこちらの記事で
https://zunda-hack.com/2019:02/04/set-noce-futurerestore-conditions-in-the-case-of-use/
こうゆう解説ヒジョーに助かるっ!
👍