Analisar e extrair firmware
Abra o firmware. Encontre a estrutura. Extraia as provas. O Binwalk identifica e extrai ficheiros, sistemas de ficheiros, fluxos comprimidos, executáveis, carregadores de arranque, kernels e outros dados incorporados em firmware e imagens binárias — concebido para a investigação de segurança de firmware, a retroengenharia e a forense digital.
Gratuito e de código aberto · Binwalk 3.1.0 · Linux, macOS e Windows (WSL/Docker) · opções de instalação
O que é o Binwalk?
Uma imagem de firmware raramente contém apenas um ficheiro. Pode conter camadas de dados comprimidos, cabeçalhos proprietários, componentes do sistema operativo, código de arranque, certificados, executáveis, ficheiros de configuração e sistemas de ficheiros completos — e localizar cada um deles manualmente é lento e propenso a erros.
O Binwalk automatiza a primeira fase da análise: percorre os dados binários à procura de estruturas conhecidas, valida os objetos que deteta e mostra onde começa cada componente reconhecido. Criado originalmente por Craig Heffner na ReFirm Labs, o Binwalk v3 reconstruiu o motor em Rust para obter velocidade, validação estrutural e taxas de falsos positivos mais baixas. É de código aberto sob a licença MIT e funciona como ferramenta de linha de comandos ou como biblioteca Rust.
Como funciona o Binwalk
Seis comandos cobrem a maior parte da análise de firmware — analisar, extrair, percorrer recursivamente, medir a entropia, registar e consultar.
Analisar e identificar
$ binwalk firmware.binMapeie a estrutura interna de uma imagem: o Binwalk reporta os objetos reconhecidos por deslocamento (offset) decimal e hexadecimal, com tamanho, detalhes do formato, parâmetros de compressão, arquitetura, metadados do sistema de ficheiros e um nível de confiança para cada deteção.
Extrair conteúdo incorporado
$ binwalk -e firmware.binExtraia ficheiros, arquivos, fluxos comprimidos e sistemas de ficheiros reconhecidos com os extratores integrados ou utilitários externos suportados — sem cálculo manual de deslocamentos nem file carving.
Descompactar firmware aninhado
$ binwalk -Me firmware.binAnalise recursivamente os ficheiros recém-extraídos para revelar arquivos dentro de sistemas de ficheiros, dados comprimidos dentro de partições e as camadas mais profundas de pacotes de atualização e firmware em camadas.
Localizar regiões desconhecidas
$ binwalk --entropy firmware.binGere um gráfico de entropia para identificar as transições entre dados estruturados e regiões de alta entropia — a compressão, a cifragem ou o preenchimento que as assinaturas por si só não explicam.
Guardar resultados estruturados
$ binwalk --log=results.json firmware.binExporte os resultados de assinaturas e de entropia em JSON para automação, relatórios, indexação, comparação ou transferência para outras ferramentas de análise.
Consultar as assinaturas suportadas
$ binwalk --listListe as assinaturas disponíveis na versão instalada, os seus nomes internos e o utilitário de extração associado a cada formato.
Porquê o Binwalk
Analisadores Rust personalizados, resultados com nível de confiança e saída pronta para automação — para que uma análise seja um ponto de partida fiável e não um amontoado de suposições.
Validação para além dos magic bytes
O Binwalk v3 utiliza analisadores (parsers) Rust personalizados para confirmar uma estrutura, calcular o tamanho de um objeto incorporado e decidir onde a análise prossegue — muito menos falsos positivos do que a simples correspondência de assinaturas de bytes.
Confiança em cada resultado
Cada deteção é classificada como elevada (metadados e dados validados), média (verificações de metadados coerentes aprovadas) ou baixa (apenas bytes identificadores) — para distinguir facilmente as deteções fiáveis das que exigem revisão manual.
Análise de entropia
Visualize a aleatoriedade dos dados para identificar onde começa e termina uma partição comprimida, se uma imagem contém várias regiões e que secções inexplicadas podem estar cifradas, preenchidas ou desconhecidas.
Análises focadas
As imagens de grande dimensão contêm milhares de objetos. Exclua conteúdos multimédia ruidosos, limite-se a assinaturas selecionadas ou percorra cada deslocamento para uma análise exaustiva — para que os resultados se mantenham legíveis em trabalhos urgentes.
Concebido para automação
A saída em JSON alimenta scripts, pipelines de CI e plataformas forenses. A biblioteca Rust do Binwalk integra-se diretamente em aplicações quando a execução por linha de comandos e a análise de JSON não bastam.
Análise totalmente local
Tudo é executado no seu próprio ambiente — imagens de produtos sensíveis, builds não publicados e provas forenses nunca precisam de ser carregados. Para amostras não fiáveis, trabalhe dentro de uma máquina virtual ou de um contentor.
Formatos suportados
Mais de 100 assinaturas de ficheiros e de dados em formatos de firmware, de sistema operativo, de arquivo, de sistema de ficheiros, de executáveis e relacionados com segurança.
Firmware & formatos de arranque
Sistemas de ficheiros & estruturas de disco
Compressão & arquivos
Executáveis & sistema
Segurança & criptografia
Os formatos disponíveis e as capacidades de extração variam consoante a versão do Binwalk e os utilitários externos instalados no sistema.
Quem utiliza o Binwalk
Da investigação de segurança ao desenvolvimento embebido — onde quer que o firmware e os dados binários precisem de ser abertos.
Investigação de segurança de firmware & IoT
Mapeie pacotes de atualização, recupere sistemas de ficheiros incorporados, inspecione scripts de arranque, localize ficheiros de configuração e prepare o firmware para a análise de vulnerabilidades.
Equipas de segurança de produto & PSIRT
Faça a triagem de firmware de routers, câmaras, dispositivos industriais, eletrodomésticos, sistemas automóveis e produtos conectados antes de uma análise estática mais aprofundada ou de emulação.
Retroengenharia
Decomponha contentores proprietários em componentes mais pequenos, identifique limites internos, localize código executável e reduza a quantidade de dados desconhecidos que é necessário inspecionar manualmente.
Forense digital & resposta a incidentes
Extraia artefactos de imagens de dispositivos, identifique payloads incorporados e exporte resultados estruturados para fluxos de trabalho forenses reproduzíveis.
Desenvolvimento embebido
Inspecione imagens de versão, verifique os componentes esperados, compare disposições de firmware e integre a análise binária nas suas ferramentas de desenvolvimento ou de garantia de qualidade.
Hardware hacking & formação
Passe rapidamente de uma imagem flash capturada ou de um ficheiro de atualização do fabricante para um sistema de ficheiros raiz extraído, um kernel, um carregador de arranque e a configuração específica do dispositivo.
Instalar o Binwalk
Linux 64 bits (Cargo)
O Linux é a plataforma oficialmente suportada para o Binwalk v3, sendo as distribuições baseadas em Ubuntu as que oferecem a instalação mais previsível. Alguns sistemas de ficheiros e formatos de arquivo necessitam de utilitários externos adicionais.
$ cargo install binwalkmacOS & Linux (Homebrew)
O Homebrew fornece uma instalação empacotada para ambientes macOS e Linux suportados.
$ brew install binwalkDocker
O Docker oferece um ambiente reproduzível com dependências controladas, bem adequado a uma análise de firmware isolada.
$ sudo docker run -t -v "$PWD":/analysis binwalkv3 -Me firmware.binWindows (WSL ou Docker)
Para o fluxo de trabalho Windows mais previsível, execute o Binwalk dentro do WSL ou do Docker. As builds nativas de Windows podem compilar, mas os testes e o suporte por parte do projeto permanecem limitados.
$ wsl -- cargo install binwalkObter o código-fonte do Binwalk
Transfira o arquivo de código-fonte do Binwalk 3.1.0 para compilar a partir do código-fonte, inspecionar a implementação, contribuir com assinaturas e analisadores, ou integrar a biblioteca Rust no seu próprio projeto. A análise permanece local — trate o código extraído como não fiável e mantenha as amostras desconhecidas isoladas.
Arquivo de código-fonte (.zip) · Binwalk 3.1.0 · Licença MIT
Perguntas frequentes
Comece pelo binário. Chegue às provas mais depressa.
Mapeie a imagem de firmware, extraia os seus componentes internos e identifique as regiões inexplicadas — código aberto, licenciado sob MIT e analisado inteiramente na sua própria máquina.