1 stable release

3.1.0 Oct 31, 2024

#164 in Embedded development

Download history 106/week @ 2024-10-25 383/week @ 2024-11-01 327/week @ 2024-11-08 362/week @ 2024-11-15 361/week @ 2024-11-22 332/week @ 2024-11-29 277/week @ 2024-12-06 342/week @ 2024-12-13 295/week @ 2024-12-20 268/week @ 2024-12-27 374/week @ 2025-01-03 381/week @ 2025-01-10 316/week @ 2025-01-17 296/week @ 2025-01-24

1,398 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

~10–20MB
~274K SLoC