Il developer matem6 aggiorna il README di UltraC0re, ampliando e riorganizzando la documentazione del progetto con una descrizione più chiara e strutturata dell’intera catena di ricerca legata all’exploit per Jak X: Combat Racing su PS2-on-PS5.

UltraC0re si presenta come un research entry point per le versioni PS2 Classic del gioco su PlayStation 5, distribuite nei pacchetti CUSA07842 (US) e CUSA07992 (EU), basato sul seriale PS2 SCUS-97429.
Il progetto si inserisce nel contesto delle ricerche già note come mast1c0re e Luac0re, da cui eredita l’approccio di sfruttamento dell’emulatore PS2 integrato nella console.
Alla base del lavoro c’è il framework Lua originale di gezine, profondamente esteso e adattato per costruire una catena di esecuzione che parte da un semplice salvataggio modificato e arriva fino al controllo di codice nativo all’interno dell’ambiente PS5.
Architettura dell’exploit
La catena viene descritta come un percorso a più stadi, che combina vulnerabilità nel gioco e nel layer di emulazione:
Save exploit (fase PS2 guest)
Tutto inizia da una vulnerabilità nel sistema di salvataggi PS2, memorizzati in una VMC (virtual memory card). Il campo del nome profilo è affetto da overflow e consente la corruzione di un puntatore adiacente, portando al controllo del program counter nel contesto emulato.
Questo permette l’esecuzione di codice MIPS (r5900) direttamente nel guest PS2, costituendo la prima fase della catena.
Escape dall’emulatore PS2
La seconda fase si concentra sull’emulatore PS2 stesso. Sfruttando i registri dell’adattatore di rete emulato (SMAP/DEV9, comandi SCMD/NCMD), viene generata una condizione di out-of-bounds che porta alla corruzione di strutture interne dell’emulatore.
Questo consente il dirottamento del flusso di esecuzione nel processo eboot.bin, ottenendo controllo nativo in ambiente x86-64.
Primitive native e Lua runtime
Una volta ottenuto il controllo dell’eboot, vengono sbloccate primitive avanzate:
- Lettura e scrittura arbitraria della memoria.
- Bypass dell’ASLR su diversi componenti.
- Syscall dirette.
- Esecuzione tramite API JIT.
Il controllo viene quindi trasferito al runtime Lua integrato, che diventa il livello principale di esecuzione del framework UltraC0re.
Escalation al processo JIT (0x40)
Poiché l’eboot è limitato nelle operazioni di rete, l’exploit si sposta verso il processo più privilegiato del compilatore PS2 JIT (ps2-emu-compiler, livello 0x40), che dispone di capacità di networking.
Attraverso il canale condiviso ps2_bridge_comm_rw e il comando 0x215, viene sfruttata una scrittura out-of-bounds nella heap del compilatore, permettendo la costruzione di una vtable falsa e la manipolazione di oggetti interni. Questo porta all’esecuzione di codice nativo nel processo 0x40.
Controllo del processo privilegiato e socket creation
Il controllo del compilatore JIT viene stabilizzato tramite una catena ROP persistente, mentre il runtime Lua interagisce con il bridge in modalità produttore/consumatore.
Questo consente di ottenere una primitiva di esecuzione remota all’interno del processo privilegiato e di creare socket di rete con i suoi permessi, trasferendoli poi all’eboot tramite SCM_RIGHTS.
Il risultato finale è la possibilità di eseguire payload remoti direttamente sulla console tramite un loader Lua in ascolto.
Parte A e Parte B
Il README chiarisce la distinzione fondamentale tra le due componenti della catena:
- Parte A (Jak X specifica): Exploit del salvataggio, legato esclusivamente al gioco.
- Parte B (emulatore PS2): Exploit generico, riutilizzabile su altri PS2 Classic.
La seconda parte è la più rilevante dal punto di vista della ricerca, perché non dipende dal titolo specifico ma dall’implementazione dell’emulatore incluso nei pacchetti PS2 Classic.
Compatibilità e portabilità
Viene introdotto uno strumento di analisi (check_portable.py) che permette di verificare la presenza delle condizioni necessarie nel processo del compilatore JIT:
- Comando OOB
0x215. - Target virtuale
method70. - Gadget ROP compatibili.
In base ai risultati, un titolo può essere classificato come completamente portabile o parzialmente compatibile.
Payload e test kernel
Il framework include anche un livello sperimentale di esecuzione payload PS5 basato su Luac0re. Il file jitcompat.lua permette la compatibilità con payload esistenti senza modifiche strutturali.
Il payload poops è attualmente il principale test utilizzato e, in alcuni casi, ha raggiunto una catena completa fino al jailbreak kernel e all’avvio di un loader ELF sulla porta 9021. Tuttavia il risultato non è garantito e dipende da condizioni firmware-specifiche.
Versione europea
Il progetto ora espande la compatibilità includendo anche la versione europea del gioco:
- CUSA07842 — release US
- CUSA07992 — release EU
- SCUS-97429 — base PS2 comune
Entrambe le versioni condividono la stessa struttura di exploit e permettono l’esecuzione del medesimo save modificato con adattamenti minimi.
Contenuto di questa release
- SCUS-97429 — Salvataggio modificato di Jak X: Combat Racing (versione NTSC, SCUS-97429) con framework UltraC0re integrato, compatibile sia con la versione US (CUSA07842) che con la versione EU (CUSA07992).
- poops.lua — Payload di exploit kernel per PS5, da inviare tramite il loader remoto.
Requisiti
- Jak X: Combat Racing (CUSA07842 / CUSA07992) installato su PS5.
- Uno strumento per rifirmare i salvataggi PS5 per il proprio account (ad esempio Garlic Save Manager).
Esecuzione
Il processo di esecuzione rimane invariato:
- Scaricare il salvataggio modificato e rifirmare il save per il proprio account PSN, quindi importarlo sulla console. Per la procedura di firma del salvataggio, seguire la guida disponibile qui: SETUP.md – Guida al resign dei salvataggi.
- Avviare Jak X: Combat Racing, caricare il salvataggio e accedere alla modalità Adventure.
- Quando inizia la sequenza introduttiva, premere
per saltarla e raggiungere più rapidamente il punto di attivazione. A quel punto l’exploit viene eseguito e compare la finestra del loader remoto, in ascolto sulla porta 8888.
Changelog
- Aggiunto il supporto alla versione europea del gioco (CUSA07992).
Download: CUSA07842.zip
Download: CUSA07992.zip
Download: poops.lua
Download: Source code UltraC0re v1.0.2
Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale. Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.🔥 Prodotti in promozione e articoli più venduti: PS5
Vedi altri prodotti PS5
Ultimo aggiornamento 2026-07-15 / Link di affiliazione / Immagini da Amazon Product Advertising API
![[Scena DS] GimliDS si aggiorna alla versione 1.7: Migliorati salvataggi su SD, memoria, compatibilità Turrican e gestione EasyFlash](https://www.biteyourconsole.net/wp-content/uploads/GimliDS1900-238x178.webp)


![[Scena DS] GimliDS si aggiorna alla versione 1.7: Migliorati salvataggi su SD, memoria, compatibilità Turrican e gestione EasyFlash](https://www.biteyourconsole.net/wp-content/uploads/GimliDS1900-100x75.webp)

