Biblioteca Python Gratuita para Criar e Gerenciar Grandes Arquivos ZIP
Uma poderosa biblioteca Python de código aberto e muito rápida que permite a desenvolvedores Python carregar, extrair e analisar dados de mais de 30 formatos diferentes de arquivos, compressão e sistemas de arquivos
O que é a Biblioteca Unblob?
Unblob é uma biblioteca Python essencial e uma ferramenta de linha de comando projetada para simplificar e acelerar a extração de blobs binários — arquivos que contêm dados em formatos desconhecidos ou proprietários, comumente encontrados em imagens de firmware, dumps de memória, pacotes de rede ou arquivos criptografados. Originalmente desenvolvida e mantida pela ONEKEY para uso em sua plataforma de análise de produção, o Unblob lida de forma experta com o desafio de analisar esses arquivos complexos, suportando mais de 30 diferentes formatos de arquivo, compressão e sistemas de arquivos. Ele processa eficientemente formatos como ZIP, TAR, GZIP, BZIP2, XZ, LZMA, SquashFS, CramFS, JFFS2, UBI/UBIFS e YAFFS2, extraindo recursivamente o conteúdo e separando blocos não identificados que permanecem sem contabilização.
Gratuito sob a licença MIT, o Unblob é ao mesmo tempo altamente eficiente e incrivelmente versátil. Ele oferece desempenho extremamente rápido ao aproveitar o multiprocessamento, código eficiente, arquivos mapeados em memória e a biblioteca de correspondência de alto desempenho Hyperscan. A ferramenta minimiza falsos positivos e blocos sobrepostos ao identificar os deslocamentos de início e fim usando regras testadas em batalha e padrões de formato. Além disso, o Unblob possui uma API fácil de usar que permite aos usuários escrever manipuladores de formato e extratores personalizados rapidamente, e suporta plugins carregados dinamicamente para expandir sua funcionalidade central. Isso torna o Unblob um recurso indispensável para quem precisa analisar dados binários complexos e em múltiplas camadas que contenham compressão, criptografia ou sistemas de arquivos incorporados.
Começando com Unblob
A maneira recomendada de instalar o Unblob é usando pypi.org. Por favor, use o comando a seguir para uma instalação tranquila.
Instalar Biblioteca Unblob via PyPI
pip3 install unblob
Clone o repositório unblob do GitHub
git clone https://github.com/onekey-sec/unblob.git
Também é possível instalá-lo manualmente; baixe os arquivos de lançamento mais recentes diretamente do repositório GitHub.Extrair formatos reconhecidos usando a biblioteca Python
A biblioteca de código aberto Unblob incluiu suporte para extrair conteúdo de diferentes formatos de arquivo em aplicações Python. A biblioteca oferece suporte a mais de 30 arquivos compactados, formatos de compressão e sistemas de arquivos. Lembre-se de que, para usar a biblioteca com todos os formatos suportados, todos os extratores precisam ser instalados. Os usuários podem usar várias opções para personalizar o comportamento da biblioteca, como especificar o diretório de saída, a profundidade de recursão, o nível de verbosidade ou o formato do relatório. O método extract_chunk pode ser usado pelos desenvolvedores para extrair o conteúdo de cada bloco para um diretório de saída especificado. Abaixo está um trecho de código de exemplo que mostra como usar a biblioteca para extrair conteúdo para um diretório de saída em aplicações Python.
Como extrair conteúdo para um diretório de saída usando a biblioteca 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)
Realizar análise de arquivos ELF via API Python
A biblioteca de código aberto Unblob facilita para desenvolvedores de software detectar e extrair arquivos ELF de blobs binários desconhecidos, bem como identificar suas capacidades e recursos. A biblioteca suporta arquivos ELF de 32 bits e 64 bits, bem como diferentes arquiteturas como x86, x86_64, ARM, MIPS e PowerPC. Ela também pode lidar com diferentes tipos de arquivos ELF, como executáveis, bibliotecas compartilhadas, arquivos objeto, dumps de memória e módulos de kernel.
Extração de Metadados via API Python
A biblioteca de código aberto Unblob incluiu suporte para gerar um arquivo de metadados dentro de suas aplicações Python. Os usuários podem usar a opção --report ao executar o Unblob como uma ferramenta de linha de comando. Esta opção gerará um arquivo JSON que contém informações sobre os arquivos extraídos, como caminho, tamanho, tipo, magic, entropia e detalhes dos blocos. Os usuários podem especificar o nome e a localização do arquivo JSON como argumento da opção --report. Os usuários podem então visualizar ou analisar o arquivo metadata.json usando qualquer visualizador ou analisador JSON.