Module libafl::inputs

source ·
Expand description

Inputs are the actual contents sent to a target for each exeuction.

Re-exports

pub use bytes::BytesInput;
pub use encoded::*;
pub use gramatron::*;
pub use generalized::*;

Modules

The BytesInput is the “normal” input, a map of bytes, that can be sent directly to the client (As opposed to other, more abstract, inputs, like an Grammar-Based AST Input)
The EncodedInput is the “normal” input, a map of codes, that can be sent directly to the client (As opposed to other, more abstract, inputs, like an Grammar-Based AST Input) See also the paper on token-level fuzzing
The GeneralizedInput is an input that ca be generalized to represent a rule, used by Grimoire
The gramatron grammar fuzzer

Structs

InputConverter that uses a closure to convert
An input for tests, mainly. There is no real use much else.
Basic InputConverter with just one type that is not converting

Traits

Contains an internal bytes Vector
Can be represented with a vector of bytes. This representation is not necessarily deserializable. Instead, it can be used as bytes input for a target
An input for the target
Convert between two input types with a state
Defines the input type shared across traits of the type. Needed for consistency across HasCorpus/HasSolutions and friends.