Releases: Mr-PauI/ESP32-BinForge
0.7
BinForge v0.7 — First Public Release
I am excited to announce BinForge v0.7, the first public release of my open-source ESP32 firmware post-build modification tool and framework.
BinForge enables developers to inject data into compiled .bin files without recompiling or relinking, making it ideal for:
- Embedding assets, configuration blobs, or ROM-backed data.
- Personalizing devices after compilation, including per-device keys or license numbers.
- Late-stage firmware adjustments when source code is unavailable or rebuilding is impractical.
- Emulator and retro firmware use cases.
This release includes:
- CLI Tools: blobgen for creating binary blobs, and ESP32-BinForge-CLI for analyzing firmware, injecting data, and regenerating CRCs.
- Reserved Data Blob Framework: Define a user-reserved binary region in firmware; BinForge can detect modifications, and the tool can safely inject content.
- CRC Handling: Ensure modified firmware remains executable after injection.
- Cross-Platform Support: CLI tools work on Windows, Linux, and macOS.
- Windows x86_x64 precompiled binaries
BinForge v0.7 is fully open-source under the MIT License. The framework does not interpret blob contents, leaving all semantics to the user. SHA-256 regeneration is planned for future releases.
BinForge provides two CLI tools for working with firmware blobs and managing .bin files: blobgen and ESP32-BinForge-CLI.
ESP32-BinForge-CLI
This tool provides several functions depending on the arguments passed.
Usage:
ESP32-BinForge-CLI <input.bin> # Analyze .bin file
ESP32-BinForge-CLI <input.bin> <output.bin> # regenerate CRC only
ESP32-BinForge-CLI <input.bin> <data_to_add.dat> <output.bin> # merge data and regenerate
blobgen
This tool is used to create reserved binary blobs of specific sizes.
Usage:
blobgen <num_bytes> <output.h>