Home Homebrew Rilasciato PSFree Lapse v2.3: exploit PS4 più stabile con supporto firmware...

[Scena PS4] Rilasciato PSFree Lapse v2.3: exploit PS4 più stabile con supporto firmware 7.00-9.60, BinLoader e fix WebKit

455
0

PSFree Lapse si aggiorna alla versione 2.3 con un importante miglioramento dedicato alla stabilità dell’exploit e alla compatibilità con un’ampia gamma di firmware PlayStation 4.

Il progetto, ora sviluppato da Feyzee61, nato come fork migliorato di PSFree, continua a evolversi unendo l’exploit WebKit con il kernel exploit Lapse per offrire una soluzione più affidabile per l’esecuzione di codice non ufficiale sulla console.

La nuova release punta principalmente a rendere l’esperienza più semplice e consistente, aumentando la percentuale di successo dei tentativi di exploit e riducendo i problemi riscontrati nelle versioni precedenti.

Questa versione mantiene il supporto per i firmware compresi tra 7.00 e 9.60, includendo anche il rilevamento automatico della versione del sistema operativo della PS4.

Tra le modifiche più rilevanti troviamo la conversione completa del codice da diversi moduli .mjs a un singolo file JavaScript .js, una scelta che semplifica il caricamento dell’exploit e migliora la compatibilità con gli ambienti utilizzati dagli utenti.

Introdotti inoltre numerosi miglioramenti al kernel stage basato su Lapse, con ottimizzazioni nella gestione della memoria e una migliore gestione degli errori durante i tentativi falliti, rendendo più sicuro il riavvio della console in caso di mancata esecuzione.

La versione 2.3 integra anche il BinLoader, che viene automaticamente avviato al secondo caricamento e rimane in ascolto sulla porta 9020 per ricevere payload esterni.

Gli utenti possono inoltre personalizzare l’aspetto della pagina dell’exploit sostituendo lo sfondo predefinito con una propria immagine denominata bg.jpg. Non mancano infine diversi fix dedicati alla compatibilità del motore WebKit della PS4.

