mirror of
https://gitlab.com/BinaryHardening/cfgrip
synced 2026-07-26 12:41:08 +00:00
40 lines
1.1 KiB
Markdown
40 lines
1.1 KiB
Markdown
# contributing
|
|
|
|
Pull requests are welcome. If you're planning something big, open an issue first so we don't step on each other.
|
|
|
|
## building
|
|
|
|
```sh
|
|
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:
|
|
|
|
```sh
|
|
./build/cfgrip tests/example1.exe
|
|
```
|
|
|
|
If your change affects the output format, update `tests/example1.exe.cfg` too.
|