
Lo sviluppatore Hammer-83 ha rilasciato la versione 4.1.0 del PlayStation 5 Remote JAR Loader, un progetto innovativo che sfrutta le vulnerabilità scoperte nel layer BD-J del firmware della PS5, versione 7.61 e precedenti. Questo strumento permette di distribuire un loader in grado di eseguire file JAR, semplificando notevolmente il processo di esecuzione di codice sperimentale sulla console. Con questo progetto, è possibile masterizzare un disco BD-R con il loader una sola volta e continuare a eseguire nuove versioni del codice senza dover ripetere il processo di masterizzazione.
Funzionalità principali
Il PS5 Remote JAR Loader offre una soluzione flessibile per gli sviluppatori che desiderano testare ed eseguire codice personalizzato sulla PlayStation 5. Ecco le caratteristiche principali:
- Loader BD-R Disc:
Il progetto include tutti i file necessari per creare un filesystem su disco BD-R(E). Una volta masterizzato, il disco può essere eseguito dalla sezione “Media” della PS5. - Esecuzione remota di JAR:
Il loader è in grado di ascoltare e eseguire file JAR inviati tramite rete. Questo permette di aggiornare e testare il codice senza dover ri-masterizzare il disco. - Supporto per payload personalizzati:
Il repository include diversi payload pre-compilati, come exploit per l’accesso al kernel, dump del kernel e un server FTP limitato. Gli sviluppatori possono anche creare i propri payload seguendo le istruzioni fornite. - Configurazione flessibile:
È possibile modificare diverse proprietà, come la porta di ascolto del loader, la risoluzione dello schermo e l’indirizzo IP per il logging remoto.
Quickstart
Per iniziare a utilizzare il PS5 Remote JAR Loader, segui questi passaggi:
- Scarica il JAR Loader ISO:
Trova il file ISO nella sezione delle release del repository. - Masterizza il disco:
Utilizza un software come ImgBurn per masterizzare il file ISO su un disco BD-R(E), assicurandoti di utilizzare il filesystem UDF 2.50. - Esegui il loader sulla PS5:
Inserisci il disco nella PS5 e avvialo dalla sezione “Media”. - Invia un JAR al loader:
Puoi inviare un file JAR al loader utilizzando NetCat o eseguendo il comando:java -jar [jarfile].jar [ip] [host]
Prerequisiti
Per compilare e utilizzare il progetto, sono necessari i seguenti strumenti:
- JDK 11: La PS5 utilizza il runtime Java 11.
- Apache Maven: Per la gestione delle dipendenze e la compilazione del progetto.
- IntelliJ IDEA Community Edition (opzionale, ma consigliato): Per una migliore esperienza di sviluppo.
Struttura del progetto
Il progetto è organizzato in diversi moduli:
- assembly: Contiene i file per creare il filesystem del disco BD-R.
- bdj-tools: Utility per la gestione del layer BD-J.
- stubs: File stub specifici per la PS5.
- sdk: Classi helper per semplificare l’invocazione di codice nativo.
- xlet: Il codice dell’Xlet che viene eseguito all’avvio del disco.
- xploit: Payload pre-compilati, tra cui exploit per l’accesso al kernel e un server FTP.
Configurazione
È possibile personalizzare diverse proprietà nel file xlet/pom.xml, tra cui:
- loader.port: La porta su cui il loader ascolta i dati.
- loader.resolution.width e loader.resolution.height: La risoluzione dello schermo.
- loader.logger.host: L’indirizzo IP per il logging remoto.
Per modificare queste proprietà, puoi agire direttamente sul file POM o passare i nuovi valori da riga di comando:
mvn clean package -Dloader.port=9025 -Dloader.logger.host=192.168.1.100
Utilizzo avanzato
Per creare un payload personalizzato:
- Copia una delle cartelle di esempio nella directory xploit.
- Modifica il file pom.xml del nuovo payload, impostando l’artifactId e il groupId.
- Crea una classe che implementa l’interfaccia Runnable nel package org.ps5jb.client.payloads.
- Compila il progetto con il comando:
mvn clean package
- Invia il JAR alla PS5 utilizzando il comando:
java -jar xploit/[payload]/target/[payload]-[version].jar <ps5 ip address>
Note importanti
- Versioni: Il progetto utilizza due numeri di versione separati. La versione dell’Xlet viene incrementata solo quando è necessario masterizzare un nuovo disco, mentre la versione dei payload può essere aggiornata senza ri-masterizzare il disco.
- Testing locale: Se il payload non ha dipendenze specifiche per la PS5, può essere testato localmente utilizzando JDK 11.
Crediti
Il progetto è stato reso possibile grazie al lavoro di numerosi ricercatori e sviluppatori, tra cui:
- Andy “theflow” Nguyen per la scoperta delle vulnerabilità BD-J.
- Specter e Flat_z per gli exploit di accesso al kernel.
- Cheburek3000 per un’implementazione alternativa di UMTX.
- iakdev per il contributo al menu loader.
- CryoNumb per il supporto durante i test.
Conclusioni
Il PlayStation 5 Remote JAR Loader di Hammer-83 rappresenta un passo avanti significativo per la comunità di sviluppo sulla PS5. Grazie alla sua flessibilità e alla possibilità di eseguire codice personalizzato in modo remoto, questo strumento apre nuove porte per la sperimentazione e l’innovazione sulla console di Sony.
Per ulteriori dettagli, visita il repository ufficiale del progetto.