Home Homebrew Remote Lua Loader PS4 e PS5: arriva il porting di P2JB con...

Remote Lua Loader PS4 e PS5: arriva il porting di P2JB con Script Lua, Save Mounter e supporto PS5 Pro 10.40

333
0

Il developer callmemaj0r ha rilasciato pubblicamente il porting di P2JB per Remote Lua Loader, annunciando ufficialmente l’arrivo di una delle novità più interessanti degli ultimi tempi per la scena homebrew PlayStation.

Nel messaggio condiviso online, lo sviluppatore ha voluto ringraziare pubblicamente gezine e tutti coloro che hanno contribuito alla ricerca e allo sviluppo del progetto P2JB, sottolineando che il risultato raggiunto non sarebbe stato possibile senza il loro lavoro.

Remote Lua Loader è uno dei progetti più interessanti emersi recentemente nella scena homebrew PlayStation, soprattutto perché introduce un metodo estremamente flessibile per eseguire script Lua arbitrari su PS4 e PS5 senza dipendere direttamente dalla versione del firmware installato sulla console.

Il tool sfrutta una vulnerabilità presente nell’engine Artemis, un motore utilizzato da numerosi giochi giapponesi e visual novel pubblicati su PS4 e compatibili anche con PS5.

Il funzionamento del loader ruota attorno alla possibilità di far caricare al gioco file Lua modificati direttamente dai salvataggi.

In pratica, il titolo legge gli script presenti nel save data e li esegue all’avvio, consentendo così di iniettare codice personalizzato senza la necessità di exploit kernel tradizionali o firmware specifici.

Questo approccio rende il progetto particolarmente interessante anche su console molto aggiornate, tanto che i test effettuati confermano il funzionamento persino su PS5 Pro con firmware 10.40.

Uno degli aspetti più potenti del progetto è la possibilità di eseguire payload remoti tramite rete grazie allo script send_lua.py. Attraverso questa funzione è possibile inviare codice Lua direttamente alla console e avviare numerose funzionalità avanzate.

Tra gli esempi già disponibili troviamo server FTP, popup di notifica personalizzati, ELF loader e vari strumenti sperimentali che trasformano il loader in una vera piattaforma di sviluppo homebrew basata su Lua.

La compatibilità iniziale include già numerosi giochi costruiti sull’engine Artemis. Tra i titoli supportati figurano:

  1. Raspberry Cube (CUSA16074)
  2. Aibeya (CUSA17068)
  3. Hamidashi Creative (CUSA27389)
  4. Hamidashi Creative Demo (CUSA27390) – Richiede il firmware più recente per effettuare il download dal PSN
  5. Aikagi Kimi to Issho ni Pack (CUSA16229)
  6. Aikagi 2 (CUSA19556)
  7. IxSHE Tell (CUSA17112)
  8. IxSHE Tell Demo (CUSA17126)
  9. Nora Princess and Stray Cat Heart HD (CUSA13303)
  10. Jinki Resurrection (CUSA25179)
  11. Jinki Resurrection Demo (CUSA25180) – Richiede il firmware più recente per effettuare il download dal PSN
  12. Fuyu Kiss (CUSA29745)
  13. Fuyu Kiss Demo (CUSA29746)
  14. Nora Princess and Crying Cat 2 (CUSA13586)
  15. Haruoto Alice Gram Snow Drop (CUSA14324)
  16. Tonari ni Kanojo no Iru Shiawase Winter Guest (CUSA11977)
  17. Mikagami Sumika no Seifuku Katsudou (CUSA11481)
  18. Aerial Life (CUSA17122)

Dal punto di vista pratico, Remote Lua Loader apre possibilità molto ampie sia per il modding che per la ricerca tecnica. Gli utenti possono utilizzare script Lua per creare traduzioni fan-made, modifiche grafiche, sistemi simili a cheat engine, strumenti di debug e perfino piccoli homebrew dedicati.

Per la scena PS5 il progetto rappresenta anche un ambiente di sperimentazione importante, perché consente di lavorare su console moderne senza dover attendere necessariamente exploit kernel completi per firmware recenti.

Anche la procedura di installazione è stata documentata nel dettaglio dagli sviluppatori. Su una PS4 jailbroken con versione disco del gioco, il primo passo consiste nell’avviare il titolo e giocare abbastanza da creare un salvataggio.

