Pubblicato un nuovo aggiornamento per PS5 Payload SDK, il software developer kit 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.
Il file ELF di esempio incluso nell’SDK stampa sullo schermo la scritta “Hello World”. Questo file è stato fornito come esempio per illustrare il funzionamento dell’SDK e dimostrare come eseguire un payload di base sulla console PlayStation 5.
Questo nuovo aggiornamento introduce diverse novità. Nella toolchain, è stata implementata una correzione per evitare l’aggiunta di argomenti lib
quando si esegue solo il preprocessore o si generano dipendenze, insieme all’aggiunta di più symlink
per semplificare la cross-compilazione con il prefisso CROSS
.
Inoltre, su Windows, i binari elf_x86_64
ora vengono collegati esplicitamente, mentre sono stati aggiunti file di supporto per il sistema di build Meson.
Per quanto riguarda la libreria libc
, è stato corretto un bug critico nelle funzioni gethostbyaddr
e gethostbyname
, mentre sono state aggiunte nuove funzioni come gethostbyname_r
, setlinebuf
, setbuffer
, posix_madvise
, memccpy
, timegm
, __flt_rounds
e nl_langinfo
.
Infine, tra i campioni di codice, è stato introdotto il comando ps
per visualizzare l’uso della memoria dei processi, insieme al commit iniziale di notify
e hello_meson
.
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
Toolchain:
- Clang: Non aggiungere argomenti
lib
quando si esegue solo il preprocessore o si generano dipendenze. - Aggiunti più
symlink
per semplificare la cross-compilazione con il prefissoCROSS
. - Windows: Collega esplicitamente i binari
elf_x86_64
. - Aggiunti file di supporto per il sistema di build Meson.
Libc:
- Correzione di un bug critico in
gethostbyaddr
egethostbyname
. - Aggiunte le funzioni
gethostbyname_r
,setlinebuf
,setbuffer
,posix_madvise
,memccpy
,timegm
,__flt_rounds
enl_langinfo
.
Samples:
- Ps: Stampa l’uso della memoria dei processi.
- Notify: Commit iniziale.
- Hello_meson: Commit iniziale.
Download: PS5 Payload SDK v0.18
Download: Source code PS5 Payload SDK v0.18
Fonte: github.com