
* Add a custom typed builder for Emulator * Unify qemu_init for usermode and systemmode * Remove env from qemu init args (it is unused in QEMU in practice) * expose thread hooks to systemmode * rename qemu_config to config * Replace ExitHandler by EmulatorDriver * Reorder generics alphabetically for Qemu{,Fork}Executor * Moved snapshot manager to Emulator to continue centralizing mains objects in the same structure * Reimplementation of CommandManager working with enums instead of tables * Macro has been adapted to do this work automatically * Moved snapshot stuff to dedicated module * Removed many Rc<RefCell<...>>, now useless with the removal of vtables * Builder given by Emulator via `Emulator::builder`. Reduced trait bound overhead
LibAFL Fuzzers
Example fuzzers
You can find here all the example fuzzers built on top of LibAFL. They are sorted by fuzzer types:
baby
: Minimal fuzzers demonstrating a specific feature.forkserver
: Fuzzers using a forkserver-style executor.frida
: Fuzzers using Frida.fuzzbench
: Fuzzbench fuzzers.libpng
: Fuzzers targeting libpng.nyx
: Fuzzers based on Nyx.others
: Various fuzzers, with no specific categories.qemu
: Fuzzers using Qemu.stb
: Fuzzers targeting stb.
Paper Artifacts
Multiple papers based on LibAFL have been published alongside artifacts. Here is a list of LibAFL artifacts:
- Fuzzbench implementation: https://github.com/AFLplusplus/libafl_fuzzbench
- LibAFL QEMU experiments: https://github.com/AFLplusplus/libafl_qemu_artifacts