Kostenlose Python‑Bibliothek zum Erstellen & Verwalten großer ZIP‑Archive
Eine leistungsstarke Open‑Source‑und sehr schnelle Python‑Bibliothek, die Python‑Entwicklern ermöglicht, Daten aus mehr als 30 verschiedenen Archiv‑, Kompressions‑ und Dateisystem‑Formaten zu laden, zu extrahieren und zu analysieren
Was ist die Unblob-Bibliothek?
Unblob ist eine unverzichtbare Python-Bibliothek und ein Befehlszeilen-Tool, das entwickelt wurde, um die Extraktion von Binär-Blobs – Dateien, die Daten in unbekannten oder proprietären Formaten enthalten und häufig in Firmware-Images, Speicher-Dumps, Netzwerkpaketen oder verschlüsselten Archiven zu finden sind – zu vereinfachen und zu beschleunigen. Ursprünglich von ONEKEY für die Nutzung in ihrer Produktions-Analyse-Plattform entwickelt und gepflegt, bewältigt Unblob die Herausforderung, diese komplexen Dateien zu parsen, indem es mehr als 30 verschiedene Archiv-, Kompressions- und Dateisystemformate unterstützt. Es verarbeitet effizient Formate wie ZIP, TAR, GZIP, BZIP2, XZ, LZMA, SquashFS, CramFS, JFFS2, UBI/UBIFS und YAFFS2, extrahiert Inhalte rekursiv und schneidet nicht identifizierte Chunks heraus, die sonst unbeachtet bleiben.
Kostenlos nutzbar unter der MIT-Lizenz, ist Unblob sowohl hoch effizient als auch unglaublich vielseitig. Es liefert blitzschnelle Leistung, indem es Multiprocessing, effizienten Code, speicherabbildende Dateien und die Hochleistungs‑Matching‑Bibliothek Hyperscan nutzt. Das Werkzeug minimiert Fehlalarme und überlappende Abschnitte, indem es Start‑ und End‑Offsets anhand erprobter Regeln und Formatstandards ermittelt. Zusätzlich bietet Unblob eine leicht handhabbare API, die es Benutzern ermöglicht, benutzerdefinierte Format‑Handler und Extraktoren schnell zu schreiben, und unterstützt dynamisch geladene Plugins, um die Kernfunktionalität zu erweitern. Das macht Unblob zu einem unverzichtbaren Asset für alle, die komplexe, mehrschichtige Binärdaten mit Kompression, Verschlüsselung oder eingebetteten Dateisystemen analysieren müssen.
Erste Schritte mit Unblob
Der empfohlene Weg, Unblob zu installieren, ist über pypi.org. Bitte verwenden Sie den folgenden Befehl für eine reibungslose Installation.
Unblob-Bibliothek über PyPI installieren
pip3 install unblob
Klone das Unblob-Repository von GitHub
git clone https://github.com/onekey-sec/unblob.git
Es ist auch möglich, es manuell zu installieren; laden Sie die neuesten Release-Dateien direkt vom GitHub-Repository herunter.Erkannte Formate mit der Python-Bibliothek extrahieren
Die Open-Source-Bibliothek Unblob unterstützt das Extrahieren von Inhalten aus verschiedenen Dateiformaten in Python-Anwendungen. Die Bibliothek unterstützt mehr als 30 Archive, Komprimierungsformate und Dateisysteme. Bitte beachten Sie, dass für die Nutzung der Bibliothek mit allen unterstützten Formaten alle Extraktoren installiert sein müssen. Benutzer können verschiedene Optionen verwenden, um das Verhalten der Bibliothek anzupassen, z. B. das Festlegen des Ausgabeverzeichnisses, die Rekursionstiefe, den Detailgrad der Ausgabe oder das Berichtformat. Die Methode extract_chunk kann von Entwicklern verwendet werden, um den Inhalt jedes Chunks in ein angegebenes Ausgabeverzeichnis zu extrahieren. Unten finden Sie ein Beispiel‑Code‑Snippet, das zeigt, wie die Bibliothek verwendet wird, um Inhalte in ein Ausgabeverzeichnis innerhalb von Python‑Anwendungen zu extrahieren.
Wie extrahiere ich Inhalte in ein Ausgabeverzeichnis mit der Python-Bibliothek?
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)
ELF-Dateianalyse über die Python-API durchführen
Die Open-Source-Unblob-Bibliothek erleichtert Softwareentwicklern das Erkennen und Extrahieren von ELF-Dateien aus unbekannten Binärblobs sowie das Identifizieren ihrer Fähigkeiten und Merkmale. Die Bibliothek unterstützt sowohl 32‑Bit‑ als auch 64‑Bit‑ELF-Dateien und verschiedene Architekturen wie x86, x86_64, ARM, MIPS und PowerPC. Sie kann zudem unterschiedliche ELF-Dateitypen verarbeiten, wie ausführbare Programme, Shared Libraries, Objektdateien, Core Dumps und Kernel‑Module.
Metadatenextraktion über die Python-API
Die Open-Source-Unblob-Bibliothek hat Unterstützung für das Erzeugen einer Metadaten‑Datei in ihren Python‑Anwendungen integriert. Benutzer können die Option --report verwenden, wenn sie Unblob als Befehlszeilen‑Tool ausführen. Diese Option erzeugt eine JSON‑Datei, die Informationen über die extrahierten Dateien enthält, wie Pfad, Größe, Typ, Magic, Entropie und Chunk‑Details. Benutzer können den Namen und den Speicherort der JSON‑Datei als Argument für die Option --report angeben. Anschließend können Benutzer die metadata.json‑Datei mit jedem JSON‑Viewer oder -Parser anzeigen oder analysieren.