You are browsing as a guest. Sign up (or log in) to start making projects!

1h 36m 5s logged

BINLens is now documented, tested, manually validated on STM32-style HEX/BIN inputs, and prepared for the v1.0 GitHub release.

Output Polish

Updated the CLI report for stable terminal output:

  • clearer input summary
  • consistent region, gap, overlap, entropy, and vector-table sections
  • -v now clearly exposes source chunks and entropy windows
  • --heatmap renders a compact entropy view
  • unknown input formats now include the input path in the error message

Generated the requested screenshot:

  • devlogs/ss.png

The PNG is rendered from real binlens output against testfiles/STM32-DEMO.hex.

Hardening

Cleaned up invalid-input behavior:

  • case-insensitive --format
  • case-insensitive .hex, .ihex, and .bin extension inference
  • explicit rejection for overly long input paths
  • clearer help text for --base and -v
  • raw BIN size guard before allocation

Validated common error cases:

  • invalid entropy chunk size
  • invalid format
  • bad Intel HEX checksum
  • missing input file

Documentation

Updated:

  • README.md
  • PRD.md
  • ARCHITECTURE.md
  • CONTRIBUTING.md

Added:

  • TESTING.md

The docs now describe the actual v1 behavior instead of the early scaffold state.

Test Corpus

The fixture set now covers:

  • minimal Intel HEX
  • extended linear address
  • extended segment address
  • bad checksum
  • record after EOF
  • STM32-like vector table image

The test workflow is documented in TESTING.md.

Manual Validation

Validated real STM32 HEX:

testfiles/STM32-DEMO.hex

Converted it to raw BIN with objcopy and validated:

build/manual/STM32-DEMO.bin

Both paths detected:

  • address span 0x08000000 - 0x08001E2F
  • high-confidence vector table at 0x08000000
  • reset handler target inside loaded firmware
  • entropy heatmap output

Build Checks

Native Windows GCC:

test_bin_loader: ok
test_entropy: ok
test_hex_parser: ok
test_memmap: ok
test_smoke: ok
test_vector_table: ok

Docker Linux:

make clean
make test
make

Docker/Zig macOS check:

  • Mach-O x86_64 binary produced
  • Mach-O arm64 binary produced

Docker initially had a Desktop engine error and was recovered by restarting Docker Desktop.

Release State

Released on GitHub with compiled binaries for Windows and Linux.
https://github.com/DevaanshPathak/BINLens/releases/tag/v1.0

0
0

Comments 0

No comments yet. Be the first!