
ディレクトリトラバーサルとiOSリストアを利用して保護されたファイルを上書きするエクスプロイトチェーン。
SparstanBoogie の起源は、報告によると iOS/iPadOS 15.2 - 16.7 RC (20H18) および 17.0 でテストされましたが、実際に動作しなくなった (26.1 <) までテストが実施されています。 (> 26.1) のデバイスでのテストに関しては、より低レベルなテストが必要であり、歓迎されます。また、報告されたバージョンより上または下のデバイスでのテストも歓迎されます。新しいデバイスで再発する可能性があるため、自分にとって動作するかどうかを報告したいと考える善意のユーザーを無視する理由はありません。このツールの元となった親プログラムでサポートされていないとされていた古いデバイスも、iOS 15.8.7 のように影響を受けることが判明しています。
この問題は、公式の脆弱性開示によると、シンボリックリンクの処理改善によって対処されたと報告されています。この問題は、iOS 17.7.1 および iPadOS 17.7.1、iOS 18.1 および iPadOS 18.1、tvOS 18.1、visionOS 2.1 で修正されたとされています。悪意を持って作成されたバックアップファイルを復元すると、保護されたシステムファイルが改変される可能性があります。
ただし、SparstanBoogie は、Nugget や Misaka で見られる技術を実装しており、この半脱獄ツールを使用してデバイスをカスタマイズするプロセスをユーザーがより制御できるようにしています。
カスタマイズのための実装方法は主に2つあります。1. このツールは、ユーザーランドのシステムおよびモバイルアプリの置き換えの影響を示すために trollstore の使用を推奨しています(アプリケーションには置き換えをデモンストレーションするための trollstorehelper が同梱されています)。2. このツールは部分的な iOS リストアを使用して制御を取得し、システムファイルを上書きします。これは gestalt ファイルの上書きによって確認できます。ユーザーは既知の gestalt キーを調べて値を置換または上書きすることで、オペレーティングシステムをカスタマイズできます。
使用法: python3.12 main.py trollstorehelper --target Tips
更新: 現在はディレクトリトラバーサルと iOS リストアを利用して、大きな変更を加えることができます。Misaka26、Nugget、TrollRestore に関わったすべての人々に感謝します。このプロジェクトが期待に沿えない場合は、それらを試すことを強くお勧めします。このプロジェクトは、それらのツールが何のためにあったのかをコマンドラインからより詳しく教育的に示すものです。
よく使われる構文: Sparse app-target: python3 main.py <from_path> --target "Tips" Gestalt-chain: python3 main.py <from_path> --gestalt-chain
例:
python3 main.py trollrestorehelper --target "Calculator"
python3 main.py MobileGestalt.plist --gestalt-chain
以下に、独自の gestalt ファイルを取得して iOS デバイスに変更を加えるためのガイドを示します。
このガイドでは、Save MobileGestalt Shortcut を a-Shell mini と一緒に使用して、デバイスの MobileGestalt キャッシュをエクスポートし、次の名前で保存する方法を説明します:
MobileGestalt.plist
このショートカットは、次のコピーを保存するために特別に設計されています:
com.apple.MobileGestalt.plist
新しい iOS バージョンでは、信頼性の高いアクセス/エクスポート動作のために a-Shell mini が必要です。
MobileGestalt は、デバイス固有の設定とハードウェア情報を保存する Apple のシステムフレームワークです。
研究者や上級ユーザーは、通常、この plist を次の目的で使用します:
エクスポートされた plist はデバイス固有であり、ハードウェア構成に固有の詳細が含まれています。
必要なもの:
App Store から a-Shell mini をインストールします。
新しい iOS リリースではショートカットのファイルシステム動作が厳しくなったため、a-Shell mini が推奨されます。ショートカットは a-Shell mini を使用して MobileGestalt ファイルに確実にアクセス/エクスポートします。
インストール後:
これにより、ショートカット用の作業ディレクトリが初期化されます。
開く:
https://routinehub.co/shortcut/23246/
次に:
次のように表示されるはずです:
Save MobileGestalt
ショートカットライブラリ内に表示されます。
ショートカットを起動します。
iOS バージョンによっては、次の要求を含むプロンプトが表示される場合があります:
要求されたすべての権限を許可します。
次に、ショートカットは次のことを行います:
ファイルアプリを開きます。
次のいずれかの場所に移動します:
On My iPhone
→ a-Shell
または:
iCloud Drive
→ Shortcuts
iOS バージョンと設定によっては、ファイルが次の名前で表示される場合があります:
com.apple.MobileGestalt.plist
次の名前に変更します:
MobileGestalt.plist
必要に応じて。
次のファイルが作成されているはずです:
MobileGestalt.plist
このファイルは次の用途に使用できます:
a-Shell mini を使用することは、新しい iOS のショートカット書き出し制限を回避できるため、現在最も信頼性の高い方法の 1 つです。
また、次のことが容易になります:
エクスポート後、plist は次のようなツールで開くことができます:
関連する追加ユーティリティ: