Bezplatná knihovna Python pro vytváření a správu velkých ZIP archivů
Výkonná open source velmi rychlá knihovna Python, která umožňuje vývojářům Python načíst, extrahovat a analyzovat data z více než 30 různých archivních, kompresních a souborových formátů
Co je knihovna Unblob?
Unblob je nezbytná knihovna Pythonu a nástroj příkazové řádky navržený tak, aby zjednodušil a urychlil extrakci binárních blobů — souborů obsahujících data v neznámých nebo proprietárních formátech, které se běžně vyskytují ve firmwarech, výpisích paměti, síťových paketech nebo šifrovaných archivech. Původně vyvinut a udržován společností ONEKEY pro použití na jejich platformě pro analýzu výroby, Unblob odborně řeší výzvu parsování těchto složitých souborů tím, že podporuje více než 30 různých formátů archivů, komprese a souborových systémů. Efektivně zpracovává formáty jako ZIP, TAR, GZIP, BZIP2, XZ, LZMA, SquashFS, CramFS, JFFS2, UBI/UBIFS a YAFFS2, rekurzivně extrahuje obsah a vyřezává neidentifikované úseky, které zůstávají nezaznamenány.
Unblob je zdarma k použití pod licencí MIT, je vysoce efektivní a neuvěřitelně všestranný. Poskytuje bleskově rychlý výkon díky využití víceprocesového zpracování, efektivního kódu, souborů mapovaných do paměti a vysoce výkonné knihovny pro shodu Hyperscan. Nástroj minimalizuje falešně pozitivní výsledky a překrývající se bloky tím, že identifikuje počáteční a koncové offsety pomocí osvědčených pravidel a formátových standardů. Navíc Unblob nabízí snadno použitelné API, které umožňuje uživatelům rychle psát vlastní manipulátory formátů a extraktory, a podporuje dynamicky načítané pluginy pro rozšíření základní funkčnosti. To činí z Unblob nepostradatelný nástroj pro každého, kdo potřebuje analyzovat složitá, vícevrstvá binární data obsahující kompresi, šifrování nebo vložené souborové systémy.
Začínáme s Unblob
Doporučený způsob instalace Unblob je pomocí pypi.org. Použijte prosím následující příkaz pro hladkou instalaci.
Nainstalujte knihovnu Unblob přes PyPI
pip3 install unblob
Naklonujte repozitář unblob z GitHubu
git clone https://github.com/onekey-sec/unblob.git
Je také možné jej nainstalovat ručně; stáhněte nejnovější soubory vydání přímo z GitHub repozitáře.Extrahujte rozpoznané formáty pomocí Python knihovny
Open source knihovna Unblob zahrnuje podporu pro extrahování obsahu z různých formátů souborů v Python aplikacích. Knihovna podporuje více než 30 archivů, kompresních formátů a souborových systémů. Pamatujte, že pro použití knihovny se všemi podporovanými formáty je nutné nainstalovat všechny extraktory. Uživatelé mohou využívat různé možnosti k přizpůsobení chování knihovny, jako je určení výstupního adresáře, hloubky rekurze, úrovně podrobnosti nebo formátu zprávy. Metodu extract_chunk mohou vývojáři použít k extrahování obsahu každého úseku do určeného výstupního adresáře. Níže je ukázkový úryvek kódu, který ukazuje, jak použít knihovnu k extrahování obsahu do výstupního adresáře v Python aplikacích.
Jak extrahovat obsah do výstupního adresáře pomocí knihovny 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)
Proveďte analýzu souborů ELF pomocí Python API
Otevřená knihovna Unblob usnadňuje vývojářům softwaru detekovat a extrahovat soubory ELF z neznámých binárních blobů, stejně jako identifikovat jejich schopnosti a vlastnosti. Knihovna podporuje jak 32‑bitové, tak 64‑bitové soubory ELF, a také různé architektury jako x86, x86_64, ARM, MIPS a PowerPC. Dokáže také pracovat s různými typy souborů ELF, jako jsou spustitelné soubory, sdílené knihovny, objektové soubory, výpisy paměti (core dumps) a moduly jádra.
Extrahování metadat pomocí Python API
Otevřená knihovna Unblob zahrnuje podporu pro generování souboru s metadaty v jejich Python aplikacích. Uživatelé mohou použít volbu `--report` při spuštění Unblob jako nástroje příkazové řádky. Tato volba vygeneruje soubor JSON, který obsahuje informace o extrahovaných souborech, jako je jejich cesta, velikost, typ, magické číslo, entropie a podrobnosti o blocích. Uživatelé mohou jako argument volby `--report` zadat název a umístění souboru JSON. Poté mohou soubor metadata.json zobrazit nebo analyzovat pomocí libovolného prohlížeče nebo parseru JSON.