1 stable release

3.1.0 Oct 31, 2024

#206 in Embedded development

Download history 188/week @ 2024-10-26 357/week @ 2024-11-02 335/week @ 2024-11-09 353/week @ 2024-11-16 342/week @ 2024-11-23 345/week @ 2024-11-30 279/week @ 2024-12-07 325/week @ 2024-12-14 307/week @ 2024-12-21 255/week @ 2024-12-28 406/week @ 2025-01-04 352/week @ 2025-01-11 326/week @ 2025-01-18 315/week @ 2025-01-25 329/week @ 2025-02-01 361/week @ 2025-02-08

1,368 downloads per month
Used in injected-image-checker

MIT license

645KB
12K SLoC

binwalk

A Rust implementation of the Binwalk firmware analysis tool.

System Requirements

Building requires the following system packages:

build-essential libfontconfig1-dev liblzma-dev

Example

use binwalk::Binwalk;

// Create a new Binwalk instance
let binwalker = Binwalk::new();

// Read in the data to analyze
let file_data = std::fs::read("/tmp/firmware.bin").expect("Failed to read from file");

// Scan the file data and print the results
for result in binwalker.scan(&file_data) {
    println!("{:#?}", result);
}

lib.rs:

Rust library for identifying, and optionally extracting, files embedded inside other files.

Example

 use binwalk::Binwalk;

 // Create a new Binwalk instance
 let binwalker = Binwalk::new();

 // Read in the data you want to analyze
 let file_data = std::fs::read("/tmp/firmware.bin").expect("Failed to read from file");

 // Scan the file data and print the results
 for result in binwalker.scan(&file_data) {
    println!("{:#?}", result);
 }

Dependencies

~11–21MB
~283K SLoC