
Ricerca personale sull'architettura di Xbox Series
| Campo | Valore |
|---|---|
| Data | 9-12 marzo 2026 + 7-? luglio 2026 |
| Hardware | Xbox Series S (Nome in codice: Lockhart) |
| Build del sistema operativo | 26100.7010.amd64fre.xb_flt_2602ge.260212-1010 + 26100.8561.amd64fre.xb_flt_2606ge.260609-2200 |
| Metodo di accesso | Dev Mode + SSH + REST API + NTFS file share junction |
Questo report è un'analisi statica e dinamica dell'architettura interna di Xbox Series S, condotta interamente tramite l'infrastruttura ufficiale per sviluppatori di Microsoft. Non sono stati usati exploit né violazioni delle policy; tutto l'accesso è avvenuto nei limiti del programma per singoli sviluppatori.
Questo documento contiene dettagli che vanno dai componenti di più alto livello usati per il gameplay fino ai componenti driver di sistema di più basso livello. Si prevede che la maggior parte di questi dettagli sia la stessa anche per Xbox One.
L'IA è stata usata per formattare coerentemente la grande ricerca iniziale (oltre 200 output di analisi e oltre 50 note casuali) in questo documento molto rapidamente. Tutte le modifiche future sono fatte a mano.
Se pensi che un punto di questo documento non sia chiaro, poco documentato o falso, sentiti libero di scrivermi, oppure se hai risposte alle mie domande (nella Sezione 12) sarebbe gradito. GUID e altri pattern comuni vengono oscurati da un hook pre-commit, per sicurezza, nel caso lasci qualcosa che identifichi il mio account.
Molto di ciò su cui sto lavorando sono ipotesi, quindi potrebbe essere impreciso, e cambierà man mano che ottengo più informazioni ed esamino più binari.
Per ragioni che puoi immaginare, non condividerò in nessun caso binari diretti, output di disassemblaggio o qualsiasi cosa considerata proprietà intellettuale di Microsoft o delle sue consociate.
ERA = Partizione GameOS
SRA = Partizione SystemOS
HT = Kinect (possibilmente "Human Tracking"?)
Arden = Stack GPU Xbox Series X/S
NewBe = Compilatore shader Arden
La gestione dei driver da parte dell'Host OS esiste al di fuori del noto modello SRA/ERA, vedi modello di fiducia (Sezioni 4.2, 17.5). XVIO.SYS e XSraFlt.sys vengono caricati direttamente dall'hypervisor (tramite HostOS) prima che Windows si inizializzi e sono assenti da tutti i volumi accessibili. Non possono essere manomessi nemmeno con accesso completo al kernel, che costituisce il confine di sicurezza primario.
HVCI è deliberatamente disabilitato (Sezione 18). IsSecureKernelRunning = 0x0 conferma che il Secure Kernel (VTL1) non è in esecuzione. L'integrità del codice è solo al momento del caricamento, lasciando una finestra TOCTOU una volta che i binari sono mappati. Questo è un compromesso prestazionale deliberato; il confine di sicurezza è la partizione dell'hypervisor, non la protezione della memoria all'interno della partizione.
La junction NTFS espone l'intero filesystem SystemOS sulla rete (Sezione 1.2). Un singolo comando mklink /J dalla shell SSH mappa C:\ o qualsiasi altra cosa nella condivisione file di Device Portal, rendendo ogni binario di sistema leggibile da remoto senza alcuna autenticazione aggiuntiva oltre al PIN della dev mode.
L'architettura cross-partizione è quasi completamente mappata (Sezioni 4, 14, 26-28). La partizione di gioco ERA comunica con SystemOS esclusivamente attraverso canali mediati dall'hypervisor: ring buffer XVIO per I/O, traduzione GPA per memoria condivisa, HvSocket per IPC e sezioni di porta ALPC per la consegna del framebuffer zero-copy concessa da un "Host OS" padre.
La junction Deploy:\ bypassa le restrizioni di accesso locale (Sezione 25). Il volume di Windows Update è accessibile solo tramite condivisione di rete (S:\Deployment\SoftwareDistribution\) a causa di qualche discrepanza da qualche parte (forse xrfssvc.exe?).
La maggior parte dei binari ha solo stringhe di descrizione; non lo sapevo fino ad oggi perché non stavo usando Windows per nient'altro che per la connessione effettiva alla console. Spesso è noioso (es. XVUH, XVMCTRL) ma altre volte è molto descrittivo (es. Durango Virtual XVNC Bus Driver, Xbox Remote File System Service).
Tutti i test sono stati eseguiti su una singola unità Xbox Series S commerciale in developer mode. I risultati riflettono molte build, tuttavia alla fine farò un diff delle build e lo documenterò. I risultati possono variare tra revisioni hardware (Series X, Xbox One) e versioni firmware. Diverse superfici a livello di kernel non erano raggiungibili: i dump del kernel live sono bloccati dalla restrizione NoKernelDumps, e la superficie IOCTL di xvmctrl.sys non è stata completamente enumerata. Le domande aperte sono tracciate nella Sezione 12.
| Strumento | Scopo |
|---|---|
| Windows Explorer | Condivisione di rete Xbox (Istruzioni su https://XBOX:11443/#File%20explorer > Esplora) |
SSH (DevToolsUser + PIN VS) | Accesso shell a SystemOS |
mklink /J | Creazione di junction NTFS per esporre i drive tramite condivisione di rete |
Device Portal (https://XBOX:11443) | REST API, browser file, elenco processi, dump live |
dumpbin /IMPORTS, dumpbin /EXPORTS | Analisi statica dei binari PE tramite condivisione di rete |
| Python | Script per automatizzare la REST API |
| Phasor | Runtime di scripting da usare sulla console (copiato tramite condivisione di rete, eseguito via SSH) download qui |
reg query | Enumerazione del registro dalla shell SSH |
WdApp.exe | Gestore pacchetti e controllo del ciclo di vita ERA (enumerazione della superficie dei comandi) |
WdConfig.exe | Enumerazione delle API delle impostazioni della console |
| Analisi tracce ETL | Pipeline di Windows Update tramite junction S:\Deployment\SoftwareDistribution\ |
| Dump di processi live | GET /api/debug/dump/usermode/live?pid=<pid> |
| Ghidra | Analisi di interfacce COM / driver |
| IDA Pro | Grafi di chiamate di DLL complesse e interfacce COM |
| XboxTools | La mia personale raccolta di utility per varie cose |
L'accesso è stato stabilito tramite l'interfaccia SSH non documentata (ufficialmente, ma esiste documentazione comunitaria) della Dev Mode. La tecnica della junction NTFS (Sezione 1.2) ha esteso l'accesso in lettura dallo spazio scratch D:\DevelopmentFiles all'intero volume di sistema C:\ e a tutti gli altri volumi con lettera. Tutta l'analisi è stata in sola lettura; nessuna impostazione di sistema è stata modificata (WdConfig.exe set non è stato usato). Xbox può eseguire direttamente binari console Windows x86_64 standard (compilati con /MT) tramite la shell SSH, cosa che è stata usata per eseguire strumenti di analisi localmente.
I dump del kernel non erano disponibili: la restrizione NoKernelDumps di Device Portal li blocca nella dev mode commerciale. I dump di processi utente live erano disponibili e sono stati usati dove rilevante.
La Dev Mode di Xbox supporta Visual Studio, che usa SSH: