Repolode
onekey-sec

onekey-sec/unblob

Ferramenta de linha de comando que extrai recursivamente arquivos de mais de 78 formatos de arquivo compactado, compressão e sistema de arquivos, além de separar trechos desconhecidos em blobs binários.

Estrelas
2,637
Forks
159
Issues abertas
56
Último commit
há 4 horas

O que é?

unblob recebe um blob binário desconhecido, como uma imagem de firmware, e identifica os formatos de contêiner contidos nele. Analisa formatos conhecidos de arquivo compactado, compressão e sistema de arquivos, incluindo SquashFS, JFFS2, UBI/UBIFS, ext, CPIO, ZIP, 7-Zip, gzip, XZ e LZMA, e então extrai o conteúdo recursivamente até uma profundidade configurável.

Dados que não correspondem a nenhum formato conhecido são separados como trechos desconhecidos; preenchimentos com valores nulos e 0xFF são identificados automaticamente. A análise de entropia e qui-quadrado desses trechos ajuda a localizar regiões criptografadas ou compactadas. Um relatório JSON registra os offsets, tamanhos, entropia, propriedade, permissões e timestamps dos trechos.

A ferramenta é executada como usuário comum e, por padrão, usa vários núcleos de CPU. Handlers personalizados para formatos podem ser carregados em tempo de execução por meio de um caminho de plugins. Ela pode ser instalada via pip, Docker, Nix e pacotes do Kali Linux, e depende de vários utilitários externos de extração.

Recursos principais

  • 01Oferece suporte a mais de 78 formatos de arquivo compactado, compressão e sistema de arquivos, como SquashFS, JFFS2, UBIFS e ZIP.
  • 02Extrai contêineres aninhados recursivamente até uma profundidade configurável.
  • 03Detecta os offsets de início e fim de cada trecho de acordo com o padrão do formato.
  • 04Separa dados desconhecidos e identifica automaticamente preenchimentos com valores nulos ou 0xFF.
  • 05Calcula a entropia de Shannon e os valores de qui-quadrado dos trechos desconhecidos.
  • 06Gera relatórios JSON com offsets, tamanhos, propriedade e permissões.
  • 07Aceita handlers personalizados para formatos por meio de um caminho de plugins em tempo de execução.

Casos de uso

  • Descompactar imagens de firmware para inspecionar seus sistemas de arquivos durante a engenharia reversa.
  • Localizar regiões criptografadas ou compactadas em um blob binário usando os resultados de entropia.
  • Extrair em lote arquivos compactados incorporados em dumps de dispositivos em um pipeline de CI ou análise.
  • Adicionar suporte a um formato de contêiner proprietário por meio de um handler personalizado.

Início rápido

  1. 1

    Instale unblob do PyPI com pip

    pip install unblob
  2. 2

    Instale as ferramentas externas de extração necessárias no Ubuntu/Debian

    sudo apt install android-sdk-libsparse-utils e2fsprogs p7zip-full unar zlib1g-dev liblzo2-dev lzop lziprecover libhyperscan-dev zstd lz4
  3. 3

    Verifique se todas as ferramentas de extração estão disponíveis

    unblob --show-external-dependencies
  4. 4

    Extraia um arquivo de firmware

    unblob firmware.bin

Antes de usar

  • Se não usar o Docker, será necessário instalar várias ferramentas externas de extração separadamente.
  • O suporte a SquashFS requer a instalação separada de uma ferramenta adicional, o sasquatch.

Em coleções

Tópicos

Perguntas frequentes

O que é unblob?
Ferramenta de linha de comando que extrai recursivamente arquivos de mais de 78 formatos de arquivo compactado, compressão e sistema de arquivos, além de separar trechos desconhecidos em blobs binários. unblob recebe um blob binário desconhecido, como uma imagem de firmware, e identifica os formatos de contêiner contidos nele. Analisa formatos conhecidos de arquivo compactado, compressão e sistema de arquivos, incluindo SquashFS, JFFS2, UBI/UBIFS, ext, CPIO, ZIP, 7-Zip, gzip, XZ e LZMA, e então extrai o conteúdo recursivamente até uma profundidade configurável.
unblob é gratuito? Qual é a licença?
unblob é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
unblob ainda é mantido?
Manutenção ativa. O último commit de unblob foi em 7 de nov. de 2026.
Para que posso usar unblob?
Descompactar imagens de firmware para inspecionar seus sistemas de arquivos durante a engenharia reversa. Localizar regiões criptografadas ou compactadas em um blob binário usando os resultados de entropia. Extrair em lote arquivos compactados incorporados em dumps de dispositivos em um pipeline de CI ou análise. Adicionar suporte a um formato de contêiner proprietário por meio de um handler personalizado.
Como instalar unblob?
Instale unblob do PyPI com pip: pip install unblob Instale as ferramentas externas de extração necessárias no Ubuntu/Debian: sudo apt install android-sdk-libsparse-utils e2fsprogs p7zip-full unar zlib1g-dev liblzo2-dev lzop lziprecover libhyperscan-dev zstd lz4 Verifique se todas as ferramentas de extração estão disponíveis: unblob --show-external-dependencies Extraia um arquivo de firmware: unblob firmware.bin
Onde consigo unblob?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/onekey-sec/unblob

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

App para desktop e CLI que extrai arquivos ZIP, 7z, tar e arquivos divididos enormes no próprio local, liberando espaço à medida que os arquivos são extraídos e reduzindo o espaço livre necessário no disco.

2,6 mil+241 esta semana84RustApache-2.0Bem mantidoAtualizado anteontem