v0.4.2 — who verifies the verifier
Cross-checks the readers the way mature tools do (Csmith, RISU, NIST vectors), and ships the bugs that found.
Added
- Differential + fuzz testbed: pure parser vs lief over real x64/x86 binaries; round-trips; malformed input never crashes/warns/false-verifies; soundness.
- Cross-engine oracle + KAT: hand-verified instruction vectors, pure decoder vs capstone, pure emulator vs Unicorn, engine fuzz. 151 tests.
Fixed (both found by the testbed)
- MicroEmulator raised on a wild esp+push from hostile code instead of faulting; now halts like Unicorn.
- Pure disassembler dropped bytes (uncounted REX prefix, truncated mov); now accounts for every byte.
- lief warning leak on malformed input suppressed.
pip install -U reverify