Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
XboxSeries — Persönliche Forschung zur Xbox-Series-Architektur | Kitploit
Tools/GitHubGitHub/daniellmcguire/xboxseries
Embedded-System-SicherheitStatische AnalyseDynamische Analyse (Sandboxing)Reverse EngineeringDebuggerHardware-SicherheitBinäranalyseLernen & BildungFirmware-Analyse
GitHubdaniellmcguire/xboxseries

XboxSeries

Persönliche Forschung zur Xbox-Series-Architektur

574vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigenWebseite

Xbox Series: Forschung zur internen Architektur

FeldWert
Datum9.–12. März 2026 + 7.–? Juli 2026
HardwareXbox Series S (Codename: Lockhart)
Betriebssystem-Build26100.7010.amd64fre.xb_flt_2602ge.260212-1010 + 26100.8561.amd64fre.xb_flt_2606ge.260609-2200
ZugriffsmethodeEntwicklermodus + SSH + REST-API + NTFS-Dateifreigaben-Junction

Zusammenfassung

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.


Klarstellungen

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.

root@kitploit:~
ERA = GameOS Partition
SRA = SystemOS Partition
HT = Kinect (possibly "Human Tracking"?)
Arden = Xbox Series X/S GPU Stack
NewBe = Arden shader compiler

Wichtigste Erkenntnisse

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).

Umfang und Einschränkungen

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.


Methodik

Verwendete Werkzeuge

Vorgehen

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.

Kernel-Dumps waren nicht verfügbar: Die NoKernelDumps-Beschränkung des Geräteportals blockiert sie im Entwicklermodus von Handelsgeräten. Live-Prozess-Dumps des Benutzermodus waren verfügbar und wurden dort verwendet, wo es relevant war.


1. Fernzugriff

1.1 Shell-Zugriff

Der Xbox-Entwicklermodus unterstützt Visual Studio, dieser verwendet SSH:

  • Benutzername: DevToolsUser
  • Passwort: die Visual-Studio-PIN, die in Dev Home angezeigt wird

1.2 Dateisystemzugriff

Das Geräteportal unter https://XBOX:11443 stellt eine versteckte NTFS-Dateifreigabe für D:\DevelopmentFiles bereit. Von der SSH-Shell aus:```batch mklink /J D:\DevelopmentFiles\C C:\

root@kitploit:~
Dadurch wird ein Junction-Punkt vom Entwickler-Arbeitsbereich zum Stammverzeichnis des System-C-Laufwerks erstellt und das gesamte SystemOS-Dateisystem als lesbare Netzwerkfreigabe verfügbar gemacht unter:

    \\XBOX\DevelopmentFiles\C

Dadurch können Tools wie `dumpbin` von einem PC aus direkt gegen Xbox-Systembinärdateien über das Netzwerk ausgeführt werden.

---

## 2. OS-Identität

| Feld              | Wert             |
|--------------------|-------------------|
| Produktname       | Xbox Series S     |
| OS-Edition         | SystemOS          |
| Windows-NT-Version | 10.0              |
| Buildnummer       | 26100             |
| Buildzeichenfolge       | `26100.8561.amd64fre.xb_flt_2606ge.260609-2200` |
| LCUVer             | `10.0.26100.8536` |
| Zweig             | `xb_flt_2602ge`   |
| Builddatum         | 09. Juni 2026     |
| Architektur       | x64               |
| UEFI Secure Boot   | `NotCapable`      |
| Konsolen-Codename   | Lockhart          |
| Konsolenmodus       | Default           |
| Sandbox-ID         | `XDKS.1`          |

Das Betriebssystem identifiziert sich als **SystemOS**, nicht als Windows. Der Build-Zweig `xb_flt_2602ge` scheint ein eigener Xbox-„Fork“ der Windows-Codebasis zu sein, der Windows 11 weiterhin sehr ähnlich ist. Einige Windows-Systembinärdateien sind bitweise identisch mit ihren Desktop-Pendants, wurden mit derselben MSVC-Toolchain erstellt und stammen wahrscheinlich aus denselben UUP-Paketen. Dies ist getrennt von dem unklaren „Host OS“.

### 2.1 Registrierungsidentität

Mehrere `CurrentVersion`-Felder wurden absichtlich eingefroren, ähnlich wie beim Desktop-Windows (in diesem Fall für die Kompatibilität mit Xbox-One-Titeln):

| Schlüssel | Wert | Anmerkungen |
|-----|-------|-------|
| `CurrentVersion` | `6.3` | Meldet intern Windows 8.1, für Kompatibilität |
| `BuildGUID` | | genullt/bereinigt |
| `InstallDate` | `0` | kein Installationszeitstempel |
| `EditionID` | `SystemOS` | Nie aktualisiert |
| `ReleaseId` | `2009` | Auf Windows-10-20H2-Ära eingefroren; nie erhöht |

---

## 3. Volume-Layout

