Il developer zecoxao condivide su twitter il codice sorgente dell’applicazione PS5 PUP Unpacker, l’utility dovrebbe permetterci di decomprimere i BLOB contenuti nel firmware PUP della console Playstation 5.
Il firmware PUP della console PlayStation 5 contiene tutta una serie di BLOB binari necessari per la funzionalità parziale o completa di determinati dispositivi hardware (come ad esempio il modulo Bluetooth).
https://twitter.com/notzecoxao/status/1581215645638701056
Questi BLOB binari sono generalmente proprietari perché alcuni produttori di hardware non rilasciano il codice sorgente necessario per creare il firmware stesso.
Molti fornitori di hardware nascondono in segreto il funzionamento del loro hardware, ed ecco perché nascondono alcune funzioni dei loro dispositivi in BLOB closed source.
Questi BLOB non vengono eseguiti dal sistema operativo, ma vengono caricati nell’hardware. Dopo che il BLOB è stato caricato, il sistema operativo può gestire il dispositivo utilizzando alcuni driver.
In caso di Bluetooth, per la maggior parte dei dispositivi viene utilizzato un modulo Linux generico, ad esempio btusb, o hci_qca. Il modulo rileva il dispositivo, carica il firmware e quindi può utilizzare il dispositivo come qualsiasi altro.
L’intero script riscritto in C++ per PC Windows, MacOS e Linux, prende base da un precedente progetto per l’unpack del firmware PUP della console PlayStation 4.
Nota: Questa utilità non decomprimerà il contenuto dei filesystem nidificati. Le immagini del filesystem negli aggiornamenti sono immagini FAT32, exFAT, ecc.. e possono essere montate o decompresse con altri strumenti.
Compilazione
Questa app contiene una dipendenza da [mateidavid/zstr](https://github.com/mateidavid/zstr) come sottomodulo, in quanto tale deve essere avviata prima della creazione. Per farlo eseguire il seguente comando: git submodule update --init
Download: PS5 PUP Unpacker
Fonte: twitter.com