iOS 15.X-16.1.2 デバイス向けの MacDirtyCow エクスプロイトが初めて登場したとき、開発者はカーネル メモリの読み取りと書き込みを行うこの新しい機能をすぐに利用しました。
MacDirtyCow を悪用した最初の、そして最も有名なアドオンの一つが WDBFontOverwrite でした。これは、脱獄なしでロック画面とシステムフォントを変更できるアプリです。しかし、新たな開発により、この機能は新しいファームウェアを使用しているユーザーにも利用可能になる予定です。
そこで、MacDirtyCow 用の WDBFontOverwrite アプリのフォークであるKFDFontOverwriteが登場します。これは、iOS 16.5 (および 16.6 ベータ 1) までのファームウェアで動作する新しいカーネル ファイル記述子 (kfd) エクスプロイトと互換性を持つように作り直されたものです。
プロジェクトのGitHubページに記載されているように、KFDFontOverwriteではKFDオフセットを使用する必要がありますが、これまでのプロジェクトをフォローしている方なら、tihmstarなどの開発者がKFDオフセットを見つけるのに役立つツールをリリースしていることをご存知でしょう。開発者は/r/jailbreakの投稿で、その仕組みを説明しています。
KFDFontOverwrite は、kfd カーネルの読み取り/書き込みプリミティブと、それらに基づいてさらに構築された xsf1re のフォークを使用するように移植された、iOS 上のフォントを上書きできるアプリです。
これにはdynamic_info.hにあるkfdオフセットが必要です。デバイスとiOSの組み合わせが表示されない場合、またはkopen時にクラッシュする場合は、lrdsnowのkfd-offsetsリポジトリを参照し、それらをdynamic_infoに追加し、4 + 0x8を0x10に変更してください。その後、Xcodeでビルドしてください。
Xcodeをお持ちでない場合は、しばらくお待ちいただくか、dynamic_info.hをPRとして投稿してください。重複はご遠慮ください。時間のある時にまとめてIPAをプッシュします。
あらゆるデバイス/iOSの組み合わせで統一されたdynamic_info.hファイルがリリースされるのを待っています(途方もなく長くなるでしょう)
オフセットを自分で見つける必要があるため、WBDFontOverwriteほどユーザーフレンドリーではないようですが、iOS 15.4.1(Dopamine)より新しいファームウェアを搭載したA12以降のデバイス向けのジェイルブレイクが現在存在しないことを考えると、これは素晴らしい成果と言えるでしょう。とはいえ、ジェイルブレイクなしでシステムを変更する方法があり、これは有望に思えます。
iOS 16 のロック画面ではすでにカスタム フォントが使用できますが、KFDFontOverwrite ではシステム フォントを変更したり、より多くのフォント ファミリのリストから選択したりできるため、はるかに柔軟性が高くなります。
多くの開発者が現在、MacDirtyCowを中心とするアドオンをkfd脆弱性のあるデバイスに導入しようと取り組んでいることは注目に値します。そのため、今後、こうしたアドオンがさらに増える可能性があります。CowabungaやMisakaパッケージマネージャーアプリなどのプロジェクトがありますが、他にも同様のアドオンが存在します。
将来的には、KFDが脱獄開発に役立つ可能性はありますが、PPLバイパスがリリースされるまでは実現しそうにありません。それがいつ、あるいはいつ実現するかは不明ですが、コミュニティの多くは、そのような事態に備えてデバイスの準備を始めています。
KFDを通じて、ジェイルブレイクされていないデバイスにもさらに多くのアドオンが登場することを期待していますか?ぜひ、下のコメント欄でその理由をお聞かせください。