An MCP server extension for Ghidra that lets AI language models drive reverse engineering analysis through small, focused tools.
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
Build a Docker image with all dependencies (see the wiki guide)
- 2
Or install via the Rust package manager (see the wiki guide)
- 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
LLM-powered plugin for radare2 that adds an r2ai command for AI-assisted reverse engineering, with a decai decompilation plugin.
Command-line tool that recursively extracts files from 78+ archive, compression and file-system formats and carves out unknown chunks in binary blobs.
An AI agent skill pack that routes reverse engineering, pentest, and CTF tasks to the right playbook and checks which tools are installed.
An AI-assisted reverse-engineering agent built on REA that routes targets to analysis workflows, records evidence, and adds a Studio workbench and a gated self-improvement lab.
A command-line toolkit for Apple firmware research, covering IPSW/OTA downloads, Mach-O and dyld cache analysis, kernelcaches, and connected iOS devices.