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 interactionThe
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
universeTraits
Create an
Iterator
from a referenceCreate an
Iterator
from a mutable referenceCan 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 stringGiven 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