Pubblicato un nuovo e significativo aggiornamento per PS5 Payload SDK, il toolkit sviluppato dal developer John Törnblom utilizzato per creare payload ELF per le console PlayStation 5.
Questo SDK integra diversi componenti derivati dal progetto PS5SDK, fornendo strumenti avanzati per sviluppatori che lavorano su exploit per la console.
Il kit di sviluppo consente la realizzazione di applicazioni e funzionalità personalizzate, permettendo di sfruttare appieno le capacità della piattaforma PlayStation 5.
L’aggiornamento introduce importanti novità a livello di compatibilità e ottimizzazione. Sono stati aggiunti gli offset per i firmware 8.xx, 9.xx e 10.0x, insieme all’indirizzo assoluto per la struttura bus_data_devices
, così come definita nel codice sorgente di FreeBSD.
Sul fronte della gestione dei segnali critici, è stato rimosso il tracciamento automatico dello stack in caso di errori fatali, una modifica pensata per evitare conflitti con il debugger gdbsrv
.
In ambito librerie, l’aggiornamento integra l’implementazione dei thread C11 proveniente da FreeBSD 11.4, migliorando la compatibilità e l’affidabilità delle applicazioni multithread.
Infine, sono state apportate modifiche al linker: la dimensione dei payload con una sezione .bss
estesa è stata ridotta, e le sezioni .text
e .rodata
sono ora scrivibili, eliminando la necessità di utilizzare mdbg
per l’avvio dinamico dei programmi.
Building
john@localhost:ps5-payload-sdk$ make
Installazione
john@localhost:ps5-payload-sdk$ make DESTDIR=/opt/ps5-payload-sdk install
Utilizzo
john@localhost:ps5-payload-sdk$ export PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk john@localhost:ps5-payload-sdk$ make -C samples/hello_world john@localhost:ps5-payload-sdk$ export PS5_HOST=ps5; export PS5_PORT=9021 john@localhost:ps5-payload-sdk$ make -C samples/hello_world test
Aggiunta di nuove librerie SCE
Se si hanno file sprx decifrati con cui si desidera interagire, è possibile creare degli stub per essi nel seguente modo:
john@localhost:ps5-payload-sdk$ sudo apt-get install wget python3 python3-pyelftools john@localhost:ps5-payload-sdk$ cp /path/to/sprx/libSceXYZ.sprx sce_stubs/ john@localhost:ps5-payload-sdk$ make -C sce_stubs stubs john@localhost:ps5-payload-sdk$ make DESTDIR=/opt/ps5-payload-sdk install
Segnalazione di bug
Se si incontrano problemi con ps5-payload-sdk, è consigliabile aprire una segnalazione su GitHub. Nel caso si preveda di inviare richieste di pull che interessano più di poche righe di codice, è preferibile aprire una segnalazione prima di iniziare a lavorare sulle modifiche.
Questo permetterà di discutere adeguatamente della soluzione prima di impegnare tempo ed energie.
Changelog
- kernel: Aggiunti gli offset per i firmware 8.xx, 9.xx e 10.0x.
- kernel: Aggiunto l’indirizzo assoluto per la struttura
bus_data_devices
(definita infreebsd-src/sys/kern/subr_bus.c
). - crt: Rimosso il tracciamento automatico dello stack in caso di segnali fatali, poiché interferiva con
gdbsrv
. - libc: Aggiunta l’implementazione dei thread C11 da FreeBSD 11.4.
- linker: Ridotte le dimensioni dei payload con una sezione
.bss
di grandi dimensioni. - linker: Rese scrivibili le sezioni
.text
e.rodata
così chertld
non necessiti dimdbg
.
Download: PS5 Payload SDK v0.31
Download: Source code PS5 Payload SDK v0.31
Fonte: github