Modifiche principali

  • Rimossi tutti i file .mjs: L’intera base di codice è stata convertita in semplice JavaScript .js per migliorare la compatibilità multipiattaforma e semplificare i requisiti di caricamento.
  • Riorganizzato il codice per un’esecuzione più sequenziale in stile C: La struttura è stata modificata per seguire un flusso più lineare, facilitando l’analisi del funzionamento, rendendo i tempi di esecuzione più deterministici e semplificando il debug.
  • Riscritta l’implementazione di Number.isInteger(): La versione originale dell’exploit si affidava a Number.isInteger(), che probabilmente non era completamente supportata dall’ambiente JavaScript basato su WebKit della PS4 (situato tra la compatibilità ES5 e una versione parziale di ES6). Per garantire un comportamento uniforme tra questi ambienti, la funzione è stata riscritta utilizzando controlli di tipo e operazioni matematiche di base. Questo assicura una corretta verifica degli interi anche su motori WebKit limitati o datati.
  • Riscritta l’implementazione di hexdump(): La gestione delle stringhe e dei byte è stata modificata per rispettare meglio l’ambiente JavaScript basato su WebKit della PS4.
  • Aggiunti controlli di inizializzazione per le operazioni sulle variabili: Introdotti controlli di sicurezza per assicurarsi che le variabili siano inizializzate prima dell’utilizzo, evitando errori causati da stati non definiti.
  • Riordinata e ripulita l’inizializzazione delle variabili globali: La configurazione iniziale ora è più deterministica e riduce possibili condizioni di gara durante l’avvio.
  • Aggiunte parentesi in alcune espressioni logiche: Inseriti raggruppamenti espliciti per evitare ambiguità legate alla precedenza degli operatori e ridurre possibili errori logici.
  • Rimossi i log di debug: I messaggi di diagnostica sono stati eliminati o commentati per ridurre effetti collaterali e migliorare la stabilità durante l’esecuzione.
  • Integrati gli asset .elf e .bin come array esadecimali all’interno del codice JavaScript: Le risorse binarie sono state convertite in array hex direttamente nel file JS per evitare errori di lettura o caricamento negli ambienti più restrittivi.
  • Modernizzata l’implementazione dello shellcode: Adottate alcune convenzioni strutturali provenienti dal codice sorgente BD-JB ed è stata introdotta una funzione di utilità per convertire le stringhe hex dei kpatch in array di byte.
  • Sostituito XMLHttpRequest() con fetch() e letture file: Il sistema di caricamento dei file è stato aggiornato per offrire maggiore compatibilità e un flusso di gestione basato sulle Promise.
  • Rimosso completamente l’utilizzo di localStorage e sessionStorage: Le API di archiviazione sono state eliminate per evitare problemi legati alle restrizioni cross-origin, ai limiti di spazio e ai comportamenti non uniformi negli ambienti WebKit sandbox della PS4.
  • Implementato il rilevamento automatico del firmware della console: Aggiunto un sistema in grado di identificare automaticamente la versione firmware della PS4 in esecuzione, permettendo percorsi di esecuzione specifici e migliorando la compatibilità tra diverse versioni del sistema.
  • Integrate diverse ottimizzazioni provenienti dal codice sorgente di Al-Azif: Inclusi miglioramenti relativi alla stabilità, compatibilità e gestione del flusso operativo per aumentare l’affidabilità generale e ridurre i casi limite.
  • Aggiunto il supporto multi-firmware (7.00 → 9.60) proveniente dal progetto di Al-Azif: Implementato il supporto completo per i firmware dalla versione 7.00 alla 9.60, includendo: Kernel patch e file .bin per le correzioni AIO.
  • Rielaborata la gestione di jitshm nella fase kpatch: Il precedente metodo basato sull’aliasing tramite write_fd è stato sostituito con l’utilizzo diretto di exec_fd, semplificando la gestione della memoria condivisa JIT.
  • Modificata leggermente la routine make_aliased_pktopts: Rimosso il ciclo che tentava più volte di creare alias multipli. I tentativi falliti potevano causare kernel panic o spegnimenti immediati della console. La nuova versione effettua un solo tentativo; in caso di errore l’utente deve tornare al menu principale della PS4 e riprovare in sicurezza. Per aumentare il numero di tentativi è possibile modificare il valore: const pktopts_loopcnt = 1
  • Modificata leggermente la precisione della scansione per la perdita degli indirizzi kernel: Durante la fase leak_kernel_addrs, il passo degli offset è stato ridotto da 0x80 a 0x40 per aumentare la precisione del rilevamento e diminuire il rischio di perdere strutture valide.
  • Semplificata la funzione di caricamento dei payload: Rimosso il sistema basato su trampoline stub ed è stata introdotta l’esecuzione diretta dei payload in memoria RWX.
  • Migliorata la gestione del Garbage Collector: Il controllo della memoria nella fase PSFree è stato perfezionato per aumentare l’affidabilità della scansione degli oggetti. Sono stati introdotti cambiamenti nella disposizione della memoria per garantire che gli indici critici, incluso l’indice 0, vengano correttamente analizzati durante il processo GC. Questo riduce il rischio di invalidazione improvvisa degli oggetti e aumenta la stabilità dell’exploit sotto pressione della memoria.
  • Stabilizzata la gestione degli errori tramite una routine strutturata di pulizia: Implementata una funzione doCleanup() ispirata a BD-JB per liberare correttamente le risorse dell’exploit prima della chiusura. Senza questa fase, i tentativi falliti potevano lasciare il sistema in uno stato instabile, provocando spesso kernel panic e spegnimenti forzati durante il riavvio. Grazie alla corretta liberazione delle risorse, ora è possibile riavviare la console dal menu principale e ripetere il tentativo in modo più sicuro.
  • Funzione BinLoader: il BinLoader viene attivato al secondo avvio dell’exploit. Dopo aver verificato che la console sia già stata modificata, il sistema avvia il BinLoader e rimane in ascolto sulla porta 9020. È possibile inviare il payload utilizzando un injector compatibile. Anche il repository psx_payload_injector può essere utilizzato.
  • Supporto per immagine di sfondo: Aggiunta la possibilità di personalizzare lo sfondo. È sufficiente rinominare l’immagine scelta in bg.jpg e sostituire il file presente nella cartella principale. È consigliato utilizzare un’immagine con una risoluzione adeguata.

Lista delle cose da fare

  • Analizzare la fase Lapse Stage 3 per migliorare ulteriormente la percentuale di successo.

Note

  • I firmware dalla versione 7.00 alla 9.60 includono gli shellcode integrati della kernel patch PSFree e i set di patch AIO.
  • Tutti i binari dei payload (*.bin, *.elf) sono stati esclusi intenzionalmente. Questo repository non contiene il file payload.bin. Gli utenti devono inserire manualmente il proprio payload Homebrew Enabler (HEN) preferito nella cartella principale.
  • Le istruzioni dettagliate passo passo per il jailbreak sono state omesse per motivi legali ed etici.
  • Non sono presenti modifiche che alterano la logica dell’exploit in modo da influire sulla sicurezza del dispositivo al di fuori di un contesto di test e ricerca.

Hosting locale

È possibile ospitare il progetto localmente utilizzando il server HTTP integrato di Python.

  • Windows: py -m http.server 8080
  • Linux/macOS: python3 -m http.server 8080

Nel browser della PS4 bisogna quindi raggiungere: http://IP_DEL_PC:8080/index.html

Changelog

  • Risolto il problema del kernel panic durante il riavvio dopo un tentativo di exploit fallito (grazie ad ArabPixel per il suo contributo).

Download: PSFree Lapse v2.3

Download: Source code PSFree Lapse v2.3

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-08-10 / 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.