Il developer Idlesauce ha rilasciato un aggiornamento per il tool ps4-5-eboot-dlc-patcher. Si tratta di un progetto ancora in fase sperimentale, quindi non è garantita la sua affidabilità.
Questo strumento applica patch al file eboot per caricare un file .prx
personalizzato contenente gli ID dei contenuti DLC e alcune funzioni dalla libreria libSceAppContent
, emulando parte delle sue funzioni.
Le funzioni emulate includono:
sceAppContentGetAddcontInfoList
sceAppContentGetAddcontInfo
sceAppContentGetEntitlementKey
sceAppContentAddcontDelete
sceAppContentAddcontMount
sceAppContentAddcontUnmount
sceAppContentGetPftFlag
Alcune funzioni più recenti dei giochi cross-gen utilizzano la libreria libSceNpEntitlementAccess, la quale al momento non è completamente emulata, ma c’è l’intenzione di fornire almeno un supporto parziale in futuro.
Questo strumento è progettato per l’utilizzo con i giochi della PS4 in formato fPKG su console PlayStation 5, dove i pacchetti DLC fpkg non funzionano correttamente.
Potrebbe anche essere utile per giochi in cui il gioco principale è sbloccato con DLC, consentendo di unire tutto in un unico pacchetto (come alcuni giochi Telltale).
- Richiede IDA Pro 7.5 con il plugin https://github.com/SocraticBliss/ps4_module_loader installato e Python versione 3.9/3.10 (non copiare nella cartella python).
- Utility per estrarre e ricomprimere pacchetti:
- selfutil
Utilizzo
- Estrarre il file eboot.bin dall’aggiornamento (o dal pacchetto base se non si dispone di un aggiornamento) e decompilarlo.
- Caricare il file
eboot.elf
in IDA (assicurarsi di selezionarePS4 - Main Module - ASLR type
durante l’apertura; se questa opzione non è disponibile, potrebbe essere che il fileeboot.bin
sia ancora un fself). - Attendere il completamento dell’analisi. La barra in alto dovrebbe essere per lo più blu (Funzioni regolari).
- Andare su File->Script file… e selezionare lo script Python da questa repository.
- Seguire le istruzioni, se si vede “Patching complete”, il processo è completato con successo.
- Estrarre tutti i file dall’aggiornamento PKG.
- Sostituire il file
eboot.bin
contenuto nella cartellaImage0
dell’aggiornamento PKG estratto con quello patchato (rinominato ineboot.bin
) e posizionaredlcldr.prx
accanto ad esso. - Durante il processo di patching verrà chiesto di inserire una lista di ID dei contenuti. Per ciascuno degli ID dei contenuti inseriti nella casella per i DLC con dati extra, è necessario creare una nuova cartella in
Image0
denominatadlcXX
doveXX
è l’indice da 0, nello stesso ordine inserito nella casella di testo. In questa nuova cartella, è necessario copiare i contenuti della cartellaImage0
del rispettivo DLC estratto. Vedere sotto per esempio:GEDLC00000000001 -> dlc00/
TRAUMAPACK000000 -> dlc01/
GEPREDLC00000001 -> dlc02/
- Ricomprimere il pkg dell’aggiornamento e hai finito.
Note
- Si può utilizzare il Patch Builder di Modded Warfare per ottenere l’ID del contenuto, il quale assomiglierà a qualcosa del genere:
"ID del contenuto: UP0102-CUSA18017_00-GEDLC00000000001"
- Da quì, è necessario prendere l’ultima parte:
"GEDLC00000000001"
. Il Patch Builder mostra anche se un DLC ha dati extra o meno, oppure si può controllare se il PKG del DLC ha o meno una cartellaImage0
.
I crediti per la scoperta delle funzioni responsabili del caricamento dei DLC vanno a jocover.
Download: ps4-5-eboot-dlc-patcher
Fonte: twitter.com