Files

1.1 KiB

contributing

Pull requests are welcome. If you're planning something big, open an issue first so we don't step on each other.

building

cmake -B build
cmake --build build --config Release

Capstone is fetched automatically via FetchContent. You don't need to install it.

what needs work

  • More architectures — right now it's x86/x86-64 only. ARM, AArch64, etc would be nice.
  • Better indirect call resolution — the register tracer is basic. It could be smarter.
  • More binary formats — Mach-O isn't supported yet.

style

  • No tabs. 4 spaces.
  • No comments unless the code is genuinely confusing.
  • Match the existing style. If you're changing something, make it look like it belongs.
  • Keep it simple. This is not a framework.

committing

Write short commit messages. Use git rebase to keep the history clean. No merge commits.

testing

There's a test binary in tests/. Run cfgrip on it and make sure the output is valid JSON:

./build/cfgrip tests/example1.exe

If your change affects the output format, update tests/example1.exe.cfg too.