Skip to content

Releases: Mr-PauI/ESP32-BinForge

0.7

29 Dec 20:30
d8b7611

Choose a tag to compare

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>