Home Homebrew Rilasciato PS4 CFW Toolkit

[Scena PS4] Rilasciato PS4 CFW Toolkit

1561
0

Il developer Al Azif scende nuovamente in campo con lo sviluppo di diversi strumenti che permetteranno di decrittografare e crittografare vari file del firmware della PlayStation 4.

Con le chiavi appropriate, tutte ottenibili dalla console, sarà possibile decrittografare e crittografare correttamente diverse immagini binarie, come EAP KBL (caricatore di avvio del kernel), Kernel EAP, EMC IPL (caricamento iniziale del programma) e Syscon (sia patch che completo).

Il titolo potrebbe trarre in inganno, effettivamente questo non ha nulla a che fare con un Custom Firmware in quanto lamenta ancora la mancanza di alcune patch per permettere di eseguire codice personalizzato un po’ OVUNQUE.

Questo è ciò che manca ancora all’appello:

  • SAMU IPL (crittografato con PCK all’interno di Sflash e firmato con chiavi private).
    • Richiesto per CFW in stile PS3 in cui è sufficiente installare un PUP.
    • Le chiavi private NON sono sulla console.
    • Sette revisioni.
  • SELF Files (crittografati e firmati con chiavi private).
    • Non importa se SAMU IPL è rotto/personalizzato.
    • Le chiavi private NON sono sulla console.
  • WiFi FW (non crittografato o firmato. Uno di questi è impacchettato, è solo un ZIP).
    • Tre revisioni.
  • BD Drive FW (non l’ho guardato).
    • Sei revisioni.
  • USB SATA Bridge FW (non l’ho guardato).
    • Una revisione.
  • Processore di comunicazione FW (non l’ho guardato).
    • Solo kit di sviluppo.
    • Una revisione.

 

Requisiti

  • Compilatore C++ (Clang >= 9.00 consigliato).
  • CMake >=3.10.2.
  • gflags.
  • glog.
  • OpenSSL (1.1.1 raccomandato).
    • >=3.0.0 genererà avvisi per l’utilizzo di API di basso livello ammortizzato. Con i flag C++ inclusi, gli avvisi sono errori.

EAP

Sinossi

  • Decrittografa/crittografa le immagini EAP KBL (Kernel Boot Loader). Situato in /dev/sflash0s0x33.

Utilizzo

Flag

-decrypt (esegui in modalità decrittografia) tipo: bool default: false.
-encrypt (esegui in modalità crittografia) tipo: bool default: false.
-input (percorso del file EAP KBL da caricare) tipo: stringa default: “C0010001”.
-keys (percorso del file chiave da caricare) tipo: stringa default: “keys.json”.
-output (percorso in cui salvare il file EAP KBL di output) tipo: stringa default: “C0010001.modified”.
-revision (quale keyset di revisione southbridge usare. Utilizzato solo per la crittografia (“AEOLIA”, “BELIZE”, “BELIZE 2” o “BAIKAL”)) tipo: string default: “”.

EAPK

Sinossi

  • Decrittografa/crittografa le immagini del kernel EAP. Situato in /dev/da0x2.

Utilizzo

Flag

-decrypt (esegui in modalità decrittografia) tipo: bool default: false.
-encrypt (esegui in modalità crittografia) tipo: bool predefinito: false.
-input (percorso del file del kernel EAP da caricare) digitare: stringa default: “eap_kernel”.
-keys (percorso del file chiave da caricare) tipo: stringa default: “keys.json”.
-keyset (quale set di chiavi usare. Utilizzato solo per la crittografia (“0”, “1”, “2” o “3”)) tipo: int32 predefinito: -1.
-output (percorso in cui salvare il file del kernel EAP di output) tipo: stringa default: “eap_kernel.modified”.

EMC

Sinossi

  • Decrittografa/crittografa le immagini EMC. Può applicare patch “Godmode” durante entrambe le operazioni. Situato in /dev/sflash0s0x32b.

Utilizzo

Flag

-decrypt (esegui in modalità decrittografia) tipo: bool default: false.
-encrypt (Esegui in modalità crittografia) tipo: bool default: false.
-godmode (dovrebbero essere applicate le patch “Godmode”) tipo: bool default: false.
-input (percorso del file EMC IPL da caricare) tipo: stringa default: “C0000001”.
-keys (percorso del file chiave da caricare) tipo: stringa default: “keys.json”.
-output (percorso in cui salvare il file EAP KBL di output) tipo: stringa default: “C0000001.modified”
-revision (Quale keyset di revisione southbridge usare. Utilizzato solo per la crittografia (“AEOLIA”, “BELIZE”, “BELIZE 2” o “BAIKAL”)) tipo: stringa default: “”

Syscon

Sinossi

  • Decrittografa/crittografa le immagini SYSCON. Inaccessibile dal filesystem.

Utilizzo

Flag

-decrypt (esegui in modalità decrittografia) tipo: bool default: false.
-encrypt (esegui in modalità crittografia) tipo: bool default: false.
-input (percorso del file SYSCON da caricare) tipo: stringa default: “40000001”.
-keys (percorso del file chiave da caricare) tipo: stringa default: “keys.json”.
-output (percorso in cui salvare il file SYSCON di output) tipo: stringa default: “40000001.modified”.

Note

  • Questo è testato su WSL con Clang 10 e OpenSSL 1.1.1, il supporto per qualsiasi altra cosa non è garantito.
  • I file binari di output si troveranno in bin/.
  • Il file binario di input per la crittografia non esegue alcun controllo oltre al controllo per vedere se il file magic è corretto e la dimensione del file si adatta allo spazio libero disponibile una volta installato. È tua responsabilità assicurarti che il binario che stai alimentando sia costruito correttamente/valido.
  • Questo viene rimosso da un progetto più ampio, quindi qualcosa potrebbe non funzionare da allora/essere ottimale in questo contesto, tuttavia dovrebbe funzionare come previsto. Ho fatto del mio meglio per minimizzarlo senza riscriverlo. Eventuali modifiche importanti alla funzionalità potrebbero non funzionare nel contesto del programma più ampio (o essere già state eseguite), quindi inviami un messaggio diretto prima di iniziare a lavorare su modifiche importanti.
    • Alcune funzionalità sono state rimosse per non calpestare le dita dei piedi e probabilmente verranno aggiunte in un secondo momento. Nessun orario di arrivo previsto.
  • Chiavi non incluse, controlla il wiki dev o qualcosa del genere. Questo è apposta … non inviarli per favore, aggiorna il wiki se ne aggiungi di nuovi.
  • Assicurati di avere un modo per ripristinare da un backup se stai utilizzando hardware reale.

Download: Source code PS4 CFW Toolkit

Fonte: twitter.com

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.