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 核心,或探索底層系統內部結構。

工作原理

本專案使用一個特別的 Qemu 分支(qemu-sptm),新增對 Apple Silicon 的 SPTM 與 TXM 支援。它從 IPSW 檔案中載入修改過的復原映像(ramdisk),跳過 GUI,直接啟動至根 shell。使用者可使用 Xcode 編譯自訂二進位檔,簽署後注入虛擬檔案系統,以 root 權限執行。

適用對象

專為核心開發者、安全研究人員與底層系統愛好者設計,他們希望分析 Darwin 內部結構、修補核心,或在無需實體裝置的情況下於 Apple 作業系統上執行自訂程式碼。

主要亮點

  • 廣泛的硬體模擬:支援模擬多種 Apple Silicon CPU,包括 iOS 用的 A19-A14 與 macOS 用的 M5-M1。
  • 預設擁有根權限:數秒內直接啟動至根 shell,無需越獄或核心修補。
  • 核心調試:與 GDB/LLDB 整合,支援對核心、SPTM、TXM 與使用者空間程式進行修補與調試。
  • 自訂二進位執行:提供從編譯、簽署到新增自訂程式至 VM 的 ramdisk 的完整工作流程。
  • 開發核心支援:支援啟動自訂或開發核心(KDK),以增強符號存取與調試功能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • Dispatch