Gratis Python-bibliotek for å opprette og administrere store ZIP-arkiver
Et kraftig, åpen kildekode, svært raskt Python-bibliotek som gjør det mulig for Python-utviklere å laste, hente ut og parse data fra mer enn 30 ulike arkiv-, komprimerings- og filsystemformater
Hva er Unblob-biblioteket?
Unblob er et viktig Python-bibliotek og kommandolinjeverktøy designet for å forenkle og akselerere ekstraksjonen av binære blobs—filer som inneholder data i ukjente eller proprietære formater som ofte finnes i fastvarebilder, minnedumper, nettverkspakker eller krypterte arkiver. Opprinnelig utviklet og vedlikeholdt av ONEKEY for bruk i deres produksjonsanalyseplattform, håndterer Unblob ekspertmessig utfordringen med å parse disse komplekse filene ved å støtte mer enn 30 ulike arkiv-, komprimerings- og filsystemformater. Det behandler effektivt formater som ZIP, TAR, GZIP, BZIP2, XZ, LZMA, SquashFS, CramFS, JFFS2, UBI/UBIFS og YAFFS2, og ekstraherer innhold rekursivt samt skjærer ut uidentifiserte biter som fortsatt er uregistrert.
Gratis å bruke under MIT-lisensen, er Unblob både svært effektiv og utrolig allsidig. Den leverer lynrask ytelse ved å utnytte flerprosessering, effektiv kode, minnekartlagte filer og Hyperscan-biblioteket for høyytelses matching. Verktøyet minimerer falske positiver og overlappende biter ved å identifisere start- og sluttforskyvninger ved hjelp av velprøvde regler og formatstandarder. I tillegg har Unblob et lett håndterbart API som gjør det mulig for brukere å raskt skrive egendefinerte formatbehandlere og ekstraktorer, og det støtter dynamisk lastede plugins for å utvide kjernefunksjonaliteten. Dette gjør Unblob til en uunnværlig ressurs for alle som trenger å analysere komplekse, lagdelte binære data som inneholder komprimering, kryptering eller innebygde filsystemer.
Kom i gang med Unblob
Den anbefalte måten å installere Unblob på er via pypi.org. Vennligst bruk følgende kommando for en smidig installasjon.
Installer Unblob-biblioteket via pypi
pip3 install unblob
Klone unblob-repositoriet fra GitHub
git clone https://github.com/onekey-sec/unblob.git
Det er også mulig å installere den manuelt; last ned de nyeste utgivelsesfilene direkte fra GitHub arkivet.Ekstraher anerkjente formater ved hjelp av Python-biblioteket
Det åpne kildekodebiblioteket Unblob har inkludert støtte for å trekke ut innhold fra forskjellige filformater i Python-applikasjoner. Biblioteket har støtte for mer enn 30 arkiver, komprimeringsformater og filsystemer. Vennligst husk at for å bruke biblioteket med alle støttede formater, må alle ekstraktorer installeres. Brukere kan bruke ulike alternativer for å tilpasse bibliotekets oppførsel, som å spesifisere utdata‑katalogen, rekursjonsdybden, detaljnivået eller rapportformatet. extract_chunk‑metoden kan brukes av utviklere til å trekke ut innholdet i hver del til en spesifisert utdata‑katalog. Nedenfor er et eksempel på kode som viser hvordan du bruker biblioteket for å trekke ut innhold til en utdata‑katalog i Python-applikasjoner.
Hvordan trekke ut innhold til en utdata-mappe ved hjelp av 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-filanalyse via Python API
Det åpne kildekodebiblioteket Unblob gjør det enkelt for programvareutviklere å oppdage og trekke ut ELF-filer fra ukjente binære blobs, samt identifisere deres evner og funksjoner. Biblioteket støtter både 32‑bits og 64‑bits ELF-filer, samt ulike arkitekturer som x86, x86_64, ARM, MIPS og PowerPC. Det kan også håndtere forskjellige typer ELF-filer, som kjørbare filer, delte biblioteker, objektfiler, core‑dump og kjernemoduler.
Metadataekstraksjon via Python API
Det åpne kildekodebiblioteket Unblob har lagt til støtte for å generere en metadatafil i sine Python‑applikasjoner. Brukere kan bruke --report‑alternativet når du kjører Unblob som et kommandolinjeverktøy. Dette alternativet vil generere en JSON‑fil som inneholder informasjon om de ekstraherte filene, som deres sti, størrelse, type, magi, entropi og chunk‑detaljer. Brukere kan spesifisere navn og plassering for JSON‑filen som et argument til --report‑alternativet. Brukere kan deretter vise eller analysere metadata.json‑filen med hvilken som helst JSON‑viser eller parser.