
* reduce diffexecutor constraints for new (so it may be used in a manager-less environment) * add differential observers * finish differential observeration * requirement for observers (weak), default impl for time observer * make the map swapper, revisit how differentialobserver is implemented * semi-specialise multimap, add example * improve example slightly * fix clippy lints * fix last clippy issue * better docs + example flow * improve example: correct map sizing + multimap vs split slice * correct some comments * fix tests + slight bit more docs * fix bindings * fixups for the CI * typo fix Co-authored-by: Dominik Maier <domenukk@gmail.com> Co-authored-by: Dominik Maier <dmnk@google.com>
Baby fuzzer (swap differential)
This is a minimalistic example about how to create a libafl-based differential fuzzer which swaps out the AFL map during execution so that both maps may be measured.
It runs on a single core until an input is discovered which both inputs accept.
The tested programs are provided in first.c
and second.c
.
You may execute this fuzzer with cargo make run
. If you prefer to do so manually, you may also simply use
cargo build --release --bin libafl_cc
followed by cargo run --release --bin fuzzer_sd