レガシーデバイスをダウングレードしたいと思っても、必要なツールがなかったという経験があるなら、このツールがぴったりかもしれません。Tihmstar氏が、お馴染みのfuturerestoreツール(Prometheusとも呼ばれる)にlibipatcherという追加機能をリリースしました。libipatcherとは一体何をするのでしょうか?簡単に言うと、ジェイルブレイク済みの32ビットデバイスを、BLOBファイルが存在する任意のファームウェアにダウングレードできるツールです。
これまで、futurerestore は主に64ビットデバイスで使用されており、ユーザーが.shsh2 blob を保存していれば、署名されていないファームウェアへの復元が可能でした。その後、iOS 9 の再復元バグに対応するようにアップデートされ、ある程度の32ビットサポートが追加されました。libipatcher の追加により、32ビット対応が完了し、64ビットデバイスでも futurerestore と同等の機能が利用可能になりました。
この新機能は、ご存知の方もいらっしゃるかもしれませんが、Odysseus ダウングレードツールの機能に似ています。Odysseus も blob を使って 32 ビットデバイスをダウングレードできましたが、大きな違いが 1 つあります。復元を完了するにはバンドルが必要だったのです。バンドルはデバイスとファームウェアごとに異なるため、必要なバンドルが多数存在し、しかもすべてが作成されたわけではありませんでした。
libipatcher によりこの要件はなくなり、Odysseus は事実上不要になります。libipatcher はバンドルを必要とせず、すべての調整をオンザフライで行います。つまり、ユーザーはツールを使用するために、対象のファームウェアの BLOB のみを必要とします。
ここでは、libipatcher について知っておく必要のあるすべてのことを簡単に説明します。
それは何ですか?
tihmstar の futurerestore 用の追加モジュール。32 ビット デバイスの署名されていないファームウェアへの移行を可能にします。
何が必要ですか?
- 脱獄。
- 将来の復元。
- libipatcher。
- 32 ビットデバイス。
- 宛先ファームウェアの .shsh blob。
- 宛先ファームウェアの IPSW。
- 公開キーはデバイスで使用できる必要があります (ほとんどの場合は使用できますが、使用できない場合は、誰かが公開キーをダンプするまで使用できません)。
どうやって使うんですか?
futurerestore と非常によく似た方法ですが、libipatcher と futurerestore のリリース版がまだ入手できないため、当面は新しいバージョンを自分でコンパイルする必要があります。使用方法は簡単なので、コンパイルが最も難しい部分です。面倒な手間を省くために、完全なバージョンが利用可能になるまで待つことをお勧めします。ただし、もし勇気があるなら、アセンブル方法に関するガイドを作成する予定です。
Odysseus や他の 32 ビット ダウングレード ツールとどう違うのでしょうか?
- バンドルは必要ありません。
- 元のベースバンドは保持されず、代わりに現在署名されているベースバンド、またはレガシー目的でまだ署名されている以前のベースバンド (iOS 8.4.1 など) のいずれかが使用されます。
どう似ているのでしょうか?
- どちらも署名されていないファームウェアへのアップグレード/ダウングレード/復元です。
- どちらも blob が必要です。
- どちらもキーが利用可能である必要があります。
誰が使えますか?
対象のファームウェア用にBLOBを保存していて、デバイスにジェイルブレイク機能がある方。ジェイルブレイク機能をお持ちでない場合は、iOS 9の再復元バグを利用して、まずジェイルブレイクなしでiOS 9に移行し、その後ジェイルブレイクしてfuturerestore+libipatcherを使用できるかどうかを確認してください。
Twitterでもお伝えした通り、この新しいユーティリティは既に試してみましたが、完璧に動作しました。以前Odysseusを使ったことがあるのですが、このツールの方が少しシンプルだと感じました。デバイス用のバンドルを探す必要がなく、futurerestoreと同じように使えるからです。iPad 2(Wi-Fi)をiOS 9.3.4からiOS 8.3に復元しようとしたのですが、Odysseusではそのデバイスとファームウェアの組み合わせ用のバンドルがなかったため、うまく復元できませんでした。
futurerestore+libipatcher の動作を確認するには、tihmstar のリリース動画をご覧ください。使い方が解説されています。ソースコードからビルドすることに抵抗がなければ、GitHub で futurerestore と libipatcher の両方を見つけてビルドできます。
全ての依存関係を一般ユーザーでも簡単にビルドできる確実な方法を見つけたら、あるいはtihmstarが依存関係を含んだビルド済みバージョンをリリースしたら、ツールの使い方ガイドを投稿します。それまでは、ぜひご自身で試してみて、コメント欄で感想をお聞かせください。