FRET-LibAFL/fuzzers/baby_fuzzer_swap_differential
Addison Crump 0515eebbd2
Differential observers (#868)
* 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>
2022-11-20 23:56:23 +01:00
..
2022-11-20 23:56:23 +01:00
2022-11-20 23:56:23 +01:00
2022-11-20 23:56:23 +01:00
2022-11-20 23:56:23 +01:00
2022-11-20 23:56:23 +01:00
2022-11-20 23:56:23 +01:00
2022-11-20 23:56:23 +01:00
2022-11-20 23:56:23 +01:00
2022-11-20 23:56:23 +01:00
2022-11-20 23:56:23 +01:00
2022-11-20 23:56:23 +01:00
2022-11-20 23:56:23 +01:00

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