A work on AFL by guiding fuzzer with function relevance.
To Compile AFL:
cd /path/to/afl
make; cd llvm_mode/; make
To Compile the test subject:
CC=/path/to/afl/afl-clang-fast ./configure; make
python util/FInfo.py FInfo.txt FInfo-pre.txt
To run afl:
/path/to/afl/afl-fuzz -i /input/dir/ -o /output/dir/ -F FInfo-pre.txt -I 0 -- /subject/executable @@
To compile SIR benchmark programs with argument fuzzing, add:
#include "/path/to/afl/experimental/argv_fuzzing/argv-fuzz-inl.h"
to the file containig main(), add :
AFL_INIT_SIR();
near the very beginning of main().
Then, compile with afl-clang-fast, preprocess FInfo.txt with FInfo.py, run afl:
/path/to/afl/afl-fuzz -i /input/dir/ -o /output/dir/ -F FInfo-pre.txt -I 0 ./subject/executable
==================
american fuzzy lop
==================
Written and maintained by Michal Zalewski <[email protected]>
Copyright 2013, 2014, 2015, 2016 Google Inc. All rights reserved.
Released under terms and conditions of Apache License, Version 2.0.
For new versions and additional information, check out:
http://lcamtuf.coredump.cx/afl/
To compare notes with other users or get notified about major new features,
send a mail to <[email protected]>.