
Reduces total number of packages from 577 to 571 on building with: `cargo +nightly build --workspace --all-features` * ahash 0.7 -> 0.8 * Move `AHasher::new_with_keys` to `RandomState::with_seeds` given the recommendation from: aHash maintainer: https://github.com/tkaitchuck/aHash/issues/132#issuecomment-1288207069 * bindgen: 0.61 -> 0.63 * c2rust-bitfields: 0.3 -> 0.17 * criterion: 0.3 -> 0.4 * crossterm: 0.25 -> 0.26 * dynasmrt: 1.2 -> 2 * goblin: 0.5.3 -> 0.6 * hashbrown: 0.12 -> 0.13 * nix: 0.25 -> 0.26 * The `addr` arg of `mmap` is now of type `Option<NonZeroUsize>` * The `length` arg of `mmap` is now of type `NonZeroUsize` * Requires updating implementers to update `nix` as well * prometheus-client: 0.18.0 -> 0.19 * Do not box metrics * Gauges (a majority of the LibAFL metrics) are now i64 types so there is a small chance of overflow, with the u64 values that LibAFL tracks, but unlikely to be problematic. * Keep `exec_rate` as a floating point value * serial_test: 0.8 -> 1 * typed-builder: 0.10.0 -> 0.12 * windows: 0.42.0 -> 0.44 Co-authored-by: Dominik Maier <domenukk@gmail.com>
LibAFL Utils
Welcome to the LibAFL Utils folder. Here, you find some helful utilities that may be helpful for successfull fuzzing campaigns.
DeExit: ldpreload exit lib
In the deexit
folder, you'll find a ldpreloadable library, that changes calls to exit
to abort()
s.
When a target exits, it quits, and LibAFL will not be able to catch this or recover.
Abort, on the other hand, raises an error LibAFL's inprocess executor will be able to catch, thanks to its signal handlers.
Gramatron: gramatron grammars and preprocessing utils
See https://github.com/HexHive/Gramatron
libafl_benches
This folder contains benchmarks for various things in LibAFL, like hash speeds and RNGs.
Run with cargo bench