Rilasciato un nuovo metodo per decrittografare e scaricare i giochi della console Xbox One. Questo almeno è quanto descritto su xboxoneresearch.github.io.
Dopo un lungo periodo, il modder baw è riuscito a dumpare correttamente un gioco Xbox da una console di vendita al dettaglio, con l’intento di modificare Halo.
After a fairly long while, I've been able to dump any Xbox titles from a retail console. All started because I wanted to dump and mod Halo. An achievement I wanted to share. Thanks to the wonderful guys who helped me out.
Happy Saturday!
[Xbox One – Version: 10.0.22621.3446] pic.twitter.com/TeiMwDH0f8
— baw (@onebawbag) May 11, 2024
Dopo aver ottenuto l’esecuzione del codice su Xbox (System OS: 10.0.22621.3446) utilizzando la vulnerabilità CVE-2023-21768 per una primitiva di lettura-scrittura del kernel, si è verificato un breve periodo di fallimento nei tentativi di estrarre i dati dei giochi retail nella System VM.
Con poche alternative disponibili e senza voler proseguire con un exploit dell’Host OS, è stato scoperto un errore nel Game OS (ERA), che ha permesso di superare il problema.
Quando si carica un gioco su Xbox, il System OS raccoglie i dati rilevanti per il lancio del titolo, come il percorso verso l’XVC sull’HDD/SSD e fornisce quale ‘temp’ XVD è stato allocato per il titolo in avvio.
Questi dati vengono inviati all’Host OS durante l’avvio della Game OS VM. Quando il Game OS inizia a caricarsi, un servizio noto come comsrvhost.exe
inizializza il montaggio del gioco e altre configurazioni aggiuntive utilizzando i dati forniti da SRA e convalidati dall’Host.
L’elemento di interesse principale arriva durante la gestione del montaggio del ‘temp’ XVD: il bug di comsrv. Se si chiama XCrdMount
invece di XCrdMountContentType
, non viene limitato il tipo di contenuto dell’XVD di destinazione.
XCrdMountContentType
, come implica il nome, monta basandosi su XvdContentType
e garantisce che corrisponda con il contenuto dell’XVD di destinazione.
Questo significa che se si sostituisce il tempXX XVD sulla partizione temporanea del disco rigido con un gioco e si carica la licenza associata, questo si monterà.
Molti giochi utilizzano LUA per la scripting del gameplay. I dati di salvataggio del gioco consentono all’utente di decomprimere e modificare direttamente gli script, permettendo una piccola esecuzione del codice, è necessario l’accesso a ConnectedStorage
, che è già accessibile come menzionato all’inizio.
Ogni volta che si carica un gioco su Xbox, così come le app escluse le app di sistema, la console verifica la presenza di una licenza valida situata in S:\clip*.xml
.
Queste licenze, principalmente digitali, vengono scaricate dopo l’uscita del gioco. Questo significa che è necessario un metodo per caricare forzatamente la licenza.
Il servizio responsabile è noto come MicrosoftXboxSecurityClip
, situato in System32 nel System OS, è abbastanza semplice da invertire e mappare le chiamate, grazie ad AppServices
.
L’articolo completo può essere trovato allindirizzo: https://xboxoneresearch.github.io/games/2024/05/15/xbox-dump-games.html
Fonte: twitter.com