
* Support capture stdout/stderr for ForkserverExecutor Reduce code duplication for ForkserverExecutor and CommandExecutor * use memfd_create from nix for macos and remove debug print * resolve macos issue * clippy * fix macos again * fix docs * fix imports * format code * fix docs again * fix sample * fix another wrong import * restore cargo.lock * add an inner for target args * fix and docs * fix * rename to ChildArgs and ChildArgsInner * revert forkserver_simple * allow debug child with observers * fmt * std marker * fix * move implementation to observers * implement serde * Add a forkserver_capture_stdout * renaming * fix * fmt * fix CommandExecutor * add a test to check capture * fix imports * clippy * fix sample * update sample to make it closer to real usecase * also CommandExecutor for sample * format * add forkserver_capture_stdout to CI * fix doc * accidentally remove * fix non_std * fix for windows * remove useless lint * remove spurious fuzzer * fix for windows again * fix imports * fix doc sample * fix docs * fix sample * fmt * clippy * clippy again * fix msrv * have cargo.lock for sample fuzzer * avoid double read * fix fsrv and cmd * fix sample * fix docs for windows * fix typo * clippy again * fix exec * typo * clippy * update * fix nyx executor * cliipy * fmt again * last clippy * clippy
657 B
657 B
Simple Forkserver Fuzzer to Capture Stdout
This is a simple example fuzzer to showcase how to capture stdout(stderr) from ForkserverExecutor
.
Usage
You can build this example by cargo build --release
.
This downloads AFLplusplus/AFLplusplus and compiles the example harness program in src/program.c with afl-cc
Run
After you build it you can run
cp ./target/release/forkserver_capture_stdout .
to copy the fuzzer into this directory,
and you can run
taskset -c 1 ./forkserver_capture_stdout ./target/release/program ./corpus/ -t 1000
to run the fuzzer.
taskset
binds this process to a specific core to improve the throughput.