Zusammenfassung:
Entwickler JPRX hat kürzlich das Darwin-VM-Projekt als Open Source veröffentlicht, das eine modifizierte QEMU-Virtualisierungslösung verwenden kann, um echte iOS- und macOS-Systeme zu starten, und in den letzten Jahren mehrere Generationen von Chips der Apple A/M-Serie simulieren kann. Es ist zu beachten, dass dieses virtuelle Maschinenprojekt hauptsächlich für XNU-Kernel-, Sicherheitsforschungs- und Reverse-Engineering-bezogene Forschungs- und Lernzwecke dient. Da es sich nicht um einen vollständigen Simulator zum Ausführen von iOS-Anwendungen handelt, ist die Bereitstellung für Nicht-Forscher möglicherweise nicht erforderlich.

Unterstützt mehrere Generationen von Chips der Apple A/M-Serie:
Dieses Open-Source-Projekt wurde getestet, um Chips der Serien A14~A19 zu unterstützen, entsprechend dem iPhone 12/13/14/15/16/17. Was macOS betrifft, deckt es M1~M5 sowie getestete Modelle wie Mac mini und MacBook Air ab.
Nach dem Systemstart wird nicht der grafische Desktop von iOS oder macOS aufgerufen, sondern direkt die optimierte Darwin Root Shell-Umgebung. Entwickler können das Root-Dateisystem direkt bearbeiten, benutzerdefinierte Anwendungen kompilieren und ausführen sowie den XNU-Kernel, SPTM, TXM, dyld, launchd und Benutzermodusprogramme debuggen.
Anpassung an die Sicherheitsarchitektur von Apple SPTM und TXM:
Die unterste Ebene von Darwin-VM verwendet den von Entwicklern verwalteten qemu-sptm-Zweig. Im Vergleich zum Standard-QEMU fügt diese Version eine große Anzahl von Apple A/M-spezifischen Hardware- und Sicherheitsmechanismussimulationen hinzu, darunter SPTM, TXM, SPRR/GXF, MIE/MTE, Apple-spezifische Systemregister, AIC-Interrupt-Controller sowie das Laden von APFS Ramdisk und TrustCache.
Das Projekt ermöglicht sogar das Laden eines benutzerdefinierten Kernelcaches, eines von Apple bereitgestellten Entwicklungskernels oder eines benutzerdefinierten kompilierten XNU-Kernels, der sich ideal zum Debuggen des Kernels und zum Studium der zugrunde liegenden Sicherheitsmechanismen von Apple eignet.
Kein benutzerorientierter Emulator:
Hier muss auch noch einmal betont werden, dass das Darwin-VM-Projekt keine Benutzerdesktop-, GPU-, WLAN-, Bluetooth- und GPU-Anwendungsunterstützung bietet. Daher können Anwendungen wie der Android-Emulator nicht direkt zum Testen heruntergeladen und installiert werden, sodass Benutzer, die nicht zu Forschungszwecken arbeiten, dieses Projekt nicht installieren müssen.
Darwin-VM benötigt außerdem keine Arm-Architektur und kann daher auch auf x86-Geräten ausgeführt werden. Wenn Sie jedoch verschiedene Tools aus dem offiziellen IPSW extrahieren, müssen Sie weiterhin die Mac-Unterstützung verwenden und können sie dann zur Verwendung auf eine virtuelle Maschine übertragen.
Projektadresse:
https://github.com/jprx/darwin-vm
Kommentare