jprx/darwin-vm
Run iOS/ macOS in Qemu. Virtual iPhone 17, 16, 15, 14, 13, 12 and M5-M1 Apple Si Macs supported.
何を解決するか
darwin-vm は、Qemu 内で軽量でデバッグ可能な iOS および macOS(Darwin)のバージョンを実行できるようにします。物理的なハードウェアや複雑なジャイルブレイクを必要とせず、カスタムコマンドラインプログラムのテスト、XNU カーネルのデバッグ、低レベルのシステム内部構造の調査が可能になります。
動作方法
このプロジェクトは、Apple Silicon の SPTM および TXM をサポートするように拡張された Qemu の特殊なフォーク(qemu-sptm)を使用しています。IPSW ファイルから修正されたリカバリイメージ(ramdisk)をブートし、GUI をバイパスして直接ルートシェルへ起動します。ユーザーは Xcode でカスタムバイナリをコンパイルし、署名して仮想ファイルシステムに挿入することで、ルート権限で実行できます。
対象ユーザー
Darwin の内部構造を分析したい、カーネルをパッチしたい、または物理デバイスがなくても Apple のオペレーティングシステム上でカスタムコードを実行したい、カーネル開発者、セキュリティ研究者、低レベルシステム愛好家向けです。
特徴
- 広範なハードウェアエミュレーション: iOS 用の A19-A14 および macOS 用の M5-M1 を含む、多数の Apple Silicon CPU をエミュレート可能。
- デフォルトでルートアクセス: 数秒で直接ルートシェルへ起動し、ジャイルブレイクやカーネルパッチの必要なし。
- カーネルデバッグ: GDB/LLDB と統合され、カーネル、SPTM、TXM、ユーザー空間プログラムのパッチおよびデバッグが可能。
- カスタムバイナリ実行: コンパイル、署名、VM の ramdisk への追加というワークフローを提供。
- 開発用カーネルサポート: シンボルのアクセス性やデバッグ機能を強化するため、カスタムまたは開発用カーネル(KDK)のブートをサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch