Module libafl::bolts

source ·
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