Il developer Kameleon ha realizzato un porting di PS4-CleanELF per la console PlayStation 5. Questa utility consente la creazione di file ELF, supporta il linguaggio di programmazione C++ e include importazioni e classi.
L’utility non è vincolata a una specifica versione di sistema e dovrebbe funzionare su tutti i firmware sensibili e compresi tra la versione 3.00 e la versione 4.51.
Tra le sue caratteristiche si includono un compilatore C++, funzioni di deviazione (con un esempio di come creare uno stub), classi e funzioni vettoriali, importazioni (Libc, Rete, Discussioni, Notifica) e la stampa presaf.
Per utilizzarla, è necessario assicurarsi di avere installato cc1plus (con il comando: sudo apt-get install g++
), quindi recarsi nella directory con il Makefile sulla Shell di Linux e digitare make
.
Il file project.elf
generato rappresenta infine l’eseguibile da caricare con jkpatch o con un’API a scelta.
Tra i problemi noti, si segnala che, poiché non si fa uso di stdlib (-fnostdlib
), possono sorgere limitazioni come l’impossibilità di avere variabili globali con costruttori.
Ad esempio, nel caso di una classe vettoriale, creare una variabile globale come vec3_t
o vec2_t
potrebbe non funzionare correttamente poiché il costruttore della variabile non viene chiamato.
Kameleon invita chiunque abbia soluzioni a questo problema senza l’uso degli standard g++ a comunicarle.
Download: Source code PS5-CleanELF
Fonte: twitter.com