
Persönliche Forschung zur Xbox-Series-Architektur
| Feld | Wert |
|---|---|
| Datum | 9.–12. März 2026 + 7.–? Juli 2026 |
| Hardware | Xbox Series S (Codename: Lockhart) |
| Betriebssystem-Build | 26100.7010.amd64fre.xb_flt_2602ge.260212-1010 + 26100.8561.amd64fre.xb_flt_2606ge.260609-2200 |
| Zugriffsmethode | Entwicklermodus + SSH + REST-API + NTFS-Dateifreigaben-Junction |
Dieser Bericht ist eine statische und dynamische Analyse der internen Architektur der Xbox Series S, die vollständig über die offizielle Entwicklermodus-Infrastruktur von Microsoft durchgeführt wurde. Es wurden keine Exploits oder Richtlinienverstöße verwendet; der gesamte Zugriff erfolgte im Rahmen des individuellen Entwicklerprogramms.
Er enthält Details von den Komponenten der höchsten Ebene, die für das Gameplay verwendet werden, bis hinunter zu den Systemtreiberkomponenten der niedrigsten Ebene. Die meisten dieser Details dürften auch für die Xbox One identisch sein.
KI wurde verwendet, um die umfangreiche erste Recherche (über 200 Analyseausgaben und über 50 verstreute Notizen) konsistent und sehr schnell zu formatieren. Alle zukünftigen Bearbeitungen werden von Hand durchgeführt.
Wenn du denkst, dass irgendein Punkt hier unklar, unzureichend dokumentiert oder falsch ist, kannst du mich gerne per DM kontaktieren; wenn du Antworten auf meine Fragen hast (in Abschnitt 12), wäre das ebenfalls schön. GUIDs und andere häufige Muster werden in einem Pre-Commit-Hook redigiert, nur für den Fall, dass ich etwas hinterlasse, das mein Konto identifiziert.
Vieles, woran ich arbeite, sind Annahmen, daher könnte es ungenau sein und wird sich ändern, sobald ich weitere Informationen erhalte und weitere Binärdateien untersuche.
Aus Gründen, die du dir denken kannst, werde ich unter keinen Umständen direkte Binärdateien, Disassemblierungsausgaben oder irgendetwas, das als geistiges Eigentum von Microsoft oder seinen Tochtergesellschaften gilt, teilen.
ERA = GameOS Partition
SRA = SystemOS Partition
HT = Kinect (possibly "Human Tracking"?)
Arden = Xbox Series X/S GPU Stack
NewBe = Arden shader compiler
Eine Verwaltung von Treibern durch das Host-Betriebssystem existiert außerhalb des bekannten SRA/ERA-Modells, siehe Vertrauensmodell (Abschnitte 4.2, 17.5). XVIO.SYS und XSraFlt.sys werden direkt vom Hypervisor (über HostOS) geladen, bevor Windows initialisiert wird, und sind auf allen zugänglichen Volumes nicht vorhanden. Sie können selbst bei vollem Kernel-Zugriff nicht manipuliert werden, was die primäre Sicherheitsgrenze darstellt.
HVCI ist bewusst deaktiviert (Abschnitt 18). IsSecureKernelRunning = 0x0 bestätigt, dass der Secure Kernel (VTL1) nicht läuft. Die Code-Integrität greift nur zur Ladezeit, wodurch nach dem Mapping von Binärdateien ein TOCTOU-Fenster entsteht. Dies ist ein bewusster Kompromiss für die Leistung; die Sicherheitsgrenze ist die Hypervisor-Partition, nicht der Speicherschutz innerhalb der Partition.
Die NTFS-Junction legt das gesamte SystemOS-Dateisystem über das Netzwerk offen (Abschnitt 1.2). Ein einzelner mklink /J-Befehl aus der SSH-Shell mappt C:\ oder alles andere in die Dateifreigabe des Geräteportals, wodurch jede Systembinärdatei remote lesbar wird, ohne dass eine andere Authentifizierung als die Entwicklermodus-PIN erforderlich ist.
Die partitionenübergreifende Architektur ist nahezu vollständig kartiert (Abschnitte 4, 14, 26-28). Die ERA-Spielpartition kommuniziert ausschließlich über hyperviservermittelte Kanäle mit SystemOS: XVIO-Ringpuffer für I/O, GPA-Übersetzung für gemeinsamen Speicher, HvSocket für IPC und ALPC-Portabschnitte für die Nullkopie-Framebuffer-Zustellung, die von einem übergeordneten „Host OS“ gewährt wird.
Die Deploy:\-Junction umgeht lokale Zugriffsbeschränkungen (Abschnitt 25). Das Windows-Update-Volume ist nur über die Netzwerkfreigabe (S:\Deployment\SoftwareDistribution\) zugänglich, bedingt durch eine Diskrepanz irgendwo (vielleicht xrfssvc.exe?).
Die meisten Binärdateien haben nur Beschreibungszeichenfolgen – das wusste ich bis heute nicht, da ich Windows für nichts anderes als die eigentliche Verbindung zur Konsole verwendet habe. Oft sind sie langweilig (z. B. XVUH, XVMCTRL), aber manchmal sind sie sehr beschreibend (z. B. Durango Virtual XVNC Bus Driver, Xbox Remote File System Service).
Alle Tests wurden an einem einzelnen handelsüblichen Xbox-Series-S-Gerät im Entwicklermodus durchgeführt. Die Ergebnisse spiegeln viele Builds wider; ich werde die Builds jedoch irgendwann differenzieren und dokumentieren. Die Befunde können je nach Hardware-Revision (Series X, Xbox One) und Firmware-Version variieren. Mehrere Kernel-Ebenen-Oberflächen waren nicht erreichbar: Live-Kernel-Dumps werden durch die NoKernelDumps-Einschränkung blockiert, und die IOCTL-Oberfläche von xvmctrl.sys wurde nicht vollständig aufgezählt. Offene Fragen werden in Abschnitt 12 verfolgt.
| Werkzeug | Zweck |
|---|---|
| Windows Explorer | Xbox-Netzwerkfreigabe (Anleitung unter https://XBOX:11443/#File%20explorer > Durchsuchen) |
SSH (DevToolsUser + VS-PIN) | Shell-Zugriff auf SystemOS |
mklink /J | Erstellung von NTFS-Junctions, um Laufwerke über die Netzwerkfreigabe verfügbar zu machen |
Geräteportal (https://XBOX:11443) | REST-API, Dateibrowser, Prozessliste, Live-Dumps |
dumpbin /IMPORTS, dumpbin /EXPORTS | Statische Analyse von PE-Binärdateien über die Netzwerkfreigabe |
| Python | Skript zur Automatisierung der REST-API |
| Phasor | Skriptlaufzeitumgebung zur Verwendung auf der Konsole (über Netzwerkfreigabe kopieren, per SSH ausgeführt) hier herunterladen |
reg query | Registrierungs-Enumeration über die SSH-Shell |
WdApp.exe | Paketmanager und ERA-Lebenszyklussteuerung (Aufzählung der Befehlsoberfläche) |
WdConfig.exe | Enumeration der Konsolen-Einstellungs-API |
| ETL-Ablaufverfolgungsanalyse | Windows-Update-Pipeline über S:\Deployment\SoftwareDistribution\-Junction |
| Live-Prozess-Dumps | GET /api/debug/dump/usermode/live?pid=<pid> |
| Ghidra | Analyse von COM-Schnittstellen / Treibern |
| IDA Pro | Aufrufdiagramme komplexer DLLs und COM-Schnittstellen |
| XboxTools | Meine eigene Sammlung von Hilfsprogrammen für verschiedene Zwecke |
Der Zugriff wurde über die offiziell nicht dokumentierte (aber es gibt Community-Dokumentation) SSH-Schnittstelle des Entwicklermodus hergestellt. Die NTFS-Junction-Technik (Abschnitt 1.2) erweiterte den Lesezugriff vom Scratch-Bereich D:\DevelopmentFiles auf das gesamte Systemvolume C:\ und alle weiteren Laufwerksbuchstaben. Die gesamte Analyse war schreibgeschützt; es wurden keine Systemeinstellungen geändert (WdConfig.exe set wurde nicht verwendet). Xbox kann über die SSH-Shell direkt standardmäßige x86_64-Windows-Konsolenprogramme (mit /MT kompiliert) ausführen, was zum lokalen Ausführen der Analysewerkzeuge genutzt wurde.