Successivamente bisogna utilizzare Apollo Save Tool per esportare il save decriptato su chiavetta USB tramite l’opzione “Copy save game to USB”. All’interno della cartella PS4/APOLLO/id_{CUSA}_savedata vanno eliminati tutti i file tranne la directory sce_sys, sostituendoli con quelli forniti dal loader.

Dopo aver copiato i nuovi file, il salvataggio modificato deve essere reimportato sulla console con “Copy save game to HDD”. Avviando il gioco dovrebbe comparire il popup del Lua Loader, segnale che l’exploit è stato caricato correttamente.

A quel punto è possibile utilizzare send_lua.py per inviare gli script Lua alla console tramite rete. Nel caso di PS5 jailbroken con account non attivato, è possibile sfruttare OffAct per effettuare un’attivazione offline dell’account e trasferire i salvataggi tramite FTP utilizzando un account ID compatibile.

L’utilizzo su PS5, PS5 Slim e PS5 Pro richiede invece una preparazione leggermente più articolata. È necessario avere una console PS5 con account PSN già attivato almeno una volta in passato, anche offline, oltre a una PS4 jailbroken con firmware uguale o inferiore rispetto a quello supportato dalla PS5 target.

La procedura inizia recuperando l’Account ID PSN dalla console PlayStation e convertendolo in formato esadecimale. Sulla PS4 modificata bisogna creare un nuovo utente locale, evitare il login PSN e usare Apollo Save Tool per effettuare una fake activation dell’account tramite l’ID convertito.

Dopo aver eseguito il gioco e creato il salvataggio, il save viene esportato sulla USB, modificato sostituendo i file necessari del loader e poi reimportato nella memoria della PS4. Successivamente il salvataggio cifrato deve essere copiato ufficialmente tramite il menu impostazioni della console su USB.

Una volta completata questa fase, il trasferimento sulla PS5 è relativamente semplice. Basta collegare la stessa unità USB alla console, accedere con l’utente PSN attivato e utilizzare il menu “Saved Data (PS4)” per importare il save modificato.

Avviando il gioco comparirà il popup del Lua Loader, confermando che il codice Lua è stato caricato con successo. Da quel momento gli script potranno essere inviati tramite send_lua.py esattamente come avviene su PS4.

Gli sviluppatori hanno inoltre documentato anche il metodo di aggiornamento dei salvataggi già esistenti, fondamentale per chi desidera sostituire payload o aggiornare i file Lua senza dover ripetere l’intera procedura da zero.

Attualmente sono disponibili tre approcci differenti: utilizzare Playstation-5-Save-Mounter sviluppato da n0llptr, considerato il metodo più semplice e consigliato, ricreare manualmente il save seguendo nuovamente la guida descritta sopra oppure ripristinare un backup aggiornato contenente file più recenti.

La soluzione più pratica è quella basata su Save Mounter. Dopo aver effettuato il jailbreak della console ed eseguito l’exploit tramite uno dei giochi Artemis compatibili, è necessario chiudere completamente il gioco prima di procedere.

Una volta tornati alla dashboard della console senza applicazioni aperte, bisogna caricare il payload ps5debug, preferibilmente in versione 1.0b5 o superiore, utilizzando un payload sender oppure integrandolo direttamente nella catena exploit.

A questo punto si avvia il Save Mounter inserendo l’indirizzo IP della console. Se la connessione avviene correttamente verrà mostrato lo stato “Connected”. Premendo il pulsante Patch il tool applicherà la patch a Shellcore, mentre con Setup verrà inizializzato il sistema di montaggio dei salvataggi.

Dopo aver selezionato l’utente desiderato dal menu a tendina, il programma consentirà di recuperare la lista giochi installati tramite “Get Games” e successivamente cercare i save disponibili con “Search”. Una volta individuata la directory corretta, il salvataggio potrà essere montato virtualmente con “Mount”.

Dopo il montaggio, il save diventa accessibile via FTP collegandosi alla console tramite porta 1337 nel caso di etaHEN oppure 2121 utilizzando ftpsrv.

I file risultano normalmente disponibili nella directory /mnt/pfs/savedata_<user id>_<game CUSA>_savedata, anche se in alcuni casi possono trovarsi in /mnt/sandbox/<game CUSA>.

