Site icon Games and Consoles

[PS5] PS5-FakeXen: Il progetto fallito che avrebbe dovuto far girare Linux sulla PlayStation 5

Linux

Ecco ps5-fakexen, quello che avrebbe dovuto essere la soluzione per eseguire Linux sotto l’hypervisor della PS5. Il codice è stato sviluppato partendo dall’ipotesi che GMET (Guest Mode Execution Trap) fosse attivo nell’hypervisor della console, limitando l’esecuzione alle sole pagine di codice kernel autentico.

Tuttavia, si è scoperto che questa protezione non era effettivamente presente nella PS5, rendendo questo approccio non necessario per far girare Linux sulla console. Di conseguenza, il codice viene ora rilasciato “as is” per motivi storici e, nel caso improbabile in cui Sony dovesse correggere questa vulnerabilità in firmware futuri (cosa che, a quanto ne so, potrebbero fare).

Come compilare Linux

Posiziona il tuo kernel Linux (in formato vmlinux, non bzImage) in:

linux/linux-6.12.8/vmlinux

Assicurati che sia abilitata l’opzione CONFIG_XEN_PV.

Esecuzione su QEMU

Per eseguire su QEMU, entra nella directory fakexen e lancia:

make qemu

L’emulazione sarà lenta, a meno che la tua CPU non abbia 16+ core.

Il file loader/frankenkernel.elf contiene un finto “kernel BSD” con tutti i gadget necessari a fakexen, quindi non è necessario avere accesso a kernel decrittati per testare il codice.

Esecuzione su hardware reale

  1. Esegui make nella directory principale per generare il payload payload.bin.
  2. Dopo aver caricato il payload, invia il file vmlinux via TCP sulla porta 9999.
    • È consigliato rimuovere i simboli di debug (strip) per ridurre le dimensioni (il Makefile in loader/ lo fa automaticamente).

Hardware necessario

Sarà necessario saldare ai testpad UART della scheda madre della PS5 (sul chip Titania). Non verranno fornite ulteriori istruzioni su come farlo in questo articolo.

Se tutto è stato configurato correttamente, dovresti vedere dei log (si spera utili) sull’UART.

GDB Stub integrato

È presente uno stub GDB per il debug del kernel Linux. Per attivarlo:

Il debugger verrà attivato anche in caso di crash all’interno di fakexen, ma in quel caso sarà possibile solo un’analisi post-mortem: tentare di riavviare fakexen potrebbe causare ulteriori problemi.

Limitazioni e avvertenze

🔗 Codice sorgenteGitHub – sleirsgoevy/ps4jb-payloads/ps5-fakexen

Usa con cautela. Non utilizzare in ambienti critici. Sei stato avvisato.

Condividi su :
Pubblicità
Exit mobile version