Die Konsole macht 13 Laufwerksbuchstaben verfügbar, von denen die meisten vermutlich [wie bei der Xbox One, vollständig virtuell](https://xboxoneresearch.github.io/wiki/operating-system/xbox-operating-system/) sind

| Laufwerk | Bezeichnung | Inhalt | Anmerkungen |
|-------|-------|----------|-------|
| `C:` | System Boot | Windows-Betriebssystemdateien | Standard-SystemOS-Partition |
| `D:` | *(none)* | `DevelopmentFiles\` | Arbeitsbereich des Entwicklermodus |
| `G:` | *(none)* | `GameDVR_VideoBuffer` (272MB), `GameDVR_AudioBuffer` (16MB), `GameDVR_AudioBuffer_SysLoopback` (3MB) | Rohe zirkuläre Aufnahmepuffer, gemeinsamer Speicher zwischen ERA und SystemOS |
| `J:` | Sys Tools | XTF-Toolchain, Treiber, QuickActions | Siehe Abschnitt 5 |
| `M:` | Misc | Enthält die konsolenspezifischen NTFS-Overlays für Bibliotheken und Treiber | System-OS-Partition? |
| `N:` | *(none)* | `BlackBox\`, `EtwPlus\`, `CMS\`, `errorstrings\`, `usersettings\` | Diagnose- und Telemetrievolume, siehe Abschnitt 3.2 |
| `Q:` | *(none)* | `Users\DevToolsUser\` | Benutzerbasisverzeichnis |
| `S:` | *(none)* | `apps\`, `Clip\`, `Deployment\`, `Prefetch\`, `Microsoft\`, `ProgramData\` | wahrscheinlich Host-OS-Volume (enthält auch Standard-Apps und weitere Ressourcen) |
| `T:` | *(none)* | `GameDVR\`, `Update\`, Junctions zu Harddisk16 | GameDVR-Metadaten + Update-Pipeline |
| `U:` | *(none)* | `ShellState\`, `BackCompatLicenses\`, `UserDataCache\` | Shell- und Benutzerstatus |
| `V:` | *(none)* | *(leer)* | Unbekannter Zweck |
| `X:` | SystemAux | `Apps\`, `Catalog000.bin` (2.3MB) | System-App-Binärdateien: 63 Apps, einschließlich `AdsLauncher`, `Xbox.DiscordComponent`, `Xbox.SingleUserProxy`, `Xbox.NTSCaptivePortal`, `Xbox.Xmap`, `Xbox.XboxIDP`, siehe Abschnitt 3.3 |
| `Y:` | SystemAuxF | `Apps\`, `Catalog000.bin` (6.5MB) | Sekundäre System-App-Binärdateien |

Zusätzlich existiert `\\.\HarddiskVolume10` ohne Laufwerksbuchstabenzuweisung. Es gibt ein verstecktes WER-Volume (Windows Error Reporting) mit `CrashDumps\`, `ReportArchive\`, `ReportQueue\` und `Temp\`. Mindestens **18 physische Datenträgergeräteobjekte existieren** (`PhysicalDrive0` bis `PhysicalDrive17`), alle als Kernelobjekte vorhanden, aber auf Roh-Ebene aus dem Benutzermodus nicht zugänglich. `HarddiskVolume16` und `HarddiskVolume18` existieren als echte zugängliche Volumes, sind jedoch für `DevToolsUser` blockiert.

### 3.1 Versteckte Kernel-Gerätepfade

Die folgenden Pfade existieren als Kernel-Geräteobjekte, sind aber (normalerweise) aus dem Benutzermodus nicht zugänglich:

- `\??\Deploy:\` Xbox-Update-/Bereitstellungspipeline-Volume (über Junction über Netzwerkfreigabe unter `S:\Deployment\` zugänglich)

### 3.2 N:\ Diagnosevolume

Mehrere Verzeichnisse auf `N:\` werden aktiv von einem Dateisystem-Filtertreiber auf Kernel-Ebene verborgen; sie erscheinen für alle Benutzermodus-Tools leer, es ist jedoch bestätigt, dass zur Laufzeit in sie geschrieben wird:

| Pfad | Status | Anmerkungen |
|------|--------|-------------|
| `N:\EtwPlus\` | **Kernel-verborgen** | Inhalt durch Dateisystem-Filtertreiber verborgen |
| `N:\BlackBox\` | Zugänglich | Enthält Xbox-spezifische ETL-Absturzbericht-Telemetriedaten |
| `N:\errorstrings\en-US.json` | Zugänglich | Vollständige Xbox-Fehlerzeichenfolgen-Datenbank mit 797 Einträgen, siehe Abschnitt 3.4 |
| `N:\usersettings\18\public\` | Zugänglich | Gamerpic in voller Qualität als erweiterungslose PNGs gespeichert (1080×1080 RGBA, Standard-PNG-Format) |

`N:\usersettings\18\public\` speichert sowohl `AppDisplayPic` als auch `GameDisplayPic` als erweiterungslose Dateien. SHA256-Hashing bestätigt, dass sie byteweise identisch sind; das App-Anzeigebild und das Gamerpic sind dieselbe Datei, die in zwei Pfade geschrieben wird.

### 3.3 X:\ SystemAux

`X:\ht\versions\` enthält einen aktiven Kinect-Vision-Stack mit **drei gleichzeitig installierten Versionen** nebeneinander (1.0.0, 1.0.1, 1.0.2), insgesamt 119 MB. Diese entsprechen `vvtechs.dll`-Builds mit den Versionen 1.67MB->1.70MB->1.85MB.

**ML-Modelle für Körperverfolgung** (pro Versionsverzeichnis):

| Datei | Größe | Zweck |
|------|------|---------|
| `exemplardb.xmplr` | 36.7MB | Exemplar-Datenbank für Ganzkörperposen |
| `FernsModel.bin` | 932KB | Tiefen-Keypoint-Detektor (Random-Ferns-Klassifikator) |
| `HeadPosition.mshdf` | 262–393KB | Kopfgelenk-Schätzer (variiert je nach Version) |
| `LSVMGripReleaseRight.gbd` | 7.5KB | Latenter SVM-Klassifikator für Griff/Loslassen, rechte Hand |

**ML-Modelle für Gesichtsverfolgung** (systemweit, `C:\Windows\System32\ht\`):

| Datei | Größe | Zweck |
|------|------|---------|
| `FaceDetector.bin` | 3.0MB | Gesichter im Bild lokalisieren |
| `FaceRecognition.bin` | 3.4MB | Identitätserkennung über Tiefe/IR |
| `FaceRecognition_Color.bin` | 5.9MB | Identitätserkennung über Farbkanal |
| `ExpressionRandomForest.model` | 150KB | Emotionsklassifikator |
| `EyeLeftRandomForest.model` | 55KB | Zustand des linken Auges |
| `EyeRightRandomForest.model` | 65KB | Zustand des rechten Auges |
| `LookingAwayRandomForest.model` | 42KB | Blick-/Aufmerksamkeitserkennung |
| `MouthOpenRandomForest.model` | 58KB | Zustand des geöffneten Mundes |
| `MouthMovedRandomForest.model` | 35KB | Lippenbewegung |
| `FacialHairIRRandomForest.model` | 126KB | Gesichtsbehaarung (nur IR-Sensor) |
| `GlassesIRRandomForest.model` | 206KB | Brillenerkennung (nur IR-Sensor) |

Alle Gesichtsattribut-Klassifikatoren sind **Random-Forest**-Modelle. Die Ausgabe umfasst Identität, Ausdruck, Blick, Lippenstatus und Erscheinungsattribute.

Das `vvtechs.dll` im Stack exportiert eine einzelne Funktion: `NuiVisionCreateFactory`. Es importiert `EtwPlus.dll` und `D3D11`, was bestätigt, dass die Kinect-Vision-Pipeline auf der GPU läuft und den Xbox-spezifischen Telemetriepfad verwendet. Dies ist auf Hardware aktiv, an der kein physisches Kinect angeschlossen ist (siehe auch `KinectSensorEnabled=true` in Abschnitt 6 und die vollständige `nuiservice.exe`-Pipeline in Abschnitt 33).

### 3.4 N:\errorstrings\en-US.json-Fehlercode-Datenbank

797 Xbox-Fehlerzeichenfolgen-Einträge. Bemerkenswerte Codes mit sicherheits- oder architekturrelevanter Bedeutung:

| Fehlercode | Zeichenfolge | Anmerkungen |
|------------|-----------------|-------|
| `0x887E0002` | D3D12.X runtime/driver mismatch | Bestätigt, dass D3D12.X eine Xbox-spezifische D3D12-Variante ist, nicht generisches D3D12 |
| `0x80A40406` | Enhanced Microsoft telemetry enabled in dev mode | Der Entwicklermodus meldet die Konsole ausdrücklich für eine erweiterte Telemetrieerfassung an |

---

## 4. Hypervisor-Architektur

Die Xbox verwendet einen benutzerdefinierten, auf Hyper-V basierenden Hypervisor, der zwei Partitionen ausführt:

- **SystemOS**, die SRA-Partition
- **ERA-Partition**, die GameOS-/TitleOS-Ausführungsumgebung

### 4.1 Treiber-Stack

    User space:     xpal.dll
                        ↓
    Kernel:         xpalk.dll 
                        ↓
                    xvmctrl.sys (364KB)
                        ↓
    Hypervisor:     XVIO.SYS 

### 4.2 Wichtige Hypervisor-Treiber

| Treiber            | Größe    | Zweck                                                              |
|-------------------|---------|----------------------------------------------------------------------|
| `xvmctrl.sys`     | 364KB   | VM-Control, Haupt-Hypervisor-Schnittstelle, IOCTL-Oberfläche                 |
| `XVIO.SYS`        | unknown | Xbox Virtual I/O, direkte Hypervisor-ABI (nicht auf dem SystemOS-Dateisystem) |
| `xvioc.sys`       | unknown | XVIO-Client, SystemOS-seitige Schnittstelle zu XVIO                         |
| `xvbus.sys`       | 73KB    | Virtueller Bus-Root + HvSocket-XVIO-Anbieter                            |
| `hvsocket.sys`    | 185KB   | Hyper-V-Socket-Implementierung                                        |
| `VMNP.SYS`        | 106KB   | Heißt „NPFS Driver“ und übernimmt auch Impersonationen.                      |
| `Xrfs.sys`        | 135KB   | Xbox-Dateisystemtreiber                                               |
| `XRmnt.sys`       | 49KB    | Xbox-Mount-Treiber                                                    |
| `XRo.sys`         | 95KB    | Xbox-Schreibschutzfilter                                                 |
| `VerifierExt.sys` | 274KB   | Treiberverifier-Erweiterung                                            |

**Kritischer Befund:** `XVIO.SYS` und `xpalk.dll` haben **keine Registrierungsdienst-Einträge** und sind **nicht im SystemOS-Dateisystem vorhanden**. Sie werden wahrscheinlich vom Host OS geladen, bevor SystemOS startet, vollständig außerhalb des lokalen Treibermodells. Das ist der eigentliche Sicherheitsmechanismus; selbst bei vollem SystemOS-Kernelzugriff können diese Komponenten nicht manipuliert werden.

### 4.3 XVIO-API-Oberfläche (rekonstruiert aus Importen)

Informationen zu XVIO [finden Sie hier](https://xboxoneresearch.github.io/wiki/development/xvio/xvio-overview/). Ich kann jedoch nicht bestätigen, dass sich seit der Xbox One nichts geändert hat.

Aus Importen von `xvmctrl.sys`, `xviomonc.sys` und `srakmd_arden.sys` gegen `XVIO.SYS`:

    XvioInitialize / XvioCleanup
    XvioCreateEvent
    XvioPostMessage
    XvioGetCurrentPartitionId                           (identifiziert die aktive Partition, aus xviomonc)
    XvioGetReservedMemory                               (Hypervisor-Reservierungs-RAM-Zugriff, aus srakmd_arden)
    XvioRegisterGpaMdl / XvioUnregisterGpa              (Zuordnung der Gast-Physikalischen-Adresse)
    XvioSfrMapPages / XvioSfrUnmapPages                 (Shared Frame Region, GPU-Speicher zwischen Partitionen)
    XvioSfrCounterGet / XvioSfrPerfCounterSet
    XvioSfrReadEvent
    XvioSetFocus                                        (wechselt den Eingabefokus zwischen Partitionen)
    XvioSetSystemTime
    XvioSaveProvidersState / XvioRestoreProvidersState
    XvioPerfMonitoringEnabled
    XvioCreateRingBuffer / XvioDestroyRingBuffer
    XvioGetRingBufferContext
    XvioReadRingBuffer / XvioReadRingBufferEx / XvioWriteRingBuffer
    XvioAcquireRingBufferRundown / XvioReleaseRingBufferRundown

`XvioRegisterGpaMdl` und die SFR-Funktionen sind der Hypervisor-Speicherfreigabemechanismus: Roher RAM und GPU-Framebuffer-Seiten werden über die Partitionsgrenze hinweg abgebildet.

### 4.4 HvSocket-Dienste zwischen Partitionen

`hvsocket.sys` macht Dienste für die Socket-Kommunikation zwischen Partitionen verfügbar:

- `HvSocketGetPartitionConnections` / `HvSocketGetPartitionListeners` listen aktive Kanäle auf
- `HvSocketGetVmIdFromVmbusHandle` VMBus-Handle-Auflösung
- `HvSocketUpdateServiceTable` Registrierung aller partitionsübergreifenden Dienste

Eine GUID-benannte DLL `[REDACTED]_hvsocket.dll` registriert einen HvSocket-Dienstanbieter. Die GUID wurde geschwärzt, falls sie identifizierbar sein könnte.

Die vier Wildcard-HvSocket-Endpunkt-GUIDs wurden über die SHA1-Dienst-SID-Berechnung aufgelöst; vollständige Details siehe Abschnitt 20, einschließlich der DiagTrack-, RpcSs- und EventLog-Kanäle zwischen Partitionen.

---

## 5. J:\ "Sys Tools" XTF / Dev-Volume

> **Auswirkung:** Das `J:\`-Volume ist auf jeder Retail-Xbox vorhanden. Im Entwicklermodus ist die vollständige XTF-Toolchain ohne zusätzliche Authentifizierung über die Entwicklermodus-PIN hinaus zugänglich. Dazu gehören Remote-Debugging, Bildschirmstreaming, PIX-GPU-Profiling und Konsolensteuerungs-APIs, die nicht für den Endbenutzerzugriff vorgesehen sind.

Der bedeutendste Befund dieser Untersuchung. Das `J:\`-Volume (bezeichnet als „Sys Tools“) enthält die **Xbox Tools Framework (XTF)**, Microsofts interne Entwicklerkit-Toolchain, die offenbar einfach auf jeder Retail-Xbox vorhanden ist. Vollständige Auflistung: **132 Dateien, 52MB** auf dem gesamten Volume.

### 5.1 XTF-Erweiterungsregistrierung (`J:\tools\xtfextensions.txt`)

Alle 20 XTF-Erweiterungen sind mit COM-CLSIDs registriert:

| DLL                        | CLSID            | 
|----------------------------|------------------|
| `XtfApplicationServer.dll` | `{10B16182-...}` |
| `XtfConsoleControl.dll` | `{5B45D0E0-...}` |
| `XtfConnectedStorage.dll` | `{9D610BBD-...}` |
| `XtfDebugMonitor.dll` | `{9141933C-...}` |
| `XtfDebugCaptureServer.dll` | `{F306F5C7-...}` |
| `XtfFileIO.dll` | `{8A8B4D4C-...}` |
| `XtfInput.dll` | `{7CC4D09B-...}` |
| `XtfPix.dll` | `{9BD151A3-...}` |
| `XtfGameStreaming.dll` | `{AA627F22-...}` |
| `XtfDiagInfo.dll` | `{FD21AC23-...}` |
| `XtfStressServer.dll` | `{6B5B0C75-...}` |
| `XtfSymbolProxyServer.dll` | `{69ABF3A1-...}`  |
| `XtfPerf.dll` | `{F82AF734-...}` |
| `XtfRemoteRun.dll` | `{D77FE8B8-...}` |
| `XtfUser.dll` | `{2E302BAA-...}` |
| `XtfAuditioning.dll` | `{B91F5206-...}` |
| `XtfCleanup.dll` | `{9CF818E5-...}` |
| `XtfCredentialsServer.dll` | `{8582A384-...}` |
| `XtfEventServer.dll` | `{749FDEFA-...}` |
| `XtfUpdateT_s.dll` | `{DCDD4E77-...}` |

### 5.2 Visual-Studio-Remotedebugger (`J:\tools\debugmon\`)

    msvsmon.exe              
    vsdebugeng.dll (1.5MB)
    vsdebugeng.impl.dll (1.6MB)
    msdia120.dll             
    diagnosticsscripthost.dll
    vsdebuglaunchnotify.exe

Versionierte Debug-Pakete für VS 2015 bis VS 2022 (`debugmondev14payload` bis `debugmondev16payload`). **Drei gleichzeitige Visual-Studio-Remotedebugger-Generationen sind vorhanden und registriert: VS2015, VS2017 und VS2019** koexistieren auf demselben Retail-Konsolendateisystem.

### 5.3 Weitere erwähnenswerte Werkzeuge

| Binärdatei | Zweck |
|---|---|
| `agent-xbox.exe` (1.5MB) | Haupt-XTF-Agent |
| `xtfrtservice.exe` (1.3MB) | XTF-Laufzeitdiensthost |
| `xstudioserviceexe.exe` | Xbox-Studio-Dienst |
| `xperf.exe` | Xbox-Leistungsprofiler, vorhanden und funktionsfähig, jedoch ist **ETW-Kernel-Tracing unabhängig vom Werkzeug vollständig blockiert** (siehe Abschnitt 5.5) |
| `videoserver.exe` (RTSP) | Eigenständiger RTSP-Bildschirmstreaming-Server |
| `wdapp.exe`, `wdconfig.exe` | Wave-Debugger-/Konfigurationswerkzeuge |
| `wdcapture.exe` | Bildschirmfoto-/Videoaufnahme |
| `wdgamestream.exe` | Steuerung des Spielstreamings |
| `xboxnetapidiagsystem.exe` | Xbox-Live-Netzwerkdiagnose |
| `xbtp.dll` (503KB) | Xbox Broadband Transfer Protocol |
| `xraytool.exe` | Xbox-Konsolenleistungstool (deckt die Tatsache auf, dass Host OS existiert) |
| `xstudioclient.dll` | Xbox-Studio-Clientbibliothek |
| `unattendedsetuphelper.exe` | Vollständiges Konsolenverwaltungs-Toolkit, siehe Abschnitt 5.6 |

### 5.4 QuickActions `.xboxunattend`-Format

`J:\QuickActions\` enthält Automatisierungsskripte im `.xboxunattend`-Format. Dies sind einfache Windows-Batchskripte, die über das Device Portal ausgelöst werden. Verfügbare Aktionen:

- `Capture_Screenshot.xboxunattend` ruft `wdcapture.exe screenshot` auf
- `Capture_Video.xboxunattend`
- `Toggle_ConsoleMode.xboxunattend` durchläuft Hardware-Emulationsmodi über `WdConfig.exe`
- `Toggle_HDR.xboxunattend`
- `Toggle_Resolution.xboxunattend`
- `Launch_DevHome.xboxunattend` / `Launch_RetailHome.xboxunattend`
- `Suspend_Title.xboxunattend`

`Toggle_ConsoleMode.xboxunattend` offenbart die vollständige Liste der Profilmoduskennungen, die an `WdConfig.exe` übergeben werden: `AnacondaProfiling`, `LockhartProfiling` und **`Scarlett 40 GB`**.

### 5.5 xperf / WPR

`xperf.exe` und WPR sind vollständig vorhanden und funktionsfähig, einschließlich eines `NeuralProcessing`-WPR-Profils. Allerdings ist das gesamte ETW-Kernel-Tracing durch zwei verschiedene Fehlercodes blockiert:

| Fehlercode | Bedeutung |
|------------|---------|
| `0x80070005` | `Access denied`, Standard-Windows-ACL-Ablehnung |
| `0xc5585011` | `Xbox policy block`, **für diesen Code existiert keine an den Benutzer gerichtete Fehlerzeichenfolge** (nicht in `N:\errorstrings\en-US.json` enthalten) |

Die ETW-Anbieteraufzählung zeigt **null Xbox-spezifische Anbieter** im Standard-ETW-Namespace. Sämtliche Xbox-Telemetrie fließt über `EtwPlus.dll` mithilfe von Funktionen mit `Etx`-Präfix, einer vollständig getrennten Pipeline vom Standard-Windows-ETW (siehe Abschnitt 19.3).

### 5.6 unattendedsetuphelper.exe Konsolenverwaltungstool

`unattendedsetuphelper.exe` ist ein Konsolenverwaltungsprogramm, das Folgendes abdeckt:

- Werksreset
- Netzwerkbasiertes Firmware-Update
- Toast-/Benachrichtigungsinjektion
- Device-Portal-Verwaltung

Es dient auch als Laufzeit-Engine für `.xboxunattend`-Skripte (das in Abschnitt 5.4 dokumentierte QuickActions-Format).

---

## 6. WdConfig-Einstellungsoberfläche

`J:\tools\WdConfig.exe` (Build `10.0.26100.7010`) macht die vollständige Konsolenkonfigurations-API verfügbar. Bemerkenswerte Einstellungen:

### Debug-Kategorie
| Einstellung | Wert | Anmerkungen |
|---|---|---|
| `ConsoleType` | `Lockhart` | Hardwarekennung |
| `ConsoleMode` | `Default` | `AnacondaProfiling`, `LockhartProfiling`, `Scarlett 40GB` |
| `EraGraphicsDriverMode` | `Title Configured` | Optionen: `Retail`, `Instrumented`, `Validated`. Das SRA-Äquivalent ist `SraGraphicsDriverMode = Retail`; ERA und SRA verwenden getrennte Treibermoduseinstellungen |
| `EnableKernelDebugging` | `false` | Verhindert den ERA-Crash-Teardown für die Anbindung des Kerneldebuggers |
| `EnablePixMemory` | `false` | Reserviert zusätzliche 6048 MB für PIX im Lockhart-Profiling-Modus |
| `CrashDumpType` | `None` | Optionen: `Triage`, `Mini`, `Heap` |
| `TitlePerformanceOverlay` | `false` | Echtzeit-GPU/CPU-HUD-Overlay auf laufenden Titeln |
| `ExtraTitleMemory` | `0` | Maximal 6048MB im Lockhart-Profiling-Modus |
| `LastShutdownReason` | `Console crash` | Über Neustarts hinweg beibehalten; meine Konsole ist beim letzten Herunterfahren abgestürzt |
| `KinectSensorEnabled` | `true` | **Auf Hardware ohne angeschlossenes Kinect auf true gesetzt**; der Stack wird unabhängig von der Hardwarepräsenz bereitgestellt |

### Netzwerk-Kategorie
| Einstellung | Wert | Anmerkungen |
|---|---|---|
| `UseDebugNicForAllTraffic` | `false` | Es gibt eine separate Debug-NIC, die sich von der Retail-NIC unterscheidet. |

### Speicher-Kategorie
| Einstellung | Wert | Anmerkungen |
|---|---|---|
| `DevkitUseRetailConnectedStorage` | `false` | Wenn aktiviert, würde der Entwicklermodus die verbundene Retail-Speicherpartition verwenden. Nicht getestet. |
| `RunFromPcDataCacheSizeInGB` | `100` | **Standardmäßig sind 100GB für den Run-From-PC-Titelcache reserviert; gesperrt, vom Benutzer nicht änderbar** |

### Unattended-Kategorie
| Einstellung | Wert | Anmerkungen |
|---|---|---|
| `AllowUsbUnattendScript` | `true` | `.xboxunattend`-Skripte auf USB laufen automatisch |
| `RunUnattendScriptImmediately` | `false` | Bei true laufen USB-Skripte beim Booten ohne Abbruchabfrage |

### Sicherheitshinweise

**Microsoft-Konto-E-Mail wird im Klartext gespeichert.** Der WdConfig-Speicher des Entwicklermodus enthält die verknüpfte Microsoft-Konto-E-Mail-Adresse im Klartext. Dies ist wahrscheinlich für jeden Prozess mit SRA-Zugriff lesbar.

---

## 7. XCRDAPI.dll Xbox Content-Delivery-API

`XCRDAPI.dll` ist der Content-Management-Kernel der Xbox-Plattform. Er übernimmt DirectStorage, progressive Installation, DRM, xCloud und Blob-Speicher in einer einzigen Bibliothek.

### 7.1 DirectStorage

    DStorageGetFactory
    DStorageGetMappedControlPage

Die DirectStorage-Implementierung der Xbox ist in XCRDAPI eingebettet und nicht in einem separaten SDK.

### 7.2 XVD-LebenszyklusXCrdOpenAdapter / XCrdCloseAdapter
    XCrdMount / XCrdMountContentType / XCrdUnmount / XCrdUnmountEx
    XCrdCreateXVD / XCrdDeleteXVD / XCrdResizeXVD / XCrdGrowDynamicXvd
    XCrdSetEraLaunchMapping              ordnet XVD der ERA-Partition vor dem Start zu
    XCrdUpdateXvc / XCrdUpdateXvcEx
    XCrdDefragXvc / XCrdTrimXvc / XCrdTrimXvd
    XCrdRepairXvc


### 7.3 Progressives Streaming-Installationsverfahren

    XCrdStreamingStart / XCrdStreamingStop
    XCrdStreamingQueryActiveInstanceId
    XCrdStreamingQueryInformation / InformationByPath / InformationEx
    XCrdStreamingQueryRegionInformation / ByPath
    XCrdStreamingQueryRegionSpecifiers / ByPath
    XCrdStreamingQueueInsertRegion
    XCrdStreamingQueueQueryRegionList / ByPath
    XCrdStreamingAdjustStreamingFlags
    XCrdStreamingQueryRegionIdByOffset

Vollständige prioritätsgesteuerte progressive Installations-Pipeline. Regionen sind adressierbare Blöcke von Spielinhalten.

### 7.4 XCloud-Integration

    XCloudQueryFeatureBits
    XCloudSetFeatureBits

Die Feature-Flags für xCloud-Streaming werden über dieselbe API gesteuert wie lokale Inhalte.

### 7.5 DRM / Attestierung

    XCrdQueryAttestationBlob
    XCrdQueryEncryptedInfo / XCrdQueryUnlockInfo
    XCrdIsSideloadedKeyPresent
    XCrdEnableSharedPls / XCrdSetExternalPlsMapping

### 7.6 Speicher-Blob-System

    XCrdStorageCreateBlob / DeleteBlob / MoveBlob / CopyBlob
    XCrdStorageReadBlob / ReadBlobEx / WriteBlob / WriteBlobEx
    XCrdStorageQueryBlobAttributes
    XCrdXBlobCreate / Delete / Copy
    XCrdFindFirstBlob / FindNextBlob / FindCloseBlob

### 7.7 XVD-Transfer-Pipeline

    XCrdXvdXferInitialize / Uninitialize
    XCrdXvdXferStart / Stop
    XCrdXvdXferRead
    XCrdXvdXferGetResult

### 7.8 Pfadsysteme

    XCrdXasBuildPath / XasBuildPathEx / XasKeyQueryValue   (XAS-App-Store-Pfade)
    XCrdXdsGetVolumeMapping / XdsSetVolumeMapping           (XDS-Delivery-Service-Volumes)
    XCrdBuildPath / XCrdParsePath / XCrdUpdatePath
    XCrdQueryDevicePath / QueryDevicePathByPath
    XCrdSetFlatContentPath

---

## 8. xpal.dll Xbox-Plattform-Abstraktionsschicht (50 Exporte)

Bisher undokumentierte API für Hardware-Identität, Fähigkeiten und Energieverwaltung.

### Hardware-Identität

    XpalGetConsoleCertificate     Hardware-Zertifikat
    XpalGetConsoleIdCch           Konsolen-Hardware-ID
    XpalGetConsoleSerialNumberCch Seriennummer
    XpalGetSmcFirmwareId          SMC-Firmware-Version
    XpalGetSouthBridgeType        Chipset-Variante

### Generation / SKU-Erkennung

    XpalIsGen8                    Xbox One
    XpalIsGen9                    Series X/S
    XpalGetGenerationType
    XpalIsHyperV                  Hypervisor aktiv
    XpalIsExternalDevkit / XpalIsInternalDevkit
    XpalGetVmType
    XpalGetSystemType / XpalGetServerType / XpalGetConsoleMode


### Fähigkeits-Flags

    XpalIsCapabilityEnabled
    XpalIsCapabilityEnabledByVm
    XpalIsFactorySettingEnabled
    XpalGetFactorySettings
    XpalGetCapabilities
    XpalIsFeatureEnabled


### Energieverwaltung

    XpalInitiateDump              Crash-Dump bei Bedarf auslösen
    XpalInitiatePowerStateToggle
    XpalInitiateSystemShutdown
    XpalSetWakeupTimer
    XpalQueryPowerToggleSource
    XpalIsInForcedCs / XpalIsTransitioningToConnectedStandby
    XpalIsSilentBootMode
    XpalNotifyForcedCsHeartbeat
    XpalIsRebootRequested
    XpalRefreshPowerChimeMode


### Konfiguration

    XpalGetXConfig / XpalSetXConfig    Xbox-Konfigurationsspeicher (modernes EEPROM-Äquivalent)
    XpalSetSystemTime
    XpalSetInformation
    XpalReportUem                      UEM auslösen (Universal Error Message)


### ERA / Title-VM

    XpalQueryTitleVmInfo
    XpalWaitForTitleVmTermination
    XpalBackgroundActivityRequest

---

## 9. eracontrol.exe ERA-Partitions-Lebenszyklus-Manager

`C:\Windows\System32\eracontrol.exe` läuft als LocalSystem (manueller Start) und verwaltet den vollständigen Lebenszyklus der ERA-Spielpartition. Die vollständige Importanalyse befindet sich in Abschnitt 28. Zusammenfassung der wichtigsten Importe:

- `NtOpenPartition` öffnet direkt das Hyper-V-ERA-Partitionshandle
- `RtlSetProcessIsCritical` markiert sich selbst als kritisch (System-BSOD, falls es abstürzt)
- `XCRDAPI.dll` mountet/unmountet Spiel-XVDs über `XCrdSetEraLaunchMapping`
- `RIMAddInputObserver` / `RIMRemoveInputObserver` fängt rohe Controller-Eingaben zur Weiterleitung an die ERA ab
- `XblaInitialize` bootet den Xbox-Live-Auth-Kontext der Konsole
- `LogonUserExExW` erstellt Benutzer-Logon-Tokens für die ERA-Sitzung
- `UMgrOpenProcessHandleForAccess` Benutzerverwaltungs-Prozesshandle-Zugriff
- `PsmQueryBackgroundActivationType` Hintergrundaktivierungsstatus

Ebenfalls im selben Verzeichnis gefunden: `eraproxyapp.exe` (339KB), der SystemOS-seitige Compositor und die IPC-Brücke zwischen ERA und der Shell. Vollständige Importanalyse in Abschnitt 29.

---

## 10. BlackBox-ETL-Ablaufverfolgungen (N:\BlackBox\)

Das Verzeichnis `N:\BlackBox\` enthält Live-ETW-Flugschreiber-Ablaufverfolgungen. Aus der Analyse einer erfassten Ablaufverfolgung:

**Hinweis:** Das Xbox-ETL-Format lässt sich nur mit 'tracerp' auflösen

### Interne Quellbaum-Pfade (eingebettet in Debug-Instrumentierung)

    onecoreuap\xbox\xblauth\lib\authmanagerimpl.cpp
    onecoreuap\xbox\xblauth\lib\authmanagertokens.cpp
    onecoreuap\xbox\xblauth\lib\xstsauthorizer.cpp
    onecoreuap\xbox\xblauth\util\httprequest.cpp

### Xbox-Live-Auth-Vertrauensparteien

    http://xdes.xboxlive.com/          Xbox-Entwicklungs-/Engineering-Dienste
    http://xboxlive.com                Standard-XBL
    http://mp.microsoft.com/           Microsoft Passport (MSA)
    http://instance.mgt.xboxlive.com   Instanz-/Sitzungsverwaltung

### Erfasste Abstürze

1. **`XboxUI.exe` BEX64** Die Dashboard-Shell traf auf einen Stack-Pufferüberlauf (`STATUS_STACK_BUFFER_OVERRUN`, `0xc0000409`) in `XboxUI.Data.dll` bei Offset `0x13eb0`
2. **`MoAppHang`** UWP-App-Hänger für Paket `REDACTED_GUID`

---

## 11. Weitere bemerkenswerte Erkenntnisse

### WSL auf Xbox vorhanden

`LxssManager`- und `lxcore`-Dienste sind mit `LaunchProtected: 0x2` (Geschützter Prozess) und `SeTcbPrivilege` vorhanden. WSL läuft auf Xbox mit Vertrauen auf OS-Ebene und steht der Nutzung nach fast sicher mit etwas in Verbindung oder hängt zumindest in geringem Maße mit `Xbox.ConsoleXCloudPlayer` (xCloud-Spielstreaming-Client) zusammen.

wsl.exe ist vorhanden, aber **nicht** lesbar.

### Xbox-exklusive System32-Binärdateien

Bemerkenswerte DLLs, die nicht in Standard-Windows vorhanden sind:

- `XCRDAPI.dll` Inhaltszustellung (dokumentiert in Abschnitt 7)
- `XBBlackbox.dll` Flugschreiber (dokumentiert in Abschnitt 30)
- `XBCastRecv.dll` Xbox-Cast-/Miracast-Empfänger (dokumentiert in Abschnitt 30)
- `XVMAudioServer.dll` partitionübergreifender VM-Audioserver
- `Xbox.Shell.Api.dll` / `Xbox.Shell.OneStoreServices.dll` Shell-API (dokumentiert in Abschnitt 30)
- `XboxCommandService.dll` Befehls-/Automatisierungsdienst
- `XboxUserSim.dll` UI-Testautomatisierung
- `xboxgipsynthetic.dll` / `xboxsynthetickm.dll` synthetische GIP-Virtual-Controller-Injektion (dokumentiert in Abschnitt 30)
- `AppXDeploymentExtensions.xbox.dll` Xbox-spezifische AppX-Bereitstellung
- `xvnapi.dll` Xbox Virtual Network API
- `xbsc_xs.dll` Xbox-Series-Shader-Compiler (dokumentiert in Abschnitt 16.2)

### Vorhandene, aber nicht dokumentierte Dienste

- `EraControlService` ERA-Partitions-Lebenszyklus
- `XvdStreamSvc` (`xnetsharedservice.exe`) XVD-Streaming / progressive Installation
- `XUpdMgr` Xbox Update Manager (irgendwie getrennt von Windows Update?)
- `XSraFlt` Xbox-SRA-Filtertreiber
- `Manufacturing Broker` Werksbereitstellungsdienst
- `TestSirepSvc` SIREP-Testprotokoll für interne Zwecke
- `GameCoreController` GDK-Game-Core-Controller-Dienst
- `ConnectedStorage` Xbox-Cloud-Speicherdienst
- `VideoManagerService` Videoausgabeverwaltung
- `XBBlackbox` Flugschreiber-Dienst
- `xbdiagservice` Xbox-Diagnosedienst
- `XtfRtService` XTF-Laufzeitdienst

Zusätzliche ältere/Niedrigstufen-Treiber, die als in der Dienstregistrierung vorhanden bestätigt wurden (siehe Abschnitt 11.2):

- `Zurich` DVB-Virtualtreiber

### `xvnc` / `xvncbus` Xbox Virtual Network Card

`xvnc.sys` und `xvncbus.sys` sind ein **virtueller NIC-Stack**. Die Enumeration des `xvnc`-Dienstes zeigt:

    ROOT\xvnc\0000             Root-/Loopback-virtuelle NIC
    {e720983a-...}\wifi\01
    {e720983a-...}\wfd\01      Wi-Fi Direct
    {e720983a-...}\wfd_role0\01

`xvncbus` ist ein WDF-1.15-Bustreiber, der virtuelle NICs auf dem physischen WLAN-Adapter aufzählt. Die ERA-Partition greift nicht direkt auf den Netzwerkstack zu, sondern kommuniziert über `NetXVmService`, dem die `xvnc`-Virtuelle-NIC-Schicht gehört. Die GUID `{e720983a-...}` identifiziert die Xbox-WLAN-Adapterhardware.

### `xviomonc.sys` XVIO-Monitor-Client

Boot-Start-Treiber (`Start: 0x1`), der den Fokus der Anzeigepartition verwaltet. Importanalyse:

    XVIO.SYS:   XvioInitialize, XvioCleanup, XvioPostMessage,
                XvioSetFocus, XvioGetCurrentPartitionId  - neuer XVIO-Export
    VMNP.SYS:   NpSetupVmImpersonation
    xpalk.dll:  XpalIsCapabilityEnabled

`xviomonc` verarbeitet **keine** Framebuffer-Daten, es ist nur ein Signal- und Fokusverwaltungstreiber. `XvioSetFocus` schaltet um, welche Partition den Anzeige-/Eingabefokus hat; `XvioGetCurrentPartitionId` identifiziert die aktive Partition. Die eigentliche Frame-Erfassung übernimmt `srakmd_arden.sys`.

`NpSetupVmImpersonation` aus `VMNP.SYS` erlaubt es dem Monitortreiber, die Sicherheitsidentität der ERA-Partition zu imitieren, wenn er über die Partitionsgrenze hinweg auf ERA-Anzeigeressourcen zugreift.

### G:\ GameDVR-Puffer
Drei Dateien auf G:\ sind rohe, ringförmige Speicherzuordnungs-Puffer, die zwischen ERA und SystemOS geteilt werden:

- `GameDVR_VideoBuffer` 272MB rollierende Videoaufnahme
- `GameDVR_AudioBuffer` 16MB Spielaudio
- `GameDVR_AudioBuffer_SysLoopback` 3MB System-/UI-Audio (separater Stream)

---

## 11.1 Registrierungs-Erkenntnisse

### Devkit-only K:\-Laufwerksreferenz

`HKLM\SOFTWARE\Microsoft\Durango\XTF` enthält einen fest codierten Pfad:

    K:\TDK\Tools\XtfJuno.dll

### `HKLM\SYSTEM\ResourcePolicyStore`

| Tier | Speicherbudget |
|------|--------------|
| `BackgroundSmall` | 40MB |
| `Background` | (Standard-Hintergrund) |
| `Balloon` | 5120MB |

CPU-Richtlinien-Stufen:

| Richtlinie | CPU-Zuteilung |
|--------|---------------|
| `Paused` | 1% |
| `SoftCapLow` | 10% |
| `SoftCapFull` | 100% |
| `HardCap0` | 0% – vollständig eingefroren |

**BeanHog-Richtlinie** (vielleicht das Budget für den Vordergrund-Spielprozess?):

- Speicher: Vordergrund-Stufe
- CPU: 100%
- `DoNotKill`: true
- Priorität: Höchste Wichtigkeit

---

## 11.2 Xbox-One-Archäologie aus der Legacy-Ära

Drei Treiber aus der Xbox-One-Ära überleben in der Dienstregistrierung der Series S. Zwei sind deaktiviert; einer läuft aktiv.

### `Zurich` TV-Tuner-Decoder-Stack

`zurichs.sys` ist der Xbox-One-DVB-Virtualtreiber. Status: **deaktiviert**, aber weiterhin registriert.

Wichtigste Erkenntnis: `zurichs.sys` importiert `XVIO.SYS`-Ringpuffer. Der TV-Tuner war architektonisch so ausgelegt, dass er seinen dekodierten Videostream über XVIO-Hypervisor-Ringpuffer liefert. Der Tuner nutzte außerdem `ZwUpdateWnfStateData`, um den Tunerstatus über die Windows Notification Facility (WNF) zu veröffentlichen.

### `PetraXC` Kinect-Sensor-Steuergerät

Ein WDF-Virtualgerätetreiber, der nun als **KinectSensorControl-Gerät** identifiziert wurde, die Hardware-Abstraktion auf Kernel-Ebene für den Kinect-Kamerasensor. Status: **deaktiviert, bis das Gerät eintrifft** (WDF-Demand-Start-Modell).

Bemerkenswerte Eigenschaften:

- Entwickelt gegen **WDF 1.11**, was Windows 8 entspricht und seinen Ursprung auf die ursprüngliche Xbox-One-Kernelbasis zurückführt
- Importiert `XVIO.SYS`, d. h. es kommuniziert über den Hypervisor-Ringpuffer-Transport
- Präsentiert `\\.\KinectSensorControl` als Geräteschnittstelle, die von `KinectMediaSource.dll` in der nuiservice-Pipeline über `DeviceIoControl` genutzt wird (siehe Abschnitt 33)

### `pspsra.sys` AMD-PSP-Brücke zu SRA

Status: **aktiv ausgeführt** (`Start: 0x0`, Boot-Start). Zugriff auf Kernel-Ebene verweigert, der Treiber ist gesperrt und kann nicht weiter untersucht werden.

`pspsra.sys` sitzt direkt unterhalb der SRA-Partition in der Boot-Kette als **Brücke zwischen dem AMD Platform Security Processor (PSP) und der SRA-Schicht**. Der AMD-PSP übernimmt die fTPM-Attestierung und das Konsolenzertifikat auf Bare-Metal-Ebene, und `pspsra.sys` ist die Brücke, die diese Vertrauenskette in SRA überführt. Damit steht es auf derselben Vertrauensstufe wie `XVIO.SYS` und `XSraFlt.sys`, wird vor SystemOS initialisiert, ist für dieses opak und selbst bei vollem Kernel-Zugriff unerreichbar.

---

## 12. Ungeklärte Fragen + Treiber

Fragen:

1. **XVIO.SYS-Speicherort** nicht auf einem zugänglichen Dateisystem; wird vom Hypervisor beim Booten geladen
2. **WSL-Nutzung** als vorhanden und verwendet bestätigt, aber die spezifische Rolle im Xbox-Betriebssystem ist nicht vollständig geklärt
3. **`XCrdXpfOp`** nicht identifizierte XCRDAPI-Funktion (XPF = ?)
4. **`XSraFlt.sys` + `XRmnt.sys`-Speicherort** bestätigt abwesend auf allen zugänglichen Dateisystemen; werden vom Host-Betriebssystem zusammen mit XVIO.SYS geladen
5. **`xvnc`-GUID `{REDACTED_GUID}`** WLAN-Adapter-GUID, vollständige Treiberkette nicht abgebildet
6. **`S:\Shares\TitleScratch`-Reparse-Point-Ziel** wird vom Betriebssystem in Verzeichnisauflistungen aktiv redigiert; erfordert `FSCTL_GET_REPARSE_POINT` unterhalb der cmd.exe-Ebene. Höchstwahrscheinlich `\Device\Xrfs\<partition-guid>` (siehe Abschnitt 26)
7. **`xvmctrl.sys`-IOCTL-Oberfläche** Live-Kernel-Dump blockiert (`NoKernelDumps`-Einschränkung im Retail-Dev-Modus); IOCTL-Dispatch-Tabelle noch nicht aufgezählt
8. **ERA-Partitions-GUID** über keinen zugänglichen Registrierungspfad verfügbar; wäre in einem Kernel-Dump sichtbar (blockiert, Umgehungen werden geprüft)
9. **`N:\EtwPlus\`-Inhalt** aktiv durch einen Kernel-Dateisystem-Filtertreiber verborgen; Verzeichnisauflistungen geben trotz bestätigter Schreibaktivität eine leere Liste zurück. Die Identität des Filtertreibers wurde nicht ermittelt (siehe Abschnitt 3.2)
10. Das Host-Betriebssystem als Ganzes – es ist nicht einmal vollständig sicher, was es tut.

Treiber:

1. **`xtcc.sys`**, wahrscheinlich für etwas Sicherheitsrelevantes verantwortlich, angesichts seiner großen Menge an `ntoskrnl.exe`- und `XVIO.sys`-Importen
2. **`FLTMGR.SYS`** importiert von `XRmnt.sys`, `XRo.sys`

---

## 13. Virtualisierter E/A- und Fernzugriff (XVIO/SRA)

Die Analyse der Exporte von `xboxcloudstreaming.dll` und der Registrierungseinträge unter `CurrentControlSet\Services` zeigt eine tiefe Integration auf Kernel-Ebene für Remote-Verbindungen, die ein "synthetisches" Hardwaremodell anstelle einer standardmäßigen Software-Emulation nutzt. Die ERA-VM sieht dieselben synthetischen Geräte, egal woher die Eingabe stammt (remote, USB, drahtlos usw.).

### 13.1 Der XVIO-Stack (Virtual I/O)

Das XVIO-Framework scheint die primäre Methode zur Injektion von Hardware-Ereignissen in SystemOS aus externen oder partitionsübergreifenden Quellen zu sein.

| Dienst | Kategorie | Funktion |
| --- | --- | --- |
| `hvsocketxvio` | Transport | Brückendienst, der Hyper-V-Sockets mit dem XVIO-Protokoll verbindet. |
| `InputXVIOClient` | Koordinator | Verwaltet die Zuordnung von Remote-Eingabepaketen zu virtuellen Geräteknoten. |
| `xviokbdbus` / `xviomoubus` | Bustreiber | Zählt virtuelle HID-Geräte auf einem synthetischen internen Bus auf. |
| `xviokbd` / `xviomou` | Gerätetreiber | Spezifische Funktionstreiber für virtualisierte Tastaturen und Mäuse. |

### 13.2 Synthetische Controller-Pipeline

Die Binärdatei `xboxcloudstreaming.dll` nutzt `XboxgipSynthetic.dll`, um Geräte zu erzeugen, die das Betriebssystem als physisch angeschlossene lokale Peripheriegeräte wahrnimmt.

- **Audio-Virtualisierung:** Über `SyntheticController_AddAudioHeadset` kann das System Remote-Netzwerkaudio als hardwaregebundenes Gerät in den lokalen Audiostack der Konsole einspeisen.
- **Eingabe-Injektion (RIM):** Die Verwendung des Remote Input Managers (`ext-ms-win-ntuser-rim-l1-1-0.dll`) bestätigt, dass xCloud- und Remote-Play-Sitzungen dieselben Injektionsmethoden mit hoher Berechtigung verwenden wie Windows-Remotedesktop, insbesondere `InjectKeyboardInput` und `InjectPointerInput`.

### 13.3 SRA- und "Arden"-Treiber

> **Hinweis:** Der `SraKmdArden`-Treiber ist hardwarespezifisch für die Series-X/S-Architektur (Arden). Dieser Treiber ermöglicht es dem System wahrscheinlich, den Anzeigepuffer auf Kernel-Ebene abzufangen und so den Latenz-Overhead zu minimieren, der normalerweise mit rendern über VM-Grenzen hinweg verbunden ist.

### 13.4 HvSocket-Brücke (GUID `4545ffe2-...`)

Die zuvor nicht identifizierte HvSocket-GUID wurde dem `hvsocketxvio`-Dienst zugeordnet. Dies bestätigt, dass XVIO kein eigenständiges Protokoll ist, sondern eine Schicht, die auf dem internen Socket-Transport von Hyper-V läuft.

Dies legt nahe, dass die **ERA- (Spiel-)Partition** für Eingaben nicht direkt mit dem Netzwerk spricht; stattdessen:

1. **SystemOS** empfängt Netzwerkpakete über `XboxNetApiSvc`.
2. **`xboxcloudstreaming.dll`** verarbeitet den Stream.
3. **`hvsocketxvio`** leitet die rohen Eingabedaten über **HvSocket** über die Partitionsgrenze.
4. Die Hypervisor-/Host-Schicht injiziert sie als Hardware-Ereignis in die Zielpartition.

---

## 14. M:\-Volume | Overlay-Architektur

M:\ (beschriftet als "System OS Misc") fungiert als **Overlay-Volume**, ein Baum mit Komponenten, die über das Basis-C:\-Image gemountet werden. Diese Architektur erlaubt es Microsoft, ein einziges OS-Image auszuliefern und zur Mount-Zeit spezifische Feature-Sets über Overlays anzuwenden.

### 14.1 Volumestruktur

    M:\
    ├── Catalog000-003.bin     volumen-spezifische Code-Integritätskataloge
    └── windows\
        ├── system32\
        │   ├── drivers\       Kernel-Treiber
        │   ├── ht\            Kinect-Unterstützung (siehe Abschnitt 33)
        │   └── [~120 DLLs]    Userspace-Komponenten
        ├── SystemApps\        System-Apps
        ├── DefaultApp\
        ├── Fonts\
        ├── Speech_OneCore\
        ├── textinput\
        └── WebManagement\

### 14.2 Dateisystem-Symlinks

C:\ referenziert M:\-Komponenten über NTFS-Symlinks. Symlinks existieren auf zwei Ebenen:

**System32-Treiberebene:**

    C:\Windows\System32\drivers\srakmd_arden.sys -> M:\windows\system32\drivers\srakmd_arden.sys

**Windows-Verzeichnisebene**

    C:\Windows\DefaultApp    -> M:\Windows\DefaultApp
    C:\Windows\Fonts         -> M:\Windows\Fonts
    C:\Windows\SystemApps    -> M:\Windows\SystemApps
    C:\Windows\WebManagement -> M:\Windows\WebManagement

Das M:\-Overlay ist weitreichender als ein einfacher Treiber-/DLL-Ersatz: Kernsystemverzeichnisse von Windows, einschließlich des Schriftartenspeichers, der System-Apps und der Webverwaltungsschnittstelle, liegen vollständig auf M:\. Dies könnte bedeuten, dass ein bestimmtes Overlay nicht nur GPU- und Capture-Treiber steuert, sondern bis zu einem gewissen Grad die gesamte System-App- und UI-Shell-Schicht.

Eine vollständige rekursive Aufzählung der C:\-Symlinks, die auf M:\ zeigen, wurde noch nicht abgeschlossen.

### 14.3 Hardwarespezifische Treiber (M:\windows\system32\drivers\)

| Treiber | Größe | Zweck |
|---|---|---|
| `srakmd_arden.sys` | 274KB | SRA-Capture-KMD -> Arden-hardwarespezifischer Frame-Grabber |
| `acpi.sys` | 873KB | ACPI -> hardwarespezifischer Build (größer als generisch) |
| `spaceport.sys` | 1MB | Storage-Port -> XVD-Krypto + Lizenzprüfung |
| `spacedump.sys` | 304KB | Storage-Dump-Treiber |
| `buttonconverter.sys` | 90KB | Power-/Eject-HID -> Konsolenereignis-Umwandlung |
| `qwavedrv.sys` | 90KB | QoS-/Netzwerkqualitätstreiber |
| `acpiex.sys` | 181KB | ACPI-Erweiterungen |
| `AcpiDev.sys` | 61KB | ACPI-Geräteerweiterungen |
| `acpitime.sys` | 57KB | ACPI-Timer |

**Erkenntnis:** `XSraFlt.sys` fehlt sowohl auf M:\-Treibern als auch auf C:\. Es ist auf keinem zugänglichen Dateisystemvolume gespeichert, was darauf hindeutet, dass es vom Host-Betriebssystem beim Start zusammen mit `XVIO.SYS` und `FLTMGR.sys` geladen wird.

### 14.4 Hardwarespezifische Userspace-Komponenten (M:\windows\system32\)

Bemerkenswerte DLLs/EXEs, die nur auf M:\ vorkommen:

**GPU-/Shader-Stack:**

- `umd12ddi_arden.dll` (1.56MB)  D3D12-User-Mode-Treiber-DDI, Arden-Hardware
- `umd12ddi_d.dll` (1.5MB)  D3D12-UMD, Debug-/PIX-instrumentierter Build
- `umd12ddi_i.dll` (1.14MB)  D3D12-UMD, Inbox-/Fallback-Build
- `newbe_xs.dll` (26MB)  "NewBe"-Arden-GPU-Shader-Compiler-Backend
- `xbsc_xs.dll` (3.9MB)  Xbox-Series-Shader-Compiler-Frontend
- `dxcompiler_xs.dll` (17.8MB)  Xbox-Series-HLSL-Compiler
- `dxbc2dxil_xs.dll` (2.9MB)  DXBC-zu-DXIL-Bytecode-Konverter
- `pixrtddi.dll` (679KB)  PIX-Render-/Debug-DDI

**Entwickler-/PIX-Toolchain:**- `VsGraphicsRemoteEngine.exe` (4.75MB) PIX-GPU-Profiler-Remote-Engine
- `VsGraphicsCapture.dll` (225KB) PIX-Frame-Capture
- `VsGraphicsExperiment.dll` (327KB) PIX-Experiment-Framework
- `DXCaptureReplay.dll` (18MB) GPU-Capture-Replay-Engine
- `DXCap.exe` (1.19MB)  GPU-Capture-Tool
- `DXToolsMonitor.dll` / `DXToolsOfflineAnalysis.dll` / `DXToolsReporting.dll` PIX-Analyse-Stack
- `DXGIDebug.dll` (151KB) DXGI-Debug-Ebene
- `d3d12SDKLayers.dll` (4.8MB) D3D12-Validierungs-/Debug-Ebenen
- `d3d11_3SDKLayers.dll` (1.19MB) D3D11-Debug-Ebenen
- `d2d1debug3.dll` (618KB) D2D-Debug-Ebene
- `VSD3DWARPDebug.dll` (155KB) WARP-Software-Rasterizer-Debug-Build
- `plmdebug.exe` (204KB) PLM-Debugger (Prozesslebenszyklus)

**Streaming / Remote-Zugriff:**

- `rdpbase.dll` (1.8MB) RDP-Basisbibliothek
- `rdpserverbase.dll` (2.3MB) RDP-Server-Basis
- `XboxDevService.exe` (3.7MB) Xbox-Dev-Diensthost
- `XboxDevService.ProxyStub.dll`

**Social / Plugin-Stack:**

- `DiscordPlugin.dll` (139KB) Discord-Integration
- `TwitchPlugin.dll` (639KB) Twitch-Streaming-Integration

**Sonstiges Bemerkenswertes:**

- `XboxSyntheticKM.dll` (36KB)
- `xrmntcl.exe` (90KB) Xbox-Runtime-Mount-Client
- `xtfupdateT_s_i.dll` (98KB) ?
- `xtcapi.dll` (57KB) XTC-API (Xbox-Titelkommunikation?)
- `wusys.dll` (308KB) Windows-Update-Systemintegration

---

## 15. GPU-Stack | Shader-Kompilierungspipeline

Die vollständige Shader-Kompilierungspipeline der Xbox Series S/X befindet sich auf M:\ und fehlt auf C:\. Ohne das eingebundene hardwarespezifische Overlay ist keine Shader-Kompilierung möglich.

### 15.1 `newbe_xs.dll`

26MB-DLL. Arden-GPU-Shader-Compiler-Backend. Nur 6 Exporte:

    NB_CompileShader          compile individual shader stage
    NB_CompilePipeline        compile full pipeline state object
    NB_CreateOptimizer        create register allocator / instruction scheduler
    NB_GetRegPressure         register pressure analysis (PIX-facing)
    NB_GetShaderStats         hardware shader statistics
    NB_CreatePixDwarfApi      generate DWARF debug info for GPU shaders

Die `.pass`-Sektion könnte auf eine LLVM-ähnliche Pass-Pipeline hindeuten. `NB_CreatePixDwarfApi` erzeugt Shader-Debug-Informationen auf Quellcode-Ebene für PIX.

### 15.2 `xbsc_xs.dll`

41 Exporte, die die vollständige Kompilierungs-API abdecken:

    XBSC_PipelineCompile / XBSC_GetPipelineCompileOutput
    XBSC_CompileRootSignature / XBSC_GetCompiledRootSignature
    XBSC_AssembleShader / XBSC_GetAssembledShader
    XBSC_DisassembleHwPipeline / XBSC_DisassembleHwPipelineWithCallback
    XBSC_DisassembleRawShader / XBSC_GetDisassembly
    XBSC_GetRegPressure / XBSC_GetShaderStats / XBSC_DumpShaderStats
    XBSC_CompressBuffer / XBSC_DecompressBuffer          (shader cache compression)
    XBSC_Serialize* / XBSC_Deserialize*                  (pipeline state serialization)
    SCCompileMultiShadersXbox / SCDumpHwShader*           (batch compilation)
    SC_ConvertRootSignatureToSCInputs

Die PE-Sektionen `_mmddu` und `_MMDDT0` enthalten **Microsoft Machine-Dependent Driver Data**, Hardware-Mikroarchitektur-Tabellen, die in den Compiler eingebaut sind (Befehlslatenzen, Registerdatei-Topologie, Anzahl der Ausführungseinheiten für Arden).

### 15.3 `dxcompiler_xs.dll`

17.8MB. Xbox-Series-Fork des DXC-HLSL-Compilers. 4 Exporte:

    DxcCreateInstance / DxcCreateInstance2   standard DXC factory (compatible with public API)
    CreateXdxrCompiler / CreateXdxrCompiler2 Xbox DXIR compiler (Xbox-specific IR format)

### 15.4 `dxbc2dxil_xs.dll` Bytecode-Konverter

2.9MB. Ein einzelner Export:

    SCDxil_ConvertDxbcToDxil   convert DX11 DXBC bytecode to DXIL for DX12 pipeline

Ermöglicht abwärtskompatiblen DX11-Shadern die Ausführung auf der nur für DX12 ausgelegten Arden-Pipeline.

### 15.5 Vollständige Shader-Kompilierungskette

    Game/App submits HLSL or legacy DXBC shader
                ↓
        [HLSL path]                    [DXBC legacy path]
    dxcompiler_xs.dll                dxbc2dxil_xs.dll
    (DxcCreateInstance -> DXIL)       (SCDxil_ConvertDxbcToDxil -> DXIL)
                ↓                             ↓
                └──────────┬──────────────────┘
                            ↓
                xbsc_xs.dll (XBSC_PipelineCompile)
                calls newbe_xs.dll NB_ backend
                uses _MMDDT0 Arden microarch tables
                            ↓
                umd12ddi_arden.dll
                (submits compiled ISA via D3D12 DDI)
                uses xg_xs.dll for texture layout
                            ↓
                srakmd_arden.sys (kernel)
                XvioGetReservedMemory -> hypervisor carve-out RAM
                zero-copy framebuffer -> ERA partition

---

## 16. `xg_xs.dll` Xbox-Grafik-Texturlayout-Bibliothek

Befindet sich auf **C:\** (nicht M:\). Enthält 27 Exporte, die Texture-Tiling, Raytracing-BVH-Layout und DCC-Kompression abdecken.

### 16.1 Export-Übersicht

    XGComputeBufferLayout
    XGComputeTexture1DLayout / 2DLayout / 3DLayout
    XGComputeOptimalSwizzleMode / OptimalDepthStencilSwizzleMode
    XGComputeTileShape
    XGSuggestSwizzleMode
    XGValidateDepthStencilSwizzleMode / XGValidateDescriptor
    XGCreateTexture1DComputer / 2DComputer / 3DComputer
    XGCreateTextureComputer / XGCreateTextureComputerFromDescriptor
    XGCreateBVHComputer / XGCreateBVHComputer2       ray tracing BVH layout
    XGEncodeDCC / XGDecodeDCC / XGDecodeDCCSurface   AMD Delta Color Compression
    XGShuffleTextureBufferForDirectStorage           GPU-side texture tiling for DirectStorage
    XGSetHardwareVersion                             configure for Series S vs Series X memory layout
    XGInitializeLibrary / XGTerminateLibrary
    XGEnableExclusiveLocking / XGEnterExclusiveLock / XGLeaveExclusiveLock

### 16.2 Wichtigste Erkenntnisse

**Das Raytracing-BVH-Layout ist hardwarespezifisch.** `XGCreateBVHComputer2` legt eine BVH-Layout-API der zweiten Generation offen, was darauf hindeutet, dass die Arden-Architektur ein eigenes BVH-Knotenformat besitzt, das sich vom generischen DXR unterscheidet.

**Die AMD-DCC-Kompression ist verfügbar.** `XGEncodeDCC` / `XGDecodeDCC` implementieren AMDs Delta Color Compression, die hardwaregestützte verlustfreie Framebuffer-Kompression, die auf RDNA-GPUs verwendet wird. `XGDecodeDCCSurface` ist die API, die PIX beim Zurücklesen DCC-komprimierter aufgezeichneter Framebuffer verwendet.

**DirectStorage-Tiling.** `XGShuffleTextureBufferForDirectStorage` führt das GPU-seitige Shuffling durch, das das Texturlayout auf dem Datenträger während der GPU-Dekompression in das Arden-Hardware-Tiling-Format überführt und so einen Zero-Copy-Load in den VRAM ermöglicht.

**`XGSetHardwareVersion` steuert alle Layout-Algorithmen.** Die Bibliothek enthält Layout-Implementierungen für mehrere Hardware-Revisionen. Der Aufruf von `XGSetHardwareVersion` mit dem Identifier für Series S bzw. Series X erzeugt unterschiedliche Tiling-Ergebnisse, die die unterschiedlichen Speicherbusbreiten und Cache-Geometrien widerspiegeln.

### 16.3 `.xbld`-Build-Metadaten-Sektion

`xg_xs.dll` enthält eine `.xbld`-PE-Sektion, die in allen anderen Xbox-Binärdateien fehlt. Das deutet darauf hin, dass sie aus einer separaten GDK-CI-Build-Pipeline stammt und nicht aus dem Xbox-OS-Buildsystem. Das OS-Buildsystem setzt Zeitstempel auf Null und entfernt Metadaten-Sektionen; die GDK-CI tut das nicht.

    _xbld_edition_build         = GXDK, 0x65F41B62
    _xbld_edition_full_productbuild = GXDK, 10.0.26100.7010
    _xbld_edition_sdktype       = GXDK, 260400
    _xbld_edition_name          = GXDK, April 2026 GXDK
    _xbld_edition_mscver        = GXDK, 193833145.100

Der Wert `edition_name` von **"April 2026 GXDK"** stammt aus der Zeit vor der öffentlichen Veröffentlichung dieser SDK-Edition (zum Zeitpunkt der Erstellung dieses Textes ist es der 9. März 2026) und bestätigt, dass das Retail-Betriebssystem mit GDK-Komponenten ausgeliefert wird, die gegen den nächsten unveröffentlichten SDK-Zyklus gebaut wurden. Die Versionierung `sdktype=260400` folgt dem Muster `YYMMRR` (Jahr/Monat/Revision).

Der Zeitstempel `edition_build` `0x65F41B62` entspricht dem **13. März 2024**, mehr als ein Jahr vor dem Build-Datum des Betriebssystems (12. Februar 2026). Das deutet darauf hin, dass die Texturlayout-Algorithmen über mindestens 5 GDK-Release-Zyklen stabil und unverändert geblieben sind.

`mscver=193833145.100` identifiziert den Compiler als **MSVC 19.38** (Visual Studio 2022 17.8.x).

### 16.4 Rückschluss auf die Build-Pipeline (UUP?)

    GDK CI pipeline builds xg_xs.dll (with .xbld metadata intact)
                ↓
        ┌─────────────────────────┐
        ↓                         ↓
    Xbox OS image ingests       April 2026 GDK SDK package
    artifact directly           ships same binary to developers
        ↓
    Ships on every retail console

Das bedeutet, dass die `xg_xs.dll` auf Retail-Konsolen bit-für-bit identisch mit dem ist, was Entwickler im GDK erhalten. Eine Hash-Überprüfung gegen die öffentliche GDK-Version vom April 2026 (sobald verfügbar) würde dies bestätigen.

---

## 17. Trust-by-Catalog-Code-Integritätsmodell

### 17.1 PE-Containerformat

Die `Catalog*.bin`-Dateien auf jedem Volume sind **PE32+-Executables mit Subsystem `0x11`** („Xbox Code Catalog“), ein undokumentiertes Subsystem, das in keiner öffentlichen Dokumentation vorkommt. Wichtige PE-Header-Merkmale:

    Magic:          PE32+ (64-bit)
    Subsystem:      0x11  ("Xbox Code Catalog", obtained from strings inside MSVC link.exe)
    Entry point:    0 (never executed)
    Code size:      0 (no executable code)
    DLL Chars:      IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
                    IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY  <- critical
                    IMAGE_DLLCHARACTERISTICS_NX_COMPAT
    Sections:       1 unnamed read-only section (raw payload)

Wie genau diese funktionieren, bin ich mir nicht sicher, die Xbox One

### 17.2 Vertrauenskette

    Hypervisor/Host OS validates Catalog*.bin PE Authenticode signature at boot (FORCE_INTEGRITY)
                ↓
    Catalog payload contains hashes of protected binaries on that volume
                ↓
    Code Integrity checks each binary's hash against catalog at load time
                ↓
    Individual binaries carry no Authenticode signatures of their own

Dies ist ein **Trust-by-Catalog**-Modell. Eine einzige Microsoft-Signatur deckt Unmengen von Dateien pro Volume ab. Einzelne Binärdateien und vermutlich auch andere Dateitypen sind unsigniert; ihre Integrität wird durch die Zugehörigkeit zum Katalog garantiert.

**Eintragsanzahl und Größen:**

| Volume | Katalog | Payload-Größe | Einträge (÷32) |
|---|---|---|---|
| C:\ | Catalog000.bin | 5,533,696 bytes | 172,928 |
| C:\ | Catalog001.bin | 253,952 bytes | 7,936 |
| C:\ | Catalog002.bin | 57,344 bytes | 1,792 |
| C:\ | Catalog003.bin | 176,128 bytes | 5,504 |
| M:\ | Catalog000.bin | 5,537,792 bytes | 173,056 |
| M:\ | Catalog001.bin | 258,048 bytes | 8,064 |
| M:\ | Catalog002.bin | 61,440 bytes | 1,920 |
| M:\ | Catalog003.bin | 180,224 bytes | 5,632 |

Die Payload-Länge jedes Katalogs (innerhalb der PE-Sektion) ist ohne Rest exakt durch 32 teilbar und nicht konsistent durch 36, 40 oder andere übliche Record-Größen teilbar. Das deutet stark darauf hin, dass die Payload ein flaches Array aus **32-Byte-Datensätzen** ist.

**Hash-Algorithmus:** Ganzdatei-SHA-256- und SHA-1-Hashes bekannter Binärdateien wurden in den Katalogen nicht gefunden, was einfaches Ganzdatei-Hashing ausschließt. Das wahrscheinlichste Format sind **Authenticode-Seiten-Hashes**, der Windows-CI-Standard, bei dem jede 4-KB-ausgerichtete Seite der gemappten Sektionen einer PE-Datei einzeln gehasht wird. Das würde einen 32-Byte-Eintrag (SHA-256) pro Seite pro Datei ergeben und die hohen Eintragszahlen erklären (172.928 Einträge allein für C:\).

**Sortierung:** Die Payload ist nicht nach Hash-Wert sortiert. Das Sortierungsschema wurde nicht ermittelt; mögliche Ordnungsprinzipien sind die Sortierung nach Dateipfad-Hash, nach Installationspaket, nach Seiten-Offset innerhalb des Dateisatzes des Volumes oder sogar nach einem NTFS-Merkmal.

**Kein Header:** Die ersten 128 Bytes der Payload enthalten keine erkennbare ASCII-Magic, keine kleinen ganzzahligen Felder, die auf eine Anzahl oder Version hindeuten könnten, und keine Struktur, die einem Standard-Header entspricht. Das Hash-Array beginnt bei Byte 0 der Payload ohne Vorspann.

### 17.3 Durchsetzung nur zur Ladezeit

Die Durchsetzung der Code-Integrität erfolgt **nur zur Ladezeit**. Sobald eine Binärdatei die Katalog-Hash-Prüfung besteht und Seiten in den Speicher gemappt sind, ist CI nicht weiter beteiligt. HVCI (Hypervisor-Protected Code Integrity) würde, falls auf SystemOS aktiv, das resultierende TOCTOU-Fenster (Time-of-check to time-of-use) schließen, indem geladene Codeseiten auf Hypervisor-Seitentabellenebene hardwaremäßig schreibgeschützt werden. **HVCI ist auf SystemOS bestätigt deaktiviert**, `IsSecureKernelRunning = 0x0` (siehe Abschnitt 18). Das TOCTOU-Fenster ist daher vorhanden.

### 17.5 Host-OS-Komponenten

Zwei Treiber sind nachweislich auf allen zugänglichen Dateisystem-Volumes nicht vorhanden und werden direkt vom Host-OS geladen, bevor SRA initialisiert:

- `XVIO.SYS` Xbox-Virtual-I/O-Core (kein Registrierungs-Diensteintrag, auf keinem Volume)
- `FLTMGR.sys` Filtermanager
- `XSraFlt.sys` SRA-Filter (Diensteintrag vorhanden, keine entsprechende Datei auf einem Volume)

Diese Komponenten existieren vollständig außerhalb des Katalog-Vertrauensmodells. Sie können selbst mit vollem SystemOS-Kernelzugriff nicht manipuliert werden, da sie vom Bootloader gemappt werden, bevor HostOS (das übergeordnete System-OS) mit dem Laden beginnt.

Informationen zu den Xbox-One-Komponenten [findest du hier](https://xboxoneresearch.github.io/wiki/boot/vbi/), allerdings kann ich nicht ganz sicher sein, dass sich HostOS bislang nicht geändert hat.

---

## 18. HVCI-Status

> **Auswirkung:** Bei deaktiviertem HVCI ist die Code-Integrität nur zur Ladezeit wirksam. Sobald eine Binärdatei in den Speicher gemappt ist, gibt es keine hardwaregestützte Durchsetzung, die eine Modifikation im Speicher verhindert. Das in Abschnitt 17.3 beschriebene TOCTOU-Fenster ist daher offen. Die beabsichtigte Sicherheitsgrenze bleibt vollständig davon abhängig, dass SystemOS nicht mit ERA (GameOS) kommuniziert.

`HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\KeyGuard\Status`

    IsSecureKernelRunning = 0x0

Der Secure Kernel (VTL1) läuft auf SystemOS nicht, was bestätigt, dass HVCI nicht aktiv sein kann. Dies ist ein bewusster Performance-Kompromiss – keine VTL1-Belastung der Kernel-Aktivität in der Game-Schleife. Die Sicherheitsgrenze ist die Hypervisor-Partition selbst, nicht der In-Partition-Speicherschutz. Das Code-Integritätsmodell (Abschnitt 17) ist daher nur zur Ladezeit wirksam und bietet keinen TOCTOU-Schutz.

---

## 19. sevpipe-Hypervisor-IPC-Namespace

Ein benutzerdefinierter Windows-Named-Pipe-Gerätenamespace (`\\.\sevpipe\`), der als primäres IPC-Rückgrat für die gesamte Xbox-spezifische Interprozess- und partitionsübergreifende Kommunikation dient. Auf Protokollebene kein Hypervisor-Konstrukt, darunter standardmäßige Windows-Named-Pipe-Semantik, registriert unter einem benutzerdefinierten Gerätenamespace, um ihn vor normalen Pipe-Enumerationstools zu verbergen.

### 19.1 Vollständige Pipe-Übersicht

    EtxForwarder                  <- telemetry data
    EtxForwarderToUploaderControl <- telemetry control
    XrfsPipe                      <- cross-partition filesystem
    ERASwapChainPipe              <- ERA framebuffer (dynamic)
    ERAPresentPipe                <- ERA present signals (dynamic)
    XvioAudioPipe                 <- ERA audio (dynamic)
    XvioAudioEventPipe            <- ERA audio events (dynamic)
    XboxOneAudioStatePipe         <- system audio state
    XTF_SYSTEM_TO_TITLE           <- XTF command channel (dynamic)
    XTF_TITLE_TO_SYSTEM           <- XTF response channel (dynamic)
    CloudStreamingServer          <- xCloud (dynamic)
    \SEVPipe\epmapper             <- Xbox RPC endpoint mapper
    \SEVPipe\epmapperX            <- extended RPC endpoint mapper

Dynamische Pipes existieren nur, wenn ERA aktiv ist, eine XTF-Sitzung läuft oder xCloud streamt.

### 19.2 Zugriffskontroll-Zuordnung

    EtxForwarder                  <- DevToolsUser WRITE 
    EtxForwarderToUploaderControl <- DevToolsUser WRITE 
    XrfsPipe                      <- SYSTEM only 
    ERASwapChainPipe              <- SYSTEM only 
    ERAPresentPipe                <- SYSTEM only 
    XvioAudioPipe                 <- SYSTEM only 
    XTF_SYSTEM_TO_TITLE           <- SYSTEM only 

### 19.3 Telemetrie-Pipeline

    Process calls EtxEventWrite()
        ↓
    EtwPlus.dll
        ↓ writes to
    \\.\pipe\EtxUploader
        ↓
    EtwUploader.exe (PID 1808, SYSTEM)
        ↓ forwards to
    \\.\sevpipe\EtxForwarder          <- data
    \\.\sevpipe\EtxForwarderToUploaderControl  <- control
        ↓
    NetworkTransferManagerService.exe (PID 2040, SYSTEM)
        ↓
    [unknown endpoint, dynamic library load]
        ↑
    DevToolsUser can inject at EtxForwarder and control pipe

`EtwPlus.dll` ist Xbox-spezifisch (`FileDescription: Xbox ETW Plus API`), Version `10.0.26100.7010`. Suspend/Resume-Exporte sind bei Retail-Builds wahrscheinlich Stubs; drei Exporte teilen sich dieselbe RVA.

### 19.4 videoserver.exe RTSP-Bildschirmaufnahme (höchstwahrscheinlich ein Überbleibsel von [Xbox Dev Mode Companion](https://apps.microsoft.com/detail/9nblggh519cp))

Port: 11442 (fest im Binärcode codiert). Abhängigkeiten:

    Windows.Xbox.Graphics.Display.Internal.DisplayManager
    Windows.Xbox.System.Internal.GameStreaming.GameStreamingAgent
    Windows.Xbox.Media.Capture.ApplicationClipShell

**Wichtigste Erkenntnis:** Scheint nicht ordnungsgemäß zu funktionieren. Es wurde keine Methode gefunden, um auf den Videostream von innerhalb oder außerhalb der Konsole zuzugreifen.

Fest codierte Pfade/Flags:

    DisableXboxDevToolsTelemetry     <- env var to suppress its telemetry
    VideoServerMaxPacketSize         <- configurable via env var
    EnableVideoServer                <- WdConfig flag confirmed here
    OSDATA\...\DevkitProperties      <- reads devkit properties at runtime

### 19.5 OneSettings / Windows-Update-Schema

Die Xbox trägt das vollständige Windows-Update-Targeting-Schema, einschließlich `XBOXMOBILE`-Targeting-Einträgen und `WCOS`-Registry-Hive-Pfaden. Das bestätigt, dass die Xbox Series S auf der Windows-Core-OS-Grundlage (WCOS) läuft, die sie sich mit HoloLens und Surface Hub teilt. Das Betriebssystem ist ein leicht angepasstes Windows 11 24H2, kein speziell entwickeltes Plattform-Betriebssystem.

---

## 20. Hypervisor-Partitionstopologie

`HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\HvSocket\Addresses`

    LocalAddress  = {REDACTED_GUID}  SystemOS partition GUID
    ParentAddress = {REDACTED_GUID}  null parent

SystemOS geht davon aus, die **Root-Partition** zu sein (fälschlicherweise – Host-OS ist die Root-Partition). Die ERA-Game-Partition ist ein Kind von SystemOS. Die ERA-Partitions-GUID ist SystemOS über keinen zugänglichen Registry-Pfad bekannt und wird möglicherweise randomisiert.

### HvSocket-partitionsübergreifende Wildcard-Endpunkte

`HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\HvSocket\WildcardDescriptors`

Vier Dienst-GUIDs, aufgelöst über die SHA1-Berechnung der Dienst-SID:

| GUID | Dienst | Zweck |
|------|--------|-------|
| `REDACTED_GUID` | DiagTrack | Telemetrie-Pipe 1 |
| `REDACTED_GUID` | DiagTrack | Telemetrie-Pipe 2 |
| `REDACTED_GUID` | RpcSs | Partitionsübergreifende RPC |
| `REDACTED_GUID` | EventLog | Partitionsübergreifende Ereignisweiterleitung |

DiagTrack, RpcSs und EventLog sind erstklassige partitionsübergreifende Bürger. Spieltelemetrie, RPC-Aufrufe und Ereignisse werden von ERA über dedizierte Hypervisor-Socket-Kanäle an SystemOS geleitet, die für alles, was innerhalb von ERA läuft, unsichtbar sind.

---

## 21. Grafikkonfiguration

`HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers`

    WddmVersion_Max = WddmVersion_Min = 0x9C4  (WDDM 2.5) pinned, not negotiated
    DisableCcdDatabase                = 1
    DisableHpdHandling                = 1
    DisableUsingMonitorPowerForSimulatedMonitor = 1
    DirectFlipMemoryRequirement       = 0x40  (64MB)
    PinnedMemoryLimit                 = 0x59  (89MB)
    AdapterMPO_3                      = 1    MPO tier 3 enabled

Die WDDM-Version ist festgelegt und wird nicht ausgehandelt; die Anzeigepipeline wird von Firmware und Hypervisor kontrolliert, wobei WDDM nicht an der Monitorverwaltung beteiligt ist. MPO-Tier 3 (`AdapterMPO_3`) ist der Mechanismus, über den der ERA-Game-Framebuffer und die SystemOS-UI ohne Software-Blit zwischen den Partitionen zusammengesetzt werden: Jede Oberfläche belegt eine separate Hardware-Overlay-Ebene.

---

## 22. WdApp.exe Paketmanager und App-Lifecycle-Tool

`J:\tools\WdApp.exe` ist ein vollwertiger Paketmanager und Anwendungs-Lebenszyklus-Manager für die Xbox-App-Plattform. Vollständige Befehlsübersicht:| Befehl | Zweck |
|---------|---------|
| `install` | Streamen eines gepackten Builds von Webserver, Netzwerkfreigabe oder lokalem Pfad |
| `register` / `unregister` | Registrieren/Aufheben der Registrierung von App-Paketen mit losen Dateien |
| `registerdrive` | Alle Anwendungen auf einem gesamten Laufwerk auf einmal registrieren |
| `registernetworkshare` | Von einer UNC-Netzwerkfreigabe mit optionalen Anmeldeinformationen installieren |
| `registerscratch` | Vom Entwicklungs-Scratch-Laufwerk registrieren |
| `registertitlescratch` | Vom ERA-Titel-Scratch-Laufwerk registrieren |
| `launch` | Per AUMID, EXE-Pfad oder URI starten |
| `terminate` / `suspend` | Eine ausgeführte App beenden oder anhalten |
| `uninstall` | Eine App oder Teile davon deinstallieren |
| `list` | Alle registrierten Anwendungen auflisten |
| `listdlc` | Installierte DLCs auflisten |
| `move` / `copy` | Ein Paket verschieben oder kopieren |
| `movedrive` / `copydrive` | Alle Pakete auf einem Laufwerk verschieben oder kopieren |
| `applyconfig` | Die ERA-Spiel-OS mit angegebenen Einstellungen oder einer `game.config`/`.xvd` starten |
| `queryconfig` | Die vierteilige Versionsnummer der ausgeführten Spiel-OS ausgeben |
| `queryversioninfo` | Spiel-OS-Version für ein angegebenes Paket abfragen |
| `collectxip` | XIP-Ablaufverfolgung erfassen |
| `lastgamedetails` | Details zum zuletzt ausgeführten Spiel abrufen |
| `installkey` | Einen Schlüssel auf der Konsole installieren |
| `installplan` | Einen Plan auf der Konsole installieren |
| `overlayfolder` | Paket-Overlay-Ordner verwalten |

### Bemerkenswerte Erkenntnisse

**`applyconfig [game.config | ERA.xvd]`** direkte Boot-Steuerung der ERA-Partition über die Befehlszeile. Akzeptiert entweder ein `.xvd`-XVD-Datenträgerabbild oder eine `game.config`-Einstellungsdatei. Ohne Argumente ausgeführt, startet es die zuletzt verwendete Spiel-OS. Auf einem System ohne vorherigen Spielkontext wird `0x87E50002` zurückgegeben (ERA-Facility, kein XVD gefunden).

**`/drive=Retail`** der Befehl `install` akzeptiert `Retail`, `Development` und `Ext1-Ext7` als Ziellaufwerksbezeichner, wodurch die Paketinstallation direkt in die Retail-Speicherpartition über die Entwickler-Shell ermöglicht wird.

**`/WaitToExit`** bewirkt bei `launch`, dass WdApp den gestarteten Prozess als übergeordneten Prozess übernimmt und Exit-Codes erfasst. System-Apps lehnen dies mit `0x8D160121` ab (Xbox-PLM-Facility, falscher Lebenszyklus-Elternprozess). Das Starten ohne `/WaitToExit` gelingt, da ShellCoreService die Lebenszyklus-Obhut behält.

**`launch`-AUMID-Kodierung** System-App-AUMIDs erfordern eine Base64-Kodierung, die dem in `.xboxunattend`-QuickActions-Skripten verwendeten Muster entspricht:```
WdApp.exe launch <base64(FamilyName!AppId)>

23. Device Portal REST-API

Der Webserver des Device Portals (WebManagement.exe, PID 2344) stellt sein Frontend aus M:\windows\WebManagement\www\default\ bereit. Das vollständige REST-API-Schema ist in js\RestDocumentation.json (40 KB) dokumentiert.

Authentifizierung: HTTP-Basic-Auth über HTTPS-Port 11443. Die Anmeldedaten sind der Benutzername des Device Portals und die PIN, die bei der Aktivierung des Entwicklermodus festgelegt wurde.

API-Namespaces

Einschränkungsflags

Mehrere Endpunkte verfügen über Einschränkungsflags, die sie auf Konsolen im Retail-Dev-Modus deaktivieren:

Live-Prozess-Dumps im Benutzermodus (/api/debug/dump/usermode/live?pid=<pid>) sind nonRestrictable und funktionieren im Retail-Dev-Modus.

Quellbaum des Device Portals


24. Live-Prozessliste

Abgerufen über GET /api/resourcemanager/processes. Ausgewählte bemerkenswerte Prozesse:

Drei Instanzen von xnetsharedservice.exe (PIDs 2032, 2764, 2844) laufen gleichzeitig unter SYSTEM, was auf separate Netzwerkbrücken-Instanzen für verschiedene partitionsübergreifende Kanäle hindeutet.

Der Arbeitssatz von eracontrol.exe von 991 KB ohne laufendes Spiel bestätigt, dass der Prozess rein ereignisgesteuert ist; er hält im Leerlauf fast keinen Zustand und wird nur durch ERA-Lebenszyklusereignisse geweckt.


25. Windows-Update-Pipeline (Deploy:)

Auswirkung: Der Zugriff auf das Volume Deploy:\ ist lokal für den Benutzermodus eingeschränkt, diese Einschränkung wird jedoch über den Netzwerkfreigabepfad durch den Junction S:\Deployment\SoftwareDistribution\ umgangen. Update-ETL-Ablaufverfolgungen, der WU-Datenbankpfad und die SLS-Endpunkt-URL (einschließlich Plattformkennung und installierter Sprachpakete) sind vollständig lesbar.

S:\Deployment\SoftwareDistribution\ ist ein Junction zum versteckten Kernel-Gerätevolume Deploy:\.

ETL-Trace-Analyse

Es wurden zwei Updatesitzungen erfasst:

Sitzung 1, 9. März 2026, 18:25:23

  • WU-Dienst startete kalt, DataStore.edb existierte nicht (wurde in dieser Sitzung neu erstellt)
  • Netzwerkstatus: beim Start getrennt
  • Versuchter SLS-Endpunkt: https://slscr.update.microsoft.com/SLS/{REDACTED_GUID}/x64/10.0.26100.7010/0
  • Schlug sofort mit 0x8024402C fehl (kein Internet). Keine Updateprüfung abgeschlossen.

Sitzung 2, 10. März 2026, 03:59:18

  • WU-Dienst gestartet, vorhandene DataStore.edb geladen
  • Netzwerkstatus: beim Start getrennt
  • Dieselbe SLS-Anfrage schlug mit 0x8024402C fehl
  • Netzwerk kam um 03:59:24 online, 6 Sekunden nachdem der Dienst bereits fehlgeschlagen war und die Sitzung aufgegeben hatte
  • Der Dienst lief 10 Minuten im Leerlauf und wurde dann um 04:09:19 sauber mit Exit-Code 0x240001 beendet
  • In keiner der beiden Sitzungen wurde eine Updateprüfung abgeschlossen

Hinweis: In beiden Sitzungen war das Netzwerk nicht verfügbar, als der WU-Dienst initialisiert wurde, was dazu führte, dass er die Updateprüfung aufgab. Sitzung 2 kam 6 Sekunden online, nachdem der Dienst die Ermittlungsphase bereits verlassen hatte, was darauf hindeutet, dass die Update-Pipeline keinen Wiederverbindungsversuch unternimmt, sobald die anfängliche Netzwerkprüfung fehlschlägt.

Struktur der SLS-Endpunkt-URL

root@kitploit:~
https://slscr.update.microsoft.com/SLS/{SERVICE_GUID}/x64/{BUILD}/0
?CH=928          catalog hash / change counter (928 in session 1, 19 in session 2)
&L=en-US;...     31 installed language packs
&PT=0xc0         platform type: Xbox
&WUA=1451.2510.27012.0  Windows Update Agent version

PT=0xc0 ist die Xbox-Plattformkennung, die in jede Updateprüfung eingebettet ist. CH sank zwischen den Sitzungen von 928 auf 19, was mit einem Katalogzustandszähler übereinstimmt, der zurückgesetzt wird, wenn die Datenbank neu erstellt wird.

Dienstkonfigurations-GUID

Die Konfigurationskennung des Xbox-Windows-Update-Dienstes ([REDACTED]) ist im Unterverzeichnis SLS\ vorhanden und in jede SLS-Anfrage-URL eingebettet.

Quellbaum des WU-Clients

Interne Azure-DevOps-Buildpfade, die durch Debug-Instrumentierung preisgegeben wurden:

root@kitploit:~
C:\__w\1\s\src\Client\comapi\DiscoveryJob.cpp
C:\__w\1\s\src\Client\comapi\XxxJob.cpp
C:\__w\1\s\src\Client\lib\DownloadFile\DownloadSession.cpp
C:\__w\1\s\src\Client\Engine\handler\UHManager\uhmgr.cpp
C:\__w\1\s\src\Client\lib\util\fileutil.cpp
C:\__w\1\s\src\Client\lib\wusyshelper\wusyshelper.cpp

C:\__w\1\s\ ist der Standard-Workspace-Pfad des selbstgehosteten Azure-DevOps-Agents. Der Xbox-Windows-Update-Client teilt sich den Quellcode mit dem Desktop-Windows-Update; es ist dieselbe Codebasis, die für das Xbox-Plattformziel kompiliert wurde.

Persistenter Timer

Die Timer-GUID REDACTED_GUID wurde in Sitzung 1 gesetzt und überstand den Neustart bis Sitzung 2. Sie wird außerhalb von DataStore.edb gespeichert (wahrscheinlich in der Registrierung) und plant die nächste Updateprüfung unabhängig vom Datenbank-Lebenszyklus.


26. Treiberanalyse des Cross-Partition-I/O-Stacks

xbtplinkc.sys XVIO-Transportlink-Client

Die Importanalyse offenbart die vollständige API-Oberfläche des XVIO-Ringpuffers und den GPA-Übersetzungsmechanismus:

root@kitploit:~
XvioAcquireRingBufferRundown / XvioReleaseRingBufferRundown
XvioSignalFlag
XvioWriteRingBuffer
XvioGetIncomingRingBufferAvailableBytes
XvioReadRingBufferEx
XvioInitialize
XvioGetRingBufferContext
XvioCreateRingBuffer
XvioGetReservedMemory           reserved hypervisor memory carve-out
XvioTranslateXrfsGuestGpa       translate ERA guest physical address for SystemOS access

XvioTranslateXrfsGuestGpa ist die Primitive für gemeinsamen Speicher zwischen Partitionen. ERA übergibt SystemOS eine Gast-Physikalische-Adresse (GPA); SystemOS ruft diese Funktion auf, um ein nutzbares Mapping zu erhalten. Dies ist der Mechanismus hinter GameDVR-Aufnahme, Framebuffer-Compositing und partitionsübergreifendem Audio.

xbtplinkc importiert außerdem XpalIsCapabilityEnabledByVm aus xpalk.dll; das Suffix ByVm fragt den Fähigkeitsstatus auf Hypervisor-Ebene ab, nicht auf Betriebssystemebene, was bestätigt, dass geprüft wird, ob der Hypervisor selbst die Fähigkeit aktiviert hat, bevor fortgefahren wird.

xrfs.sys Xbox-Runtime-Dateisystem

Vollständiger NT-Dateisystemtreiber. Die Importanalyse bestätigt, dass er echte Dateisystemsemantik implementiert: Cache Manager (Cc*), MDL-E/A, Dateisperren (FsRtl*), Security-Descriptor-Erstellung, generische AVL-Baumtabellen für die Verzeichnisindizierung.

Wichtige unterscheidende Importe:

root@kitploit:~
FsRtlRegisterFileSystemFilterCallbacks
IoRegisterFileSystem
RtlCreateSecurityDescriptor / RtlCreateAcl / RtlAddAccessAllowedAce
XpalIsCapabilityEnabled
WppRecorder.sys in-memory ETW trace recorder

xrfs.sys importiert XVIO nicht direkt. Stattdessen importiert xbtplinkc.sys XvioTranslateXrfsGuestGpa; XRFS ist die Dateisystemebene, XVIO stellt die darunterliegende GPA-Übersetzung bereit.

Architektur des Cross-Partition-Dateisystems

root@kitploit:~
ERA game process
    ↓
ERA kernel / XVIO guest side
    ↓  [hypervisor shared memory / GPA translation via XvioTranslateXrfsGuestGpa]
SystemOS: xbtplinkc.sys  (ring buffer transport)
    ↓
SystemOS: xrfs.sys       (NT filesystem semantics)
    ↓
S:\Shares\TitleScratch   (junction, target redacted by OS)
    ↓
SystemOS userspace / shell

27. eracontrol.exe

Wichtige Xbox-spezifische Importe:

XCRDAPI.dll direkte XVD-Mount-Steuerung:

root@kitploit:~
XCrdSetEraLaunchMapping   associates XVD content with ERA partition pre-launch
XCrdMountContentType      mounts content categories into ERA
XCrdUnmount               tears down ERA content mounts
XCrdOpenAdapter / XCrdCloseAdapter
XCrdQueryDevicePath / XCrdBuildPath
XCrdDeleteXVD
XCrdSuspendResumeIoBalancer
XCrdIsCorruptionError
XCrdFreeDevicePathBuffer

ntdll.dll

root@kitploit:~
NtOpenPartition
RtlSetProcessIsCritical
RtlWaitForWnfMetaNotification / RtlPublishWnfStateData
NtQueryWnfStateData / NtDeleteWnfStateName

ext-ms-win-xblauth-console-l1-1-0.dll (verzögert geladen):

root@kitploit:~
XblaInitialize            bootstraps Xbox Live auth identity into ERA partition

ext-ms-win-ntuser-rim-l1-1-0.dll (verzögert geladen):

root@kitploit:~
RIMAddInputObserver / RIMRemoveInputObserver  intercepts raw controller input for ERA routing

SspiCli.dll:

root@kitploit:~
LogonUserExExW            creates user logon tokens for the ERA session

ext-ms-win-session-usermgr-l1-1-0.dll (verzögert geladen):

root@kitploit:~
UMgrOpenProcessHandleForAccess

RPCRT4.dll:

root@kitploit:~
RpcServerInqCallAttributesW / I_RpcBindingInqLocalClientPID  RPC caller identity verification

28. eraproxyapp.exe

eraproxyapp.exe ist der Compositor auf SystemOS-Seite und die IPC-Brücke zwischen der ERA-Partition und der Shell. 339 KB, deutlich größer als eracontrol.exe (249 KB).

Framebuffer-Compositing:

root@kitploit:~
d3d11.dll:  D3D11CreateDevice
dcomp.dll:  DCompositionCreateDevice
AVRT.dll:   AvSetMmThreadCharacteristicsW / AvSetMmThreadPriority / AvRevertMmThreadCharacteristics

eraproxyapp erstellt ein D3D11-Gerät und ein DirectComposition-Gerät, um den ERA-Framebuffer in die SystemOS-Shell zu komponieren. Die AVRT-Multimedia-Thread-Priorität gewährleistet eine Übertragung der Frames mit geringer Latenz.

Partitionsübergreifende IPC über ALPC:

root@kitploit:~
ntdll: NtAlpcConnectPort / NtAlpcAcceptConnectPort
    NtAlpcSendWaitReceivePort
    NtAlpcCreatePortSection / NtAlpcCreateSectionView
    NtAlpcDeletePortSection / NtAlpcDeleteSectionView
    NtAlpcDisconnectPort / NtAlpcCancelMessage

ALPC-Portabschnitte bieten Shared Memory ohne Kopie. Der ERA-Spiel-Framebuffer wird nicht kopiert, sondern über ALPC-Abschnittsansichten geteilt, die gleichzeitig in beide Adressräume abgebildet werden.

Privater Namespace (sicherer IPC-Kanal): CreatePrivateNamespaceW / OpenPrivateNamespaceW CreateBoundaryDescriptorW / AddSIDToBoundaryDescriptor / DeleteBoundaryDescriptor ClosePrivateNamespace bcrypt: BCryptGenRandom / BCryptHashData / BCryptCreateHash / BCryptFinishHash

eraproxyapp richtet einen privaten Objektnamespace mit einem SID-basierten Boundary-Descriptor ein, einen benannten Objektnamespace, der nur für ERA und SystemOS sichtbar ist. BCrypt liefert zufälliges Schlüsselmaterial für die Grenze.

Titelidentität und Audio: XboxLiveTitleId.dll: GetCurrentXboxLiveInfo identifies the running title xamapi.dll: XamApiDisableLayoutScaling ConsoleGlobalization.dll: GetConsoleGlobalizationInfo api-ms-win-audiocore-spatial-config-l1-1-0.dll: Create_SpatialAudioDevicePropertyReader

Benannte Pipes:

root@kitploit:~
CreateNamedPipeW / ConnectNamedPipe / DisconnectNamedPipe

29. Zusätzliche DLL-Analyse

XblAuthConsoleExt.dll Hardwareidentität und Authentifizierung (46 Exporte)

Konsolenidentität:

root@kitploit:~
XblaGetConsoleCert / XblaGetConsoleId / XblaGetConsoleSerialNumber
XblaGetDevkitType      retail vs devkit detection
XblaGetXblSandbox      Xbox Live environment (retail/preview/dev)

Titelidentität:

root@kitploit:~
XblaGetXboxLiveTitleId
XblaGetTitleAttestation / XblaGetTitleConsoleGeneration

Kryptografie:

root@kitploit:~
XblaSignDigest         sign with console private key
XblaGetAttestation / XblaGetTpmPcrAttestation fTPM PCR boot chain measurements
XblaProcessChallenge / XblaProcessSpToken

XblaGetTpmPcrAttestation bestätigt, dass die Konsole eine vollständige Attestierung der Startkette durchführt. Microsoft kann den genauen Zustand der Startsequenz kryptografisch verifizieren, wenn sich eine Konsole bei Xbox Live authentifiziert.

xamapi.dll Kompatibilitätsshim des Xbox Application Managers (24 Exporte)

Überschreibt standardmäßige Win32-APIs für ERA-Apps, die im SystemOS-Kontext ausgeführt werden:

root@kitploit:~
ClipCursorOverride / GetClipCursorOverride
GetCursorPosOverride / SetCursorPosOverride
GetMonitorInfoWOverride / GetSystemMetricsOverride
XamApiDisableLayoutScaling / XamApiSetLayoutScaleOverride
AdjustDeviceIdMappingForKeyEventBefore / After
UserContextExtInitialize / SetToken / Cleanup

Auf diese Weise präsentiert SystemOS Komponenten, die standardmäßige Win32-Anzeige- und Eingabe-APIs erwarten, eine überzeugende Windows-PC-Umgebung.

xboxsynthetickm.dll Synthetische Eingabeinjektion (M:, 12 Exporte)

Befindet sich auf dem Hardware-Overlay-Volume M:\ (wird als Hardware-Ebene behandelt, nicht als Anwendungsebene):

root@kitploit:~
SyntheticInput_CreateKeyboard / CreateMouse / CreateMouseAbsolute
SyntheticInput_InjectKeyboardInput / InjectMouseInput
SyntheticInput_ReadKeyboardOutput

Auf diese Weise wandelt xCloud Netzwerkpakete in lokale Eingabeereignisse um. Die Konsole kann synthetische Eingaben auf Hardware-Ebene nicht von physischen Eingaben unterscheiden.

xboxcloudstreaming.dll xCloud-Streaming-Engine (2 Exporte)

root@kitploit:~
GetCloudStreamManager
ShutdownCloudStreamManager

XboxLiveTitleId.dll Laufzeit-Spielerkennung (12 Exporte)

root@kitploit:~
GetCurrentXboxLiveTitleId / GetCurrentXboxLiveInfo
GetProcessXboxLiveInfo / GetPackageXboxLiveInfo
AuthenticateSystemXboxLiveTitle

XBBlackbox.dll Flugschreiber

Einzelner Export: BlackboxServiceMain

XBCastRecv.dll Miracast-Empfänger (22 Exporte)

root@kitploit:~
GetWiFiDirectDeviceCategoryForCurrentPlatform
IsMiracastReceiverStartAllowedWithoutApp
GetEdidForCurrentDisplayDevice

Xbox.Shell.Api.dll Shell-Integration (44 Exporte)

root@kitploit:~
CheckGamingPrivilegeSilently / WithUI
ShowProfileCardUI / ShowGameInviteUI
PlaySystemSound
AreWebAppsEnabled

Controller-Stack-Codename „Pendragon“

XAccessoriesGip.dll:

root@kitploit:~
PendragonGIP_SendGIPMessage
PendragonGIP_SetMessageCallback
PendragonGIP_Start / Stop

30. Zusammenfassung der vollständigen Systemarchitektur

Gesamtarchitektur

root@kitploit:~
Hypervisor (lowest layer, hardware virtualization)
    ↓
Host OS (Root Partition) hidden from SystemOS, management OS
├── 108MB fixed RAM carve-out
├── 5 core system processes
├── **XVIO.SYS**             Xbox Virtual I/O core (ring buffers, GPA translation)
├── **XSraFlt.sys**          GPU security filter (display capture interception)
├── **sevpipe driver**       secure IPC namespace root
├── **xvncbus.sys**          Durango Virtual XVNC Bus Driver
├── **xvnc.sys**             XVSC miniport
├── **xrfs.sys**             NTFS Filesystem driver
└── Hardware device ownership (GPU, network, storage)
    ↓ (creates child VMs with virtualized hardware)
SRA SystemOS Partition (Windows 11 24H2 / WCOS, child partition)
├── Total RAM: 6400MB (dynamically allocated)
├── 89-95 processes
├── sevpipe IPC backbone (client views)
├── ERA lifecycle management (eracontrol.exe)
├── Telemetry pipeline (EtwUploader->NetworkTransferManager)
├── XTF toolchain (J:\tools\, always present on retail)
├── Device Portal web server (:11443)
└── Virtualized hardware views (GPU, NIC, storage via Host OS)
    ↓ (manages as child)
ERA GameOS Partition
├── Game title process
├── XVIO client view
└── All hardware access proxied: ERA->SystemOS->Host OS

Treiberinitialisierungen (Annahmen auf Grundlage des bisherigen Stands)

root@kitploit:~
Host OS Boot (invisible to research, complete assumptions):
1. Host OS loads from its own protected storage partition
2. Normal Windows driver loading within Host OS:
    - XVIO.SYS (registers as \Device\Xvio)
    - XSraFlt.sys (filters GPU commands)
    - sevpipe driver (creates \\.\sevpipe namespace)
    - xvncbus.sys/xvnc.sys (virtual NIC root)
3. Host OS creates SystemOS VM with virtualized hardware, and symlinks images
4. SystemOS never sees Host OS drivers or filesystem

SystemOS View (what research can tell):
1. Sees virtualized devices provided by Host OS
2. XVIO appears as a service, not a driver (xvmctrl.sys interface)
3. sevpipe appears as a namespace but server runs in Host OS
4. Cannot enumerate or access Host OS drivers/files

ERA-Startsequenz (Annahmen)

  1. eracontrol.exe: NtOpenPartition – Handle auf die ERA-Hypervisor-Partition öffnen
  2. eracontrol.exe: XCRDAPI XCrdSetEraLaunchMapping – XVD der Partition zuordnen
  3. eracontrol.exe: XCRDAPI XCrdMountContentType – Spielinhalte in ERA einhängen
  4. eracontrol.exe: XblaInitialize – Xbox-Live-Identität in ERA bereitstellen
  5. eracontrol.exe: LogonUserExExW – Benutzertoken für die ERA-Sitzung erstellen
  6. eracontrol.exe: RIMAddInputObserver – Weiterleitung von Controller-Eingaben an ERA beginnen
  7. eraproxyapp.exe: ALPC-Portabschnitte – Zero-Copy-Framebuffer-Kanal einrichten
  8. eraproxyapp.exe: CreatePrivateNamespaceW – sicheren IPC-Namespace einrichten
  9. eraproxyapp.exe: D3D11 + DComp – Framebuffer-Compositor vorbereiten
  10. ERA-Partition bootet das Spiel

Aufrufablauf (Annahmen)ERA Game Process needs GPU memory:

root@kitploit:~
    ↓
ERA: XVIO guest call->SystemOS
    ↓
SystemOS: xvmctrl.sys->xvioc.sys->Host OS via hypercall
    ↓
Host OS: XVIO.SYS validates request
    ↓
Host OS: Programs actual GPU MMU
    ↓
Host OS: Returns GPA mapping token to SystemOS
    ↓
SystemOS: Forwards to ERA

Vollständige Stack-Übersicht


31. WinRT-Vertragsregistrierung

Das HDRGameCalibration-WinMD enthält überraschenderweise scheinbar die GESAMTE Xbox-WinRT-Vertragsregistrierung – über 100 Verträge, die jede verfügbare First-Party-WinRT-API-Oberfläche auf der Plattform definieren.

Bemerkenswerte Verträge

Auswirkungen

Kinect als gepflegter Vertrag. Windows.Kinect.KinectContract v1 ist als nicht veralteter Vertrag erster Klasse vorhanden, konsistent mit dem aktiven Stack (C:\Windows\System32\ht) und KinectSensorEnabled=true in WdConfig. Die Kinect-Vision ist eine aktiv gepflegte Infrastruktur, selbst auf Hardware ohne physische Kinect. Die vollständige Orchestrierungspipeline (nuiservice.exe, KinectMediaSource.dll, drei Inferenz-Tracks, Ausgaberouting) ist in Abschnitt 33 dokumentiert.

Werbung ist interne Infrastruktur. Dass AdsContract ein Internal-Vertrag und keine öffentliche SDK-API ist, bedeutet, dass die Werbeauslieferung auf derselben Ebene wie Authentifizierung und Speicher in das Betriebssystem integriert ist – nicht als Integration eines Drittanbieter-SDKs.

Testautomatisierung auf Retail. Windows.Xbox.TestAutomationContract ist auf Retail-Geräten enthalten, konsistent damit, dass Windows.Xbox.TestAutomationContract für Entwicklermodus-Tools zugänglich ist.


32. UserMgr2

UserMgr2 ist das interaktive Benutzerkonto, dem die aktive angemeldete Sitzung gehört. NTUSER.DAT ist gesperrt (UserMgr2 ist aktiv). Wichtige Erkenntnisse aus dem Profil:

Profilstruktur

PfadInhalt
ntuser.ini3 Zeilenumbrüche
AccountPictures\UserImage.jpgEin einzelnes 1080x1080-Microsoft-Kontofoto, getrennt vom Gamerpic-System (siehe Abschnitt 3.2)

Hinweis zu Berechtigungen

Device-Portal-Junctions werden mit UserMgr2-Berechtigungen aufgelöst und nicht mit DevToolsUser-Berechtigungen (siehe Abschnitt 1.2 und offene Frage 12). UserMgr2 hat eine höhere Berechtigungsstufe als DevToolsUser: UserMgr2 ist der Besitzer der interaktiven Sitzung, während DevToolsUser ein eingeschränktes Entwicklerzugriffskonto ist.


33. nuiservice.exe Kinect-Vision-Pipeline

nuiservice.exe (3.8MB, läuft als SYSTEM, ständig aktiv) ist der Orchestrierungsprozess für den gesamten Kinect/NUI-Wahrnehmungs-Stack. Er hostet drei parallele Inferenz-Tracks: Körper, Gesicht und Audio; jeder läuft als separate Verarbeitungspipeline, die über einen Fiber-Graph kooperativ geplant wird und über eine IOCP-Pumpe mit Frames versorgt wird, die von einem D3D11-GPU-Inferenzgerät unterstützt wird.

Architektur

root@kitploit:~
nuiservice.exe
├── D3D11CreateDevice          <- GPU inference device
├── IOCP frame pump            <- async frame dispatch
└── Fiber graph                <- cooperative ML inference scheduling

Eingabe: KinectMediaSource.dll

Die Frame-Aufnahme wird von KinectMediaSource.dll übernommen:

root@kitploit:~
KinectMediaSource.dll
├── MFCreate2DMediaBuffer          <- allocates 2D image frames (Media Foundation)
├── alignment.bin     [10.7MB]     <- depth -> 3D coordinate transform LUT
├── alignment_color.bin  [5.7MB]  <- depth/color registration
├── DeviceIoControl->\\.\KinectSensorControl   <- talks to PetraXC.sys
└── CoCreateInstance {9178b0a6}    <- self-registration CLSID

alignment.bin (10.7MB) und alignment_color.bin (5.7MB) sind vorab berechnete Nachschlagetabellen zur Umwandlung roher Tiefensensordaten in 3D-Weltraumkoordinaten bzw. zur Registrierung von Tiefenpixeln auf Farbpixel.

Körper-Tracking

Modelle werden über vvtechs.dll (NuiVisionCreateFactory) aus X:\ht\versions\{1.0.0|1.0.1|1.0.2}\ geladen:

  • Eingabe: Tiefen-Frames von KinectMediaSource.dll
  • Ausgabe: Skelettgelenke, Kopfposition, Handzustand (Greifen/Loslassen)
  • Drei Versionsverzeichnisse sind gleichzeitig vorhanden; die aktive Version wird zur Laufzeit ausgewählt

Gesicht

Modelle werden aus C:\Windows\System32\ht\ geladen (siehe Abschnitt 3.3 für das vollständige Modellinventar):

  • Eingabe: Tiefen-, IR- und Farb-Frames
  • Ausgabe: Identität (wer), Ausdruck (Emotion), Blickrichtung (Aufmerksamkeitsrichtung), Lippenstatus (offen/bewegt), Erscheinungsmerkmale (Brille, Gesichtsbehaarung)
  • Die Identitätsausgabe speist direkt in LogonUserExExW für die gesichtsbasierte automatische Anmeldung (siehe Ausgaberouting unten)

Audio

Wird von speechwov.dll übernommen:

root@kitploit:~
speechwov.dll
├── SpeechWov_Create / UpdateAcousticModels
├── SpeechWov_ProcessRecognition
└── Output->wake word events, speech recognition events

speechwov.dll ist eine Wake-Word- und Spracherkennungs-Engine. UpdateAcousticModels zeigt an, dass das akustische Modell zur Laufzeit aktualisiert werden kann (Sprachpaket- oder Mikrofonkalibrierungsänderungen). Dies ist die „Hey Cortana“-/Sprachbefehlsinfrastruktur auf Systemebene.

Ausgaberouting

nuiservice.exe verteilt Inferenzergebnisse über mehrere Kanäle:

RtlCapabilityCheck ist der Zugriffskontrollmechanismus: Ein Prozess muss über die entsprechende NT-Capability verfügen, um NUI-Daten zu erhalten. Dies sperrt den Zugriff von Spieltiteln, Shell und Entwicklern jeweils separat.

Konsumenten (über WNF-Abonnement)

Der WinRT-Vertrag Windows.Kinect.KinectContract v1 (siehe Abschnitt 31) ist die Retail-Oberfläche für den Zugriff von Spieltiteln auf diese Pipeline.

root@kitploit:~
Camera Sensor Hardware
└── ciumd_wddm.dll  <- most likely WDDM user-mode camera driver
    └── PetraXC.sys (KinectSensorControl)  <- WDF 1.11, disabled until device arrives
        └── \\.\KinectSensorControl

nuiservice.exe  [always running, SYSTEM]
└── KinectMediaSource.dll->DeviceIoControl->\\.\KinectSensorControl
    ├── Track 1: vvtechs.dll  (body)
    ├── Track 2: FaceDetector/FaceRecognition + RF models  (face)
    └── Track 3: speechwov.dll  (audio)
        └──->WNF / LogonUserExExW / named pipe / RPC / State Repository

Die Forschung wurde auf einer Retail-Xbox Series S im Entwicklermodus durchgeführt. Der gesamte Zugriff erfolgte über die von Microsoft bereitgestellte Entwicklermodus-Infrastruktur.

Tool herunterladen
WerkzeugZweck
Windows ExplorerXbox-Netzwerkfreigabe (Anleitung unter https://XBOX:11443/#File%20explorer > Durchsuchen)
SSH (DevToolsUser + VS-PIN)Shell-Zugriff auf SystemOS
mklink /JErstellung 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 /EXPORTSStatische Analyse von PE-Binärdateien über die Netzwerkfreigabe
PythonSkript zur Automatisierung der REST-API
PhasorSkriptlaufzeitumgebung zur Verwendung auf der Konsole (über Netzwerkfreigabe kopieren, per SSH ausgeführt) hier herunterladen
reg queryRegistrierungs-Enumeration über die SSH-Shell
WdApp.exePaketmanager und ERA-Lebenszyklussteuerung (Aufzählung der Befehlsoberfläche)
WdConfig.exeEnumeration der Konsolen-Einstellungs-API
ETL-AblaufverfolgungsanalyseWindows-Update-Pipeline über S:\Deployment\SoftwareDistribution\-Junction
Live-Prozess-DumpsGET /api/debug/dump/usermode/live?pid=<pid>
GhidraAnalyse von COM-Schnittstellen / Treibern
IDA ProAufrufdiagramme komplexer DLLs und COM-Schnittstellen
XboxToolsMeine eigene Sammlung von Hilfsprogrammen für verschiedene Zwecke
NamespaceBasis-URIWichtige Endpunkte
App Deployment/api/appx/packagemanager/Pakete installieren, deinstallieren, auflisten, Inhaltsgruppen
Device Manager/api/devicemanager/vollständiger hierarchischer Gerätebaum
Dump Collection/api/debug/dump/Live-Prozess-Dumps, Bugcheck-Dumps, Absturzsteuerung
ETW/api/etw/Echtzeit-ETW über WebSocket, Anbieterauflistung
File Explorer/api/filesystem/Durchsuchen, Hochladen, Herunterladen, Löschen, Umbenennen
Networking/api/networking/ipconfig
OS Information/api/os/Computername, OS-Informationen
Performance/api/resourcemanager/Live-Prozessliste mit CPU/Arbeitsspeicher, Systemleistungsstatistiken
Power/api/power/Akku, Energieschemata, Energieeffizienzberichte
Remote Control/api/control/Neustart, Herunterfahren
Task Manager/api/taskmanager/Apps starten/stoppen, Prozesse beenden
Bluetooth/api/bt/Audiogeräte auflisten, koppeln, verbinden
WiFi/api/wifi/Schnittstellen/Netzwerke auflisten, verbinden, trennen
WER/api/wer/Windows-Fehlerberichte auflisten und herunterladen
WPR/api/wpr/WPR-Leistungsablaufverfolgungen starten/stoppen/herunterladen, benutzerdefinierte Profile
FlagBetroffene Endpunkte
NoKernelDumpsLive-Kernel-Dump, Bugcheck-Dump-Download
NoUserModeDumpsLive-Prozess-Dump (per PID)
NoBugcheckDumpsBugcheck-Dump-Liste/-Download/-Steuerung
NoWPRBootTracingWPR-Ablaufverfolgung beim Start
NoPowerSchemeAccessEnergieschema lesen/schreiben
DateiGrößeZweck
RestDocumentation.json40KBVollständiges maschinenlesbares REST-API-Schema
workspace-definitions.js26KBLayout der Portal-Workspace-Bereiche (sekundärer API-Index)
common-xbox.js21KBXbox-spezifische Portal-Erweiterungen gegenüber dem Basis-Device-Portal
common.js56KBBasis-Framework des Device Portals
toolhost.js7.8KBTool-Hosting-Ebene
rest.js19KBBibliothek zur Erstellung von REST-Aufrufen
d3.js570KBD3-Datenvisualisierung
konva.js676KBCanvas-Rendering
PIDImageBenutzerAnmerkungen
156(hidden)SYSTEM66 MB Arbeitssatz, kein Image-Name sichtbar
1456xbdiagservice.exeSYSTEMXbox-Diagnosedienst
1808EtwUploader.exeSYSTEMETW-Telemetrie-Uploader
1832StorageManagement.exeDefaultAccountXbox.StorageManagement-UWP, IsRunning: false (angehalten)
1904ApplicationClipService.exeSYSTEMGameDVR-Clip-Verwaltung, 37 MB Arbeitssatz
2032xnetsharedservice.exeSYSTEMNetzwerkbrücke zwischen Partitionen
2040NetworkTransferManagerService.exeSYSTEMXbox-Inhaltsdownload-Manager
2344WebManagement.exeSYSTEMWebserver des Device Portals
2416XUpdMgr.exeSYSTEMXbox-Update-Manager
2436PRProvisioningService.exeNETWORK SERVICEPlayReady-Provisionierungsdienst
2460XNetConfig.exeSYSTEMNetzwerkkonfiguration
2468toolsautoexec.exeSYSTEMFührt .xboxunattend-Skripte beim Start aus
2572sihost.exeDefaultAccountShell-Infrastruktur-Host, 60 MB Arbeitssatz
2836XboxDevService.exeSYSTEMXbox-Entwicklerdienst-Host, 37 MB
3160xrun.exeDefaultAccountShell-seitiger Koordinator für Spielstarts
3256MicrosoftXboxSecurityClip.exeSYSTEMHost zur Laufzeit-DRM-Überprüfung
3600XboxUI.exeDefaultAccountDashboard-Shell-Benutzeroberfläche, 60 MB Arbeitssatz
3844xrfssvc.exeSYSTEMXRFS-Dateisystemdienst zwischen Partitionen, 352 KB (inaktiv)
3864xrmntcl.exeSYSTEMXbox-Runtime-Mount-Client
3888xtfrtservice.exeSYSTEMXTF-Runtime-Dienst
4320Guide.exeDefaultAccountXbox Guide (Xbox.Guide_2602.0.2602.11003), IsRunning: true
4548eracontrol.exeSYSTEMLebenszyklus-Manager der ERA-Partition, 991 KB Arbeitssatz
4660WWAHost.exeDefaultAccountDev Home (Microsoft.Xbox.DevHome_1.0.2601.4001), IsRunning: true
6524CastSrv.exeDefaultAccountMiracast-Cast-Dienst
EbeneKomponenten
InhaltXCRDAPI.dll (XVD mount/unmount/Streaming)
IdentitätXblAuthConsoleExt.dll, XboxLiveTitleId.dll, pspsra.sys
DRMMicrosoftXboxSecurityClip.exe, XCRDAPI.dll
ERA-Steuerungeracontrol.exe (NtOpenPartition, XCRDAPI, XblaInitialize)
ERA-Proxyeraproxyapp.exe (ALPC, D3D11, DComp, privater Namespace)
Eingabe (lokal)xviokbd.sys, xviomou.sys, XAccessoriesGip.dll (Pendragon)
Eingabe (remote)xboxcloudstreaming.dll, xboxsynthetickm.dll
Eingabefokusxviomonc.sys (Impersonation)
NPFS?VMNP.SYS NPFS-Treiber (Named Pipe File System? Filtersystem?) wird auch für ERA-Impersonation verwendet
Host-OSxvmctrl.sys, XVIO.SYS, FLTMGR.sys (nicht im Dateisystem)
Partitionsübergreifendes Dateisystemxrfs.sys, xbtplinkc.sys, xrmntcl.exe, xrfssvc.exe
Anzeigeeraproxyapp.exe, xamapi.dll (Win32-Overrides), MPO-Stufe 3
GPUumd12ddi_arden.dll, newbe_xs.dll, xbsc_xs.dll, xg_xs.dll
AudioXVMAudioServer.dll, XAudio2_8/9.dll, Spatial-Audio-Konfiguration
Netzwerkxvnc.sys/xvncbus.sys (virtuelle NIC), NetXVmService
DiagnoseXBBlackbox.dll, xbdiagservice.exe, EtwUploader.exe, EtwPlus.dll (Etx-Pipeline)
UpdateXUpdMgr.exe, WU-Client (wuauengcore.dll), Deploy:\-Volume
ShellXbox.Shell.Api.dll, XboxUI.exe, Guide.exe, sihost.exe
Streamingxboxcloudstreaming.dll, XBCastRecv.dll (Miracast)
EntwicklertoolsWebManagement.exe (Device Portal), XTF-Stack (132 Dateien), WdApp.exe, unattendedsetuphelper.exe
Kompatibilitätxamapi.dll (Win32-Shim), dxbc2dxil_xs.dll (DX11->DX12)
Vision / Kinectnuiservice.exe (3.8MB, SYSTEM, ständig aktiver Orchestrator), KinectMediaSource.dll (Frame-Aufnahme, alignment.bin 10.7MB, alignment_color.bin 5.7MB), vvtechs.dll (NuiVisionCreateFactory, Körper-Track), speechwov.dll (Wake-Word-/Sprach-Track), Face-Random-Forest-Modelle (FaceDetector.bin, FaceRecognition.bin, ExpressionRandomForest.model, +8 weitere), 3 aktive Versionen (X:\ht\versions\)
WerbungAdsLauncher (System-App), Windows.Xbox.System.Internal.AdsContract (WinRT)
Legacy (deaktiviert)Zurich (TV-Tuner, mit XVIO verknüpft), PetraXC / KinectSensorControl (WDF 1.11, deaktiviert, bis ein Kinect-Gerät eintrifft, speist KinectMediaSource.dll über \\.\KinectSensorControl)
VertragVersionHinweise
Windows.Kinect.KinectContractv1Kinect wird wahrscheinlich für die Abwärtskompatibilität von Titeln unterstützt
Windows.Xbox.TestAutomationContractDie Testautomatisierungsoberfläche ist auf Retail-Hardware enthalten
Windows.Xbox.System.Internal.AdsContractDas Werbesystem ist ein interner WinRT-Vertrag
Windows.Xbox.System.Internal.CopyOnLan.CopyOnLanContractLAN-Spielkopie, lokaler Netzwerk-Titeltransfer?
Windows.System.Internal.XboxLive.Auth.AuthContractv2Interne Xbox-Live-Authentifizierungsoberfläche (getrennt von öffentlichen XBL-APIs)
AppData\Local\Packages\Nur sideloaded Dev-App-Konfigurationen vorhanden, Xbox-System-Apps verwenden keine standardmäßigen UWP-LocalPackages-Speicherpfade
KanalAPIZweck
Systemweiter BroadcastRtlPublishWnfStateDataVeröffentlicht Körper-/Gesichts-/Audiozustand an alle WNF-Abonnenten
Gesichtsbasierte AnmeldungLogonUserExExWLöst die automatische gesichtsbasierte Benutzeranmeldung aus
Named Pipe pro AppNamed-Pipe-Server + GetNamedPipeClientProcessIdProzessbezogene Ausgabe mit Zugriffskontrolle; überprüft die Identität des Aufrufers, bevor Daten geliefert werden
RPC pro AufruferRPC-Server + RpcServerInqCallAttributesWPro Aufrufer authentifizierter Zugriff auf Inferenzergebnisse
Persistente IdentitätState Repository (SRDictionaryToPropertySet)Speichert die erkannte Identität über Sitzungen hinweg
Capability-GateRtlCapabilityCheckJeder Zugriff auf die Inferenzausgabe ist durch eine NT-Capability-Prüfung abgesichert
KonsumentAnmerkungen
Xbox ShellAusdrucksabhängige UI-Adaption
Guide.exeAuslöser für automatische Anmeldung
XboxUI.exeAufmerksamkeits-/blickbewusste UI
SpieltitelÜber den WinRT-Vertrag NuiVision (Windows.Kinect.KinectContract v1, Retail)
xCloudxCloud-Streaming-Client empfängt NUI-Zustand