SHSHを使用して任意のバージョンに復元するfuturerestoreをGUIで実行することができるアプリ

SHSHを使用して任意のバージョンに復元するfuturerestoreをGUIで実行することができるアプリを紹介します。

iRestore

Windows版とMac版の2つがあります。

以下のリンクからダウンロードしてください。

Windows版
qwertyuiop1379/iRestore
A GUI for futurerestore on Windows. Contribute to qwertyuiop1379/iRestore development by creating an account on GitHub.
Mac版
zzHAMZAzz/iRestore-Mac-Edition
A macOS recreation of iRestore, an (originally) Windows-based FutureRestore wrapper by qwertyuiop1379 - zzHAMZAzz/iRestore-Mac-Edition

必要なもの

  • SHSH発行中のバージョンのipsw
  • 復元したいバージョンのSHSH
  • 復元したいバージョンのipsw

注意点

SHSH発行中のバージョンのSEPと、復元(ダウングレード/アップデート)しようとしているバージョンとSEPの互換性がある必要があります。

その辺りを調べて慎重に実行してください。

復元の準備

SHSH発行中のバージョンのipswからファイルを取り出します。

ipswは、拡張子をzipに変更するとそのまま解凍できます。

今回は、iPhone 6/iPhone 6sのiOS 12.4のipswを例に説明します。

iPhone_4.7_12.4_16G77_Restore.ipsw

対象デバイス

  • iPhone 6s(iPhone 8,1)
  • デバイスモデル:N71mAP
デバイスのCPU情報を確認する事が出来るアプリ

ipswから取り出すファイル

  • BuildManifest.plist
  • ベースバンドファイル
  • SEPファイル

BuildManifest.plist

zipを解凍し、「iPhone_4.7_12.4_16G77_Restore」の中にある「BuildManifest.plist」ファイルを取り出して、テキストエディタで開いておきます。

ベースバンドファイル

「Firmware」ディレクトリに移動すると、「.Release.bbfw」が付いているファイル名が2つあります。

今回の場合は以下の2つです。

  • Mav10-7.80.04.Release.bbfw
  • Mav13-5.70.01.Release.bbfw

どちらかがiPhone 6用でどちらかがiPhone 6s用です。

それを調べる簡単な方法があります。

先ほど取り出した「BuildManifest.plist」を検索し、使用するベースバンドを確認します。

まず、「Mav10-7.80.04.Release.bbfw」を検索します。

すると、226行目と9063行目に文字列が出てくると思いますが、数字の多い方の9063行目に移動して調べていきます。

9063行目から1行目にかけて見ていくと、8870行目に「DeviceClass」というものがあります。

「DeviceClass」とは、デバイスモデルのことです。

8870行目 <key>DeviceClass</key>
8871行目 <string>n61ap</string>

これの場合、値は「n61ap」となっており、このベースバンドはiPhone 6用ということがわかります。

この時点で結果的に「Mav13-5.70.01.Release.bbfw」がiPhone 6s用ということがわかりますが、念のためにこちらのベースバンドファイル名でも検索します。

検索すると、3200行目と6179行目と12037行目と15016行目に文字列が出てきますが、先ほどと同じく数字の多い方の15016行目に移動して調べていきます。

15016行目から1行目にかけて見ていくと、14728行目に「DeviceClass」があります。

14728行目 <key>DeviceClass</key>
14729行目 <string>n71ap</string>

これの場合、値は「n71ap」となっており、このベースバンドはiPhone 6s用ということがわかります。

ですが、今回復元しようとしているiPhone 6sはデバイスモデル「N71mAP」です。

なので、念のために次は12037行目から調べていくと11749行目に「DeviceClass」はありますが、値は同じく「n71ap」です。

次に6179行目から1行目にかけて調べていくと、5891行目に「DeviceClass」があります。

5891行目 <key>DeviceClass</key>
5892行目 <string>n71map</string>

値は「n71map」になっているので、今回復元しようとしているiPhone 6sと一致しました。

なので、「Mav13-5.70.01.Release.bbfw」を取り出します。

SEPファイル

次に「all_flash」ディレクトリに移動します。

「sep-firmware.デバイスモデル名.RELEASE.im4p」というファイルを探します。

今回の場合は以下の3つのファイルがあると思います。

  • sep-firmware.n61.RELEASE.im4p
  • sep-firmware.n71.RELEASE.im4p
  • sep-firmware.n71m.RELEASE.im4p

デバイスモデル名に当てはまるものを選べば良いので、今回の場合は「N71mAP」のiPhone 6sなので、「sep-firmware.n71m.RELEASE.im4p」を取り出します。

generatorの設定

今回使用するSHSHのgeneratorを確認します。

shshファイルをテキストエディタで開いて「generator」を検索してください。

<key>generator</key>
<string>0x1111111111111111</string>
この場合、generatorは「0x1111111111111111」なので、Unc0verやElectra等でgeneratorを設定し、実行してください。

使用するファイル

ツールを実行するには以下のファイルが揃っているか確認しましょう。

  • 復元したいバージョンのipsw
  • 復元したいバージョンのSHSH
  • BuildManifest.plist
  • Mav13-5.70.01.Release.bbfw
  • sep-firmware.n71m.RELEASE.im4p

アプリ画面

Choose IPSW
IPSWを選択

Choose SEP
SEPを選択

Choose Build Manifest
BuildManifestを選択

Choose SHSH2 Blob
SHSH2 Blobを選択

Choose Baseband
ベースバンドを選択

No Baseband
ベースバンドなし

Use Latest SEP (reported to break restore)

Use latest Baseband (might break restore)

これらのファイルを選択し終わった段階で「Go!」ボタンを押してください。

復元が開始されます。

復元が停止してしまった場合

復元が停止してしまった場合は、リカバリーモードから起動させる方法があります。

Windows版の場合は、「Exit Recovery Mode」ボタンを押します。

Mac版の場合はコマンド操作が必要です。

Finderを開き、「書類」フォルダに「Futurerestore」フォルダがあるので、cdコマンドで移動して以下のコマンドを実行します。

./futurerestore --exit-recovery

起動できない場合もあるので、その場合はiTunesから最新バージョンへ復元するしかありません。