Expand description
Bolts are no conceptual fuzzing elements, but they keep libafl-based fuzzers together.
Modules
Poor-rust-man’s downcasts to have AnyMap
The purpose of this module is to alleviate imports of the bolts by adding a glob import.
Based on https://github.com/alecmocatta/build_id (C) Alec Mocatta alec@mocatta.net under license MIT or Apache 2
Compression of events passed between a broker and clients. Currently we use the gzip compression algorithm for its fast decompression performance.
This crate manages CPU affinities.
Architecture agnostic processor features
LibAFL
functionality for filesystem interaction
The Launcher
launches multiple fuzzer instances in parallel.
Thanks to it, we won’t need a for
loop in a shell script…
A library for low level message passing
Implements a mini-bsod generator.
It dumps all important registers and prints a stacktrace.
You may use the crate::bolts::os::unix_signals::ucontext
function to get a ucontext_t
.
Operating System specific abstractions
Wrappers that abstracts references (or pointers) and owned data accesses.
The random number generators of LibAFL
Poor-rust-man’s downcasts for stuff we send over the wire (or shared maps)
A generic shared memory region to be used by any functions (queues or feedbacks too.)
Stores and restores state when a client needs to relaunch.
Uses a ShMem
up to a threshold, then write to disk.
Compiletime lists/tuples used throughout the LibAFL
universe
Traits
Create an Iterator
from a reference
Create an Iterator
from a mutable reference
Can be converted to a mutable slice
Can be converted to a slice
Has a length field
Has a ref count
Functions
Gets current milliseconds since UNIX_EPOCH
Gets current nanoseconds since UNIX_EPOCH
Current time
Format a Duration
into a HMS string
Given a u64 number, return a hashed number using this mixing function
This function is used to hash an address into a more random number (used in libafl_frida
).
Mixing function: http://mostlymangling.blogspot.com/2018/07/on-mixing-functions-in-fast-splittable.html