これは、futurerestore とは何か、どのように機能するか、また、futurerestore ガイドに従ってデバイスをアップグレード/ダウングレードする方法について説明する入門記事です。
いずれかのガイドを試す 前に、この記事を必ずお読みください。この記事では、ガイドが自分に当てはまるかどうか、当てはまる場合はどのガイドに従うべきか、そして動作に必要な要件を満たしているかどうかについて説明します。futurerestore は誰でも使用できるわけではありません。
futurerestore とは何ですか?
futurerestoreツールは元々tihmstarによって開発されましたが、他の開発者による既存の内部コンポーネントを多数含み、最新の動作バージョンは他の開発者によってメンテナンスされています。これは、Appleデバイス(iOS、iPadOS、tvOS)のアップグレード、ダウングレード、復元を可能にするコマンドラインツールです。デバイスの復元には主にAppleの標準復元インフラストラクチャ(iTunes、Apple Configurator、そして最近ではFinderで使用されているもの)を使用しますが、より詳細な設定が可能で、Apple独自のツールでは許可されていない復元オプションも追加されています。
なぜ便利なのでしょうか?
脱獄は特定のファームウェア範囲でのみ機能し、以降のファームウェアで修正されます。そのため、特定の脱獄を使用するには、特定のファームウェアを使用している必要があります。Apple では、デバイスを最新のファームウェアにアップデートすることしかできず、ダウングレードしたり、現在のファームウェアと最新のファームウェアの間のいずれかにアップグレードしたりすることはできません。現在 13.5 を使用していて、最新のファームウェアが 14.5 の場合、Apple の方法を使用して 13.4 にも 14.4 にも 14.5 にしか移行できません。Apple は、ファームウェアに「署名」することによってこのルールを強制しています。デバイスを復元しようとすると、移行先のファームウェアが現在 Apple によって「署名」されているかどうかが Apple によって確認されます。署名されている場合、復元は完了します。署名されていない場合、復元は失敗します。ファームウェアが最新でなくなると (Apple から新しいファームウェアがリリースされた場合)、古いファームウェアの署名が解除され、新しいファームウェアに署名されるため、ユーザーは新しいファームウェアにのみ復元することができます。
futurerestore を使うと、ユーザーは署名チェックを「騙す」ことで、署名されていないファームウェアへの復元を完了させることができます。これは、検証プロセスの要素を偽造することで実現され、復元先のファームウェアが実際には Apple によって署名されていないにもかかわらず、署名されているように見せかけます。例えば、14.3 で脱獄するために 14.3 に移行したいが、Apple が 14.3 を未署名にし、署名しているのは 14.5 のみだった場合、futurerestore はチェックを騙して 14.3 への復元を開始してしまう可能性があります。他にも注意点や要件はありますが、要点は以上です。futurerestore は、脱獄ユーザーが Apple の厳格なルールに従わずに、希望するファームウェアに移行できるようにするツールです。
どのように機能しますか?
上で、futurerestore が標準の復元プロセスをハイジャックし、デバイスを復元するためのチェックをバイパスする仕組みについて説明しましたが、ここでさらに詳しく説明します。futurerestore には複数のモードがあり、特殊なケースもありますが、一般的には以下の手順で実行されます。ユーザーは、移行先のファームウェアの完全なファームウェアファイルをダウンロードします。通常、移行先のファームウェアの SHSH BLOB も保存しておきます。futurerestore はこれを利用して、署名されていないファームウェアであっても、復元プロセスに復元が有効であると誤認させます。次に、ユーザーはデバイスをコンピューターに接続し、コマンドで futurerestore ツールを実行します。ユーザーは BLOB、移行先のファームウェア、そして多くの場合(ただし必ずしもそうとは限りませんが)、その他の必要なファイルも指定します(SEP やベースバンドなど、よくご存知の方もいるでしょう)。すべてがうまくいけば、futurerestore は BLOB を使用して復元を検証し、その他の必要なファイルを使用して、BLOB では偽装できない署名チェックを通過します。そして最後に、移行先のファームウェアファイルを使用してデバイスに復元します。
futurerestore は使えますか?
futurerestore は誰でも使えるわけではありません。必要なものは、復元先のファームウェア、デバイス、脱獄の有無、そして使用する futurerestore モードによって異なります。最も一般的なケースでは、復元先のファームウェアの .shsh2 blob ファイル(ファームウェアが Apple によって署名されている間に保存されている必要があります)と、iOS、iPadOS、または tvOS デバイスにジェネレーターを設定する方法が必要です。ジェネレーターを設定するには、ほとんどの場合、復元元のファームウェアを脱獄する必要がありますが、稀にジェネレーターセッターなどの特殊な方法も使用できます。
詳細については、以下の「futurerestoreの種類」 セクションをご覧ください。ただし、ごく稀なケースを除き、futurerestoreを使用するには、最新のジェイルブレイクと保存済みのBLOBが必要になります。これらをお持ちでない場合は、ご心配なさるかもしれません。すべてのデバイスの現在および将来のファームウェア用のBLOBを今すぐ保存しておけば、次回futurerestoreを使用することができます。
futurerestoreの種類
以下に、futurerestore の様々なモードを、平均的なユーザーにとっての有用性の低い順に示します。いずれかのモードの利用条件を満たしているかどうかを確認し、そこから先に進んでください。
1) ジェネレータモード
これは、futurerestore を使用する上で最も一般的に使用されている方法であり、ほとんどのユーザーが利用できる唯一の方法です。この方法はすべてのデバイス(最新のデバイスも含む)で動作しますが、一般的に最近のファームウェアへの移行にのみ有効です。以下は、futurerestore でジェネレーター方式を使用するための要件です。
- 起動ファームウェアにジェイルブレイク、または最低限必要なジェネレータセッターが必要です。これは、復元前にデバイスに既知のジェネレータを設定するために必要であり、これにより保存したBLOBが一致し、使用できるようになります。
- 対象ファームウェアに適した.shsh2 BLOB が必要です。BLOB が有効になるには様々な要件があります。詳しくは、この件に関する一般ガイドと A12+ ガイドをご覧ください。BLOB を保存するためのツールは多数あります。お好みのツールをお選びいただけますが、BLOB は対象ファームウェアが署名されている間に保存する必要があり、有効である必要があります。また、デバイスによっては、ジェネレーターや Apnonce を使用して保存する必要がある可能性があります。
- Mac、Linux、またはWindowsコンピューターへのアクセス。VM(仮想マシン)を使用すると問題が発生する可能性があります。
- futurerestore ツールの最新バージョン。
- 署名されていない宛先ファームウェア用のダウンロードされたファームウェア ファイル。
- 現在 Apple によって署名されているファームウェアと、署名されていない対象ファームウェアとの間の SEP (およびベースバンド) の互換性。一般に、SEP とベースバンドは、どちらの側でもいくつかのファームウェアで互換性があります。たとえば、14.5 が Apple によって署名されている場合、futurerestore で 14.5 の SEP (およびベースバンド) を使用し、互換性があるため、14.3 や 14.4 などのファームウェアに移行できます。14.5 SEP (およびベースバンド) は 12.4 と互換性がなく、現在 Apple によって署名されていて 12.4 と互換性のあるファームウェアがないため、12.4 に移行することはできません。Apple が現在署名している SEP (およびベースバンド) のいずれも対象ファームウェアと互換性がない場合は、futurerestore でジェネレーター メソッドを使用することはできません。最近のファームウェアの SEP (およびベースバンド) の互換性を確認できますが、デバイス固有の確認や古いデバイスの場合は、脱獄フォーラムで徹底的に検索することをお勧めします。
- (オプションですが推奨):現在署名済みのファームウェアのダウンロード済みファームウェアファイル。これは、上記で説明したように、対象のファームウェアと互換性があります。これは必ずしも必要ではありませんが、問題を回避できるため、場合によっては必須となります。
- 時間と忍耐、そして futurerestore の使用方法に関する iDB ガイド。
2) アプノンス衝突モード
このモードは脱獄を必要としませんが、特定のデバイスとファームウェアが必要です。最新のデバイスとファームウェアをお持ちの場合、またはデバイス上で自動的に再生成されることが知られている特定のApnonceで保存されたBLOBをお持ちでない場合は、この方法は使用できない可能性があります。
- A7デバイス(9.1~10.2または10.3b1、リカバリモード復元用)、または2015年後半以降にリリースされたA7、A8、またはA8Xデバイス(ファームウェアは問いません)(DFUモード復元用)。これらのデバイスとファームウェアの組み合わせでのみ、ノンス衝突が発生します。その他のデバイスとファームウェアは、Apnonce衝突モードで動作しません。
- 宛先ファームウェア用の有効な.shsh2 BLOB 。このモードでBLOBを有効にするには、特定の要件があります。デバイスが頻繁に生成する特定のノンスを使用して保存されている必要があります。デバイス/ファームウェア上でどのApnonceが衝突するかを把握し、それらのApnonceを使用してBLOBを保存しておく必要があります。Generatorモードのように標準的なジェネレーターを使用する必要はありません。BLOBを保存するためのツールは多数あります。お好みのツール をお選びいただけますが、BLOBは宛先ファームウェアが署名されている間に保存され、有効であり、衝突するカスタムApnonceを使用して保存されている必要があります。
- Mac、Linux、またはWindowsコンピューターへのアクセス。VM(仮想マシン)を使用すると問題が発生する可能性があります。
- futurerestore ツールの最新バージョン。
- 署名されていない宛先ファームウェア用のダウンロードされたファームウェア ファイル。
- 現在 Apple によって署名されているファームウェアと、署名されていない対象ファームウェアとの間の SEP (およびベースバンド) の互換性。一般に、SEP とベースバンドは、どちらの側でもいくつかのファームウェアで互換性があります。たとえば、14.5 が Apple によって署名されている場合、futurerestore で 14.5 の SEP (およびベースバンド) を使用し、互換性があるため、14.3 や 14.4 などのファームウェアに移行できます。14.5 SEP (およびベースバンド) は 12.4 と互換性がなく、現在 Apple によって署名されていて 12.4 と互換性のあるファームウェアがないため、12.4 に移行することはできません。Apple が現在署名している SEP (およびベースバンド) のいずれも対象ファームウェアと互換性がない場合は、futurerestore でジェネレーター メソッドを使用することはできません。最近のファームウェアの SEP (およびベースバンド) の互換性を確認できますが、デバイス固有の確認や古いデバイスの場合は、脱獄フォーラムで徹底的に検索することをお勧めします。
- (オプションですが推奨):現在署名済みのファームウェアのダウンロード済みファームウェアファイル。これは、上記で説明したように、対象のファームウェアと互換性があります。これは必ずしも必要ではありませんが、問題を回避できるため、場合によっては必須となります。
- 時間と忍耐、そして futurerestore の使用方法に関する iDB ガイド。
3) オデュッセウスモード
無関係なOdysseyの脱獄と混同しないでください。これは別のfuturerestoreモードです。繰り返しますが、これはあまり使用されていない特定のモードであり、ほとんどのユーザーには適用されません。
- 起動ファームウェア上の jailbreak または bootrom エクスプロイト (checkm8 など)。
- A11 までの 64 ビット デバイス (A11 以降を除く)、または 32 ビット デバイス。
- 対象のファームウェアに適したBLOBファイル。BLOBを保存するためのツールは数多く存在します。お好みのツールをお選びいただけますが、BLOBは対象のファームウェアが署名されている間に保存する必要があり、かつ有効である必要があります。この方法ではOTA BLOBも使用できます。OTA BLOBの中には現在でも署名されているもの(例えば、古いデバイスの10.3.3)もあり、既にBLOBを保存していない限り、現在でも保存可能です。
- MacまたはLinuxコンピュータへのアクセス。VM(仮想マシン)を使用すると問題が発生する可能性があります。
- libipatcher を含めてコンパイルされた futurerestore ツールのバージョン。
- 署名されていない宛先ファームウェア用のダウンロードされたファームウェア ファイル。
- 時間と忍耐、そしてこのモードの使用方法に関する iDB ガイド。
4) iOS 9.x 再復元バグモード (iDeviceReRestore)
これは強力なモードで、脱獄は不要ですが、ほとんどのユーザーには役に立ちません。iOS 9.xへの移行のみに対応しており、32ビットデバイス(iPhone 5c以前)でのみ動作します。
- 32 ビットデバイス。
- 宛先ファームウェア用の有効な保存済み消去または更新 BLOB (iOS 9.x のみ)。
- 任意の開始ファームウェア。iOS 9.x -> 9.x の復元は通常モードから実行できますが、iOS 非 9.x -> 9.x の復元は DFU モードから開始する必要があります。
- Mac、Linux、またはWindowsコンピューターへのアクセス。VM(仮想マシン)を使用すると問題が発生する可能性があります。
- OS/ファームウェア/デバイスで動作する futurerestore ツールのバージョン、またはスタンドアロンの iDeviceReRestore ツール。
- 署名されていない宛先ファームウェア用のダウンロードされたファームウェア ファイル。
- 時間と忍耐、そしてこのモードの使用方法に関する iDB ガイド。
次は何をする?
すべてのユーザーは、上記のモードのいずれかが自分に当てはまるかどうかをまず判断する必要があります。不明な場合や、最新のデバイス/ファームウェアをお使いの場合は、最も一般的な futurerestore モードであるジェネレーターモードのみを利用できる可能性が高いことを覚えておいてください。最新のジェイルブレイクまたはジェネレーターセッターをお持ちで、ジェネレーターを使用してBLOBを保存したことがある場合、またはApnonceを使用してBLOBを保存する必要があるA12+デバイスをお持ちの場合は、ジェネレーターモードが最適です。ご自身に当てはまるかどうかわからないが、比較的最近、比較的最近のツールを使用してBLOBを保存したことがある場合は、ジェネレーターモードも当てはまります。
いずれかのモードが状況に適合していることを確認したら、次のステップは、選択したモードに必要なファイルをすべて集め、上記の要件をすべて満たすことです。必要なものがすべて揃い、準備が整ったら、以下のガイドに従ってください。
ジェネレーターモードユーザー
futurerestore のジェネレーターメソッドをご利用いただける場合は、まずこの記事を再度ご確認いただき、futurerestore がお使いのデバイスと復元先のファームウェアで動作することを確認してください。その後、以下の手順を実行してください。
futurerestoreガイドパート1:ジェネレータの設定方法
に続く:
futurerestoreガイドパート2:futurerestoreを使用して署名されていないファームウェアを復元する方法
Apnonce衝突モードユーザー
futurerestore の Apnonce 衝突メソッドを使用できる場合は、ガイドのパート 1 をスキップして、次のセクションに直接進むことができます。
futurerestoreガイドパート2:futurerestoreを使用して署名されていないファームウェアを復元する方法
オデュッセウスモードユーザー
Odysseus 方式の futurerestore を利用できる場合は、次の特定のガイドに従ってください。
futurerestore + libipatcherを使用してデバイスをダウングレードする方法
iOS 9.x バグモードの再復元ユーザー
iDeviceReRestore メソッドを利用できる場合は、次の特定のガイドに従ってください。
iDeviceReRestoreを使用してデバイスをiOS 9.xに復元する方法
結論
ふぅ!マラソンみたいに思えるかもしれませんが、実際にはそれほど難しくありません。自分に合ったモードを見つけて、そのモードに必要なアイテムをすべて集め、上記のガイドへのリンクから自分のモードに合ったものを選んでください。頑張ってください!復元が成功することを願っています!この記事をよく読んでからでないと、資格に関する質問はご遠慮ください。記事で答えが見つからない質問があれば、コメント欄でお知らせください!