Gratis Python-bibliotek för att skapa & hantera stora ZIP-arkiv
Ett kraftfullt, öppet och mycket snabbt Python-bibliotek som gör det möjligt för Python-utvecklare att ladda, extrahera & tolka data från mer än 30 olika arkiv-, komprimerings- och filsystemformat
Vad är Unblob-biblioteket?
Unblob är ett viktigt Python‑bibliotek och kommandoradsverktyg som är utformat för att förenkla och påskynda extraheringen av binära blobbar — filer som innehåller data i okända eller proprietära format som ofta finns i firmware‑bilder, minnesdumpningar, nätverkspaket eller krypterade arkiv. Ursprungligen utvecklat och underhållet av ONEKEY för användning i deras produktionsanalysplattform, hanterar Unblob skickligt utmaningen att parsra dessa komplexa filer genom att stödja mer än 30 olika arkiv-, komprimerings- och filsystemformat. Det bearbetar effektivt format som ZIP, TAR, GZIP, BZIP2, XZ, LZMA, SquashFS, CramFS, JFFS2, UBI/UBIFS och YAFFS2, och extraherar innehåll rekursivt samt skär ut oidentifierade bitar som förblir oregistrerade.
Gratis att använda under MIT-licensen är Unblob både mycket effektiv och otroligt mångsidig. Den levererar blixtsnabb prestanda genom att utnyttja multiprocessering, effektiv kod, minnesmappade filer och Hyperscan-biblioteket för högpresterande matchning. Verktyget minimerar falska positiva och överlappande segment genom att identifiera start- och slutoffset med beprövade regler och formatstandarder. Dessutom har Unblob ett lättanvänt API som låter användare snabbt skriva egna format‑hanterare och extraheringsverktyg, och det stödjer dynamiskt laddade plugins för att utöka kärnfunktionaliteten. Detta gör Unblob till en oumbärlig resurs för alla som behöver analysera komplex, flerskikts binär data som innehåller kompression, kryptering eller inbäddade filsystem.
Komma igång med Unblob
Det rekommenderade sättet att installera Unblob är via pypi.org. Använd följande kommando för en smidig installation.
Installera Unblob-biblioteket via PyPI
pip3 install unblob
Klona unblob‑arkivet från GitHub
git clone https://github.com/onekey-sec/unblob.git
Det är också möjligt att installera det manuellt; ladda ner de senaste release-filerna direkt från GitHub-arkivet.Extrahera igenkända format med Python-biblioteket
Det öppna källkodsbiblioteket Unblob har inkluderat stöd för att extrahera innehåll från olika filformat i Python‑applikationer. Biblioteket har stöd för mer än 30 arkiv, komprimeringsformat och filsystem. Kom ihåg att för att använda biblioteket med alla stödjade format måste alla extraheringsverktyg installeras. Användare kan använda olika alternativ för att anpassa bibliotekets beteende, såsom att ange utdatamappen, rekursionsdjupet, detaljnivån eller rapportformatet. Metoden extract_chunk kan användas av utvecklare för att extrahera innehållet i varje del till en angiven utdatamapp. Nedan följer ett exempel på kodsnutt som visar hur man använder biblioteket för att extrahera innehåll till en utdatamapp i Python‑applikationer.
Hur extraherar du innehåll till en utdatamapp med Python‑biblioteket?
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)
Utför ELF-filanalys via Python-API
Det öppna källkodsbiblioteket Unblob gör det enkelt för mjukvaruutvecklare att upptäcka och extrahera ELF-filer från okända binära blobbar, samt identifiera deras funktioner och egenskaper. Biblioteket stöder både 32‑bitars och 64‑bitars ELF-filer, samt olika arkitekturer såsom x86, x86_64, ARM, MIPS och PowerPC. Det kan också hantera olika typer av ELF-filer, såsom körbara filer, delade bibliotek, objektfiler, minnesdumpningar och kärnmoduler.
Metadataextraktion via Python-API
Det öppna källkodsbiblioteket Unblob har inkluderat stöd för att generera en metadatafil i sina Python‑applikationer. Användare kan använda flaggan `--report` när du kör Unblob som ett kommandoradsverktyg. Detta alternativ kommer att generera en JSON‑fil som innehåller information om de extraherade filerna, såsom deras sökväg, storlek, typ, magi, entropi och detaljinformation om block. Användare kan ange namn och plats för JSON‑filen som ett argument till `--report`‑alternativet. Användare kan sedan visa eller analysera `metadata.json`‑filen med vilken JSON‑visare eller -parser som helst.