Qui è possibile sostituire direttamente i file Lua o gli altri componenti del loader aggiornando il contenuto del save. Gli sviluppatori consigliano generalmente di eliminare i vecchi file prima di copiare quelli nuovi, ma sottolineano una regola fondamentale: la cartella sce_sys non deve mai essere eliminata, poiché la sua rimozione rischia di corrompere definitivamente il salvataggio.

Terminata la sostituzione dei file, bisogna tornare nel Save Mounter e selezionare “Unmount” per smontare correttamente il save. Questo passaggio è essenziale: avviare il gioco senza aver effettuato l’unmount aumenta enormemente il rischio di corruzione del salvataggio.

Anche la fase finale di “Unpatch” di Shellcore è considerata obbligatoria dagli sviluppatori per evitare problemi o danni ai save data.

Esecuzione

Utilizzare lo script send_lua.py per comunicare con il loader.

Esempi

  • $ python send_lua.py <IP> 9026 hello_world.lua Esegue un semplice payload di test.
  • $ python send_lua.py <IP> 9026 --disable-signal-handler Disabilita il signal handler del loader.

Payload

PayloadDescrizione
hello_world.luaMostra informazioni basilari del processo di gioco, inclusi Process ID, base dell’eboot, libc e libkernel.
ftp_server.luaAvvia un server FTP sulla porta 1337 che consente di esplorare il filesystem visibile dal processo di gioco, oltre a caricare e scaricare file. Se il processo del gioco è jailbroken, sarà possibile accedere a più file e directory del sistema. È consigliato utilizzare WinSCP come client FTP, poiché FileZilla presenta attualmente problemi noti.
umtx.luaKernel exploit per PS5 con firmware fino alla versione 7.61. Una volta eseguito, effettua il jailbreak sia del processo del gioco sia della console PlayStation, garantendo accesso avanzato al sistema.
lapse.luaKernel exploit compatibile con PS5 fino al firmware 10.01 e PS4 dal firmware 5.00 al 12.02. Effettua il jailbreak del gioco e della console, consentendo un accesso più profondo al sistema operativo.
P2JB.luaKernel exploit per PS5 compatibile fino al firmware 12.70. Permette il jailbreak del processo di gioco e dell’intera console PlayStation.

Payload dopo aver ottenuto i permessi di lettura/scrittura del kernel

PayloadTargetDescrizione
kdata_dumper.luaPS5Effettua il dump dei segmenti dati del kernel tramite rete fino al crash della console. È necessario modificare l’indirizzo IP prima di eseguire il payload.

Payload utilizzabili dopo il jailbreak del processo di gioco

PayloadTargetDescrizione
read_klog.luaPS5Legge il contenuto di /dev/klog.
elf_loader.luaPS5ELF loader basilare che carica file ELF dal filesystem. Per impostazione predefinita tenta di avviare elfldr.elf di John Tornblom incluso nel save data, oppure /data/elfldr.elf se si desidera utilizzare una versione aggiornata caricata manualmente tramite FTP.
bin_loader.luaPS4Loader basilare per payload che carica file tramite socket sulla porta 9020 oppure da /data/payload.bin.
kernel_dumper.luaPS4Esegue il dump del kernel della console. Prima dell’avvio è necessario collegare una chiavetta USB alla PS4.

Opzioni aggiuntive di send_lua.py

OpzioneDescrizione
--enable-signal-handlerAbilita la cattura dei segnali di sistema, inclusi eventuali crash.
--disable-signal-handlerDisabilita la gestione dei segnali nel loader.

Collegamenti e download

Repository ufficiale Remote Lua Loader:
GitHub Remote Lua Loader

Playstation 5 Save Mounter di n0llptr:
PS5 Save Mounter GitHub

WinSCP consigliato come client FTP:
WinSCP Official Website

Apollo Save Tool:
Apollo Save Tool GitHub

OffAct per attivazione offline account:
OffAct GitHub

Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale.

🔥 Prodotti in promozione e articoli più venduti: PS4

Vedi altri prodotti PS4

Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.

Ultimo aggiornamento 2026-06-08 / Link di affiliazione / Immagini da Amazon Product Advertising API

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui
Captcha verification failed!
Punteggio utente captcha non riuscito. Ci contatti per favore!

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.