Repolode
ReFirmLabs

ReFirmLabs/binwalk

A Rust-based firmware analysis tool that identifies and optionally extracts files and data embedded inside other files.

Stars
14,625
Forks
1,869
Open issues
103
Last commit
3 months ago

What is it?

Binwalk identifies files and data that have been embedded inside other files, and can optionally extract them. Its primary focus is firmware analysis, but it supports a wide variety of file and data types through its signature database.

The tool also performs entropy analysis, which helps reveal unknown compression or encryption in a binary. This version is a rewrite of the original Binwalk in Rust, aimed at speed and accuracy. It can be run as a command-line tool, installed via Cargo, or built into the user's own Rust projects as a library.

The project provides a Docker image for installing all dependencies at once, and the basic usage is a single command pointed at a firmware image file.

Key features

  • 01Identifies embedded files and data types inside binary files
  • 02Optionally extracts identified content
  • 03Entropy analysis to spot compression or encryption
  • 04Supports a wide variety of file and data signatures
  • 05Usable as a command-line tool or as a Rust library

Use cases

  • Analyzing router or IoT device firmware images to find embedded filesystems
  • Extracting compressed or archived sections from binary blobs
  • Checking whether an unknown binary contains encrypted or compressed data via entropy graphs
  • Integrating binary signature scanning into a custom Rust tool

Quick start

  1. 1

    Build a Docker image with all dependencies (see the wiki guide)

  2. 2

    Or install via the Rust package manager (see the wiki guide)

  3. 3

    Run binwalk on a firmware file

    binwalk DIR-890L_AxFW110b07.bin

In collections

Topics

FAQ

What is binwalk?
A Rust-based firmware analysis tool that identifies and optionally extracts files and data embedded inside other files. Binwalk identifies files and data that have been embedded inside other files, and can optionally extract them. Its primary focus is firmware analysis, but it supports a wide variety of file and data types through its signature database.
Is binwalk free to use? What license does it have?
binwalk is open source under the MIT license. Check the license terms before using it in commercial products.
Is binwalk still maintained?
Updated within 6 months. The last commit to binwalk was on Aug 11, 2026.
What can I use binwalk for?
Analyzing router or IoT device firmware images to find embedded filesystems Extracting compressed or archived sections from binary blobs Checking whether an unknown binary contains encrypted or compressed data via entropy graphs Integrating binary signature scanning into a custom Rust tool
How do I install binwalk?
Build a Docker image with all dependencies (see the wiki guide) Or install via the Rust package manager (see the wiki guide) Run binwalk on a firmware file: binwalk DIR-890L_AxFW110b07.bin
Where can I get binwalk?
The source code and installation instructions are on GitHub: https://github.com/ReFirmLabs/binwalk

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects