First proper release. Cfgrip is a PE/ELF x86/x64 CFG extractor that disassembles a binary, resolves every jump and call (GOT, jump tables, register tracing), and dumps the full control flow graph as JSON.
What works:
- PE and ELF, both 32 and 64-bit
- Indirect call resolution through GOT, jump tables, backward register tracing
- Function discovery from entry point, exports, call targets, prolog scanning, exception tables, and data section pointers
- Three output modes: full graph, subs-only (entry-point reachable only), and clean (jump-threaded, dead-block pruned, with stack deltas and xrefs)
- PLT stub / import thunk detection
Bug fixes included in this release:
- ELF symbol names were parsed but never passed to the builder, so function names were always blank unless they were exports
- PE export table parser was a stub that did nothing
- 32-bit ELF loader returned success without parsing anything
- DT_NEEDED imports were attributed to only the first library found
Build requires CMake and a C++17 compiler. Capstone is fetched automatically.