Expand description
Executors take input, and run it in the target.
Re-exports
pub use inprocess::InProcessExecutor;
pub use inprocess::InProcessForkExecutor;
pub use differential::DiffExecutor;
pub use timeout::TimeoutExecutor;
pub use forkserver::Forkserver;
pub use forkserver::ForkserverExecutor;
pub use forkserver::TimeoutForkserverExecutor;
pub use combined::CombinedExecutor;
pub use shadow::ShadowExecutor;
pub use with_observers::WithObservers;
pub use command::CommandExecutor;
Modules
- A
CombinedExecutor
wraps a primary executor and a secondary one In comparison to thecrate::executors::DiffExecutor
it does not run the secondary executor inrun_target
. - The command executor executes a sub program for each run
- Executor for differential fuzzing. It wraps two executors that will be run after each other with the same input. In comparison to the
crate::executors::CombinedExecutor
it also runs the secondary executor inrun_target
. - Expose an
Executor
based on aForkserver
in order to execute AFL/AFL++ binaries - The
InProcessExecutor
is a libfuzzer-like executor, that will simply call a function. It should usually be paired with extra error-handling, such as a restarting event manager, to be effective. Executor
Python bindings- A
ShadowExecutor
wraps an executor to have shadow observer that will not be considered by the feedbacks and the manager - Timeout executor. Not possible on
no-std
Windows orno-std
, but works for unix ATimeoutExecutor
sets a timeout before each target run
Enums
- How one of the diffing executions finished.
- How an execution finished.
Traits
- An executor takes the given inputs, and runs the harness/target.
- Holds a tuple of Observers