Pubblicato un nuovo aggiornamento per PS5 Payload SDK, il toolkit sviluppato dal developer John Törnblom viene utilizzato per creare payload ELF destinati alle console PlayStation 5.
PS5 Payload SDK include diversi artefatti provenienti dal progetto PS5SDK, fornendo agli sviluppatori strumenti aggiornati per creare e testare payload su console PS5 sfruttate.
L’SDK offre un ambiente di sviluppo ottimizzato per la creazione di applicazioni e funzionalità personalizzate per le console PlayStation 5, consentendo agli sviluppatori di sfruttare appieno le potenzialità della piattaforma.
Questo nuovo aggiornamento introduce significativi miglioramenti e ristrutturazioni al dynamic loader (rtld), ottimizzando il caricamento delle librerie condivise.
Inoltre, sono state applicate patch alle autorizzazioni per le syscall dirette nel modulo crt, mentre la libreria standard C (libc) ha ricevuto nuove funzioni, tra cui backtrace()
, getprotobyname()
, fts_open()
e le relative funzionalità, oltre a una maggiore indipendenza dal modulo crt.
Requisiti
Sui sistemi operativi Debian, è possibile eseguire il seguente comando per installare le dipendenze utilizzate dall’SDK: john@localhost:ps5-payload-sdk$ sudo apt-get install bash socat cmake pkg-config clang-15 lld-15
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
- rtld: Grande ristrutturazione e miglioramenti al loader delle librerie condivise (SO loader).
- crt: Applicata una patch ai permessi delle syscall dirette.
- libc: Aggiunta la funzione
backtrace()
e le relative funzionalità. - libc: Aggiunta la funzione
getprotobyname()
. - libc: Aggiunta la funzione
fts_open()
e le relative funzionalità. - libc: Separazione dal modulo crt per una maggiore indipendenza.
Download: PS5 Payload SDK v0.25
Download: Source code PS5 Payload SDK v0.25
Fonte: github