#firmware #analysis #file #tool #data #type

bin+lib binwalk

Analyzes data for embedded file types

1 stable release

new 3.1.0 Oct 31, 2024

#178 in Embedded development

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–24MB
~277K SLoC