Libreria Python gratuita per creare e gestire grandi archivi ZIP
Una potente libreria Python open source molto veloce che consente agli sviluppatori Python di caricare, estrarre e analizzare dati da più di 30 diversi formati di archivio, compressione e file system
Che cos'è la libreria Unblob?
Unblob è una libreria Python essenziale e uno strumento da riga di comando progettato per semplificare e accelerare l'estrazione di blob binari — file contenenti dati in formati sconosciuti o proprietari comunemente trovati in immagini firmware, dump di memoria, pacchetti di rete o archivi crittografati. Originariamente sviluppato e mantenuto da ONEKEY per l'uso nella loro piattaforma di analisi di produzione, Unblob gestisce con maestria la sfida di analizzare questi file complessi supportando più di 30 diversi formati di archivio, compressione e file system. Elabora in modo efficiente formati come ZIP, TAR, GZIP, BZIP2, XZ, LZMA, SquashFS, CramFS, JFFS2, UBI/UBIFS e YAFFS2, estraendo ricorsivamente il contenuto e ricavando blocchi non identificati che rimangono non contabilizzati.
Gratuito sotto licenza MIT, Unblob è sia altamente efficiente che incredibilmente versatile. Offre prestazioni fulminee sfruttando il multi-processing, codice efficiente, file mappati in memoria e la libreria di matching ad alte prestazioni Hyperscan. Lo strumento riduce i falsi positivi e i blocchi sovrapposti identificando gli offset di inizio e fine usando regole collaudate e standard di formato. Inoltre, Unblob dispone di un'API facile da usare che consente agli utenti di scrivere rapidamente gestori di formato personalizzati ed estrattori, e supporta plugin caricati dinamicamente per estendere la sua funzionalità di base. Questo rende Unblob una risorsa indispensabile per chiunque abbia bisogno di analizzare dati binari complessi e a più livelli contenenti compressione, crittografia o file system incorporati.
Iniziare con Unblob
Il modo consigliato per installare Unblob è utilizzare pypi.org. Si prega di usare il comando seguente per un'installazione senza problemi.
Installa la libreria Unblob tramite PyPI
pip3 install unblob
Clona il repository unblob da GitHub
git clone https://github.com/onekey-sec/unblob.git
È anche possibile installarlo manualmente; scarica i file dell'ultima versione direttamente dal repository GitHub.Estrai i formati riconosciuti con la libreria Python
La libreria open source Unblob ha incluso il supporto per l'estrazione di contenuti da diversi formati di file all'interno delle applicazioni Python. La libreria supporta più di 30 archivi, formati di compressione e file system. Si prega di ricordare che per utilizzare la libreria con tutti i formati supportati, è necessario installare tutti gli estrattori. Gli utenti possono utilizzare varie opzioni per personalizzare il comportamento della libreria, come specificare la directory di output, la profondità di ricorsione, il livello di verbosità o il formato del report. Il metodo extract_chunk può essere utilizzato dagli sviluppatori per estrarre il contenuto di ogni blocco in una directory di output specificata. Di seguito è riportato un esempio di codice che mostra come utilizzare la libreria per estrarre contenuti in una directory di output all'interno delle applicazioni Python.
Come estrarre il contenuto in una directory di output usando la libreria Python?
import unblob
# Scan a file for known formats
file_path = "some_file.bin"
chunks = unblob.scan_file(file_path)
# Extract each chunk to an output directory
output_dir = "some_dir"
for chunk in chunks:
unblob.extract_chunk(chunk, output_dir)
Esegui l'analisi di file ELF tramite l'API Python
La libreria open source Unblob semplifica per gli sviluppatori software il rilevamento e l'estrazione di file ELF da blob binari sconosciuti, oltre a identificare le loro capacità e caratteristiche. La libreria supporta sia file ELF a 32 bit che a 64 bit, nonché diverse architetture come x86, x86_64, ARM, MIPS e PowerPC. Può inoltre gestire diversi tipi di file ELF, come eseguibili, librerie condivise, file oggetto, dump di memoria e moduli del kernel.
Estrazione dei metadati tramite l'API Python
La libreria open source Unblob ha incluso il supporto per generare un file di metadati all'interno delle proprie applicazioni Python. Gli utenti possono utilizzare l'opzione --report quando eseguono Unblob come strumento da riga di comando. Questa opzione genererà un file JSON che contiene informazioni sui file estratti, come percorso, dimensione, tipo, magic, entropia e dettagli dei blocchi. Gli utenti possono specificare il nome e la posizione del file JSON come argomento dell'opzione --report. Gli utenti possono quindi visualizzare o analizzare il file metadata.json usando qualsiasi visualizzatore o parser JSON.