This is an updated version of the Binwalk firmware analysis tool, re-written in Rust for speed and accuracy. This specific fork has been patched to compile successfully on aarch64 Android environments.
Binwalk can identify, and optionally extract, files and data that have been embedded inside of other files.
While its primary focus is firmware analysis, it supports a wide variety of file and data types.
Note on Entropy Analysis: The original Binwalk v3 uses plotly for graphical entropy analysis. To enable compilation on aarch64 Android, the plotly dependency and all related entropy graph generation code have been removed. Therefore, this patched version does not support generating entropy graphs. The underlying entropy calculation logic is also removed as it was only used for plotting.
Binwalk can be customized and integrated into your own Rust projects.
The easiest way to install Binwalk and all dependencies is to build a Docker image.
Binwalk can also be installed via the Rust package manager.
Or, you can compile from source!
To compile this patched version for aarch64 Android, ensure you have Rust and Cargo installed for your target. Then, navigate to the binwalk directory and run:
cargo build --releaseThis patched version addresses compilation issues related to the plotly dependency on aarch64 Android by removing the entropy plotting feature.
Usage is simple, analysis is fast, and results are detailed:
binwalk DIR-890L_AxFW110b07.binUse --help, or check out the Wiki for more advanced options!
