* introducing MappingMutator
* extending mapping mutators
* adding example fuzzer
* making crossover mutators more flexible.
* moving example fuzzer
* fixing dependency paths
* formatting
* fixing no std error
* fixing broken docs link
* fixing import paths
* fixing imports
* more format fixing
* adding new example fuzzer to CI
* fixing further imports
* fixing formatting
* formatting fixes
* improving docs for the example fuzzer
* adding documentation and tests to mapping mutators
* make extraction function for mapped crossover mutators more general
* adding MutVecFunctionMappingMutator
* Introducing WrapsReference
* code cleanup for mapping mutators
* adding tests and docs to mapping mutators
* reformatting comments
* fixing merging of mutators in example fuzzer
* formatting
* formatting v2
* cleanup according to PR comments
* adding type constraint to MappedInput helper functions to remove the need to specify types
* matching functions passed to mapped_havoc_mutations
* removing unnecessary constraints
* mapping mutators now contain the name of their inner mutator
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* feat: revert now unecessary workaround, use rust-lang.rust-analyzer
* fix: specify llvm version and symlink llvm. Thanks @tokatoka
* fix: pass the llvm version to createAliases.sh
* fix: shell script lints
* fix: shell script lints
* feat: use cargo binstall to make the container build faster
- Only display 1 digit after . for value above 1k
- Only display 2 digits after . for value above 1m
3.254k exec/sec becomes => 3.2k exec/sec
3.254M exec/sec becomes => 3.25M exec/sec
* Better documentation headers (clippy)
* more doc
* more fixes
* Even more
* more
* even more
* concrete
* fmt
* even more more
* tiny typo
* more
* more
* More
* more
* more docs?
* more docs
* bolts: Support dump_registers on Windows/x86
* bolts: Support dump_registers on Windows/aarch64
* bolts: Fix sig_ign() on Windows/x86
* bolts: Fix format of dump_registers under Windows
* bolts: Add test for dump_register under Windows
* the rustup official command to update is 'rustup update' not 'rustup upgrade', although to catch mistakes, 'rustup upgrade' also fallback to update
* fix references to baby_fuzzer and baby_fuzzer new location
* modernize a bit the manifests and code snippets for the baby_fuzzer to make the experience more consistent with the current rust compiler
* fix another reference path for baby fuzzers
* fix frida fuzzers locations in the book
* fix the concolic hybrid fuzzers location in the book
* fix baby_no_std location in the book
* fix nyx fuzzers location in the book
* Revert "modernize a bit the manifests and code snippets for the baby_fuzzer to make the experience more consistent with the current rust compiler"
This reverts commit c58bfbfffd06a3afa8338043dde6ed59b03d8178.
* add markdown link check in ci
* fix broken links when possible.
configuration file for md checker.
* accept code 200...
* more fixes
* more fixes
* more fixes
* 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
* Remove stateless qemu executor
* All harnesses take a reference to an emulator as parameter now
* harness takes an emulator as first parameter, and input as second parameter (opposite of previous definition)
* bump libafl qemu dependencies to the latest version
* libafl-fuzz: simplify Makefile.toml
* Re-introduce support for old AFL++ forkserver
* clippy
* libafl-fuzz: add support for QEMU mode
* libafl-fuzz: simplify Makefile
* Update LibAFL QEMU to the latest version (V9.0.2 update, important bug fixes, ... - check the dedicated repo for more info)
* fix bug in hook execution, causing first execution hooks to be run multiple times.