diff options
l--------- | Changelog.md | 1 | ||||
-rw-r--r-- | docs/Changelog.md | 1 | ||||
-rw-r--r-- | gcc_plugin/Makefile | 2 | ||||
-rw-r--r-- | include/envs.h | 97 | ||||
-rw-r--r-- | src/afl-fuzz.c | 3 |
5 files changed, 103 insertions, 1 deletions
diff --git a/Changelog.md b/Changelog.md new file mode 120000 index 00000000..c50d6ab3 --- /dev/null +++ b/Changelog.md @@ -0,0 +1 @@ +docs/Changelog.md \ No newline at end of file diff --git a/docs/Changelog.md b/docs/Changelog.md index 898591f4..b96884d7 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -23,6 +23,7 @@ sending a mail to <afl-users+subscribe@googlegroups.com>. - changed execs_per_sec in fuzzer_stats from "current" execs per second (which is pointless) to total execs per second - bugfix for dictionary insert stage count (fix via Google repo PR) + - added warning if -M is used together with custom mutators with _ONLY option - llvm_mode InsTrim: no pointless instrumentation of 1 block functions - afl-clang-fast: - show in the help output for which llvm version it was compiled for diff --git a/gcc_plugin/Makefile b/gcc_plugin/Makefile index 4dcec72f..1ee18b82 100644 --- a/gcc_plugin/Makefile +++ b/gcc_plugin/Makefile @@ -132,4 +132,4 @@ vpath % .. clean: rm -f *.o *.so *~ a.out core core.[1-9][0-9]* test-instr .test-instr0 .test-instr1 .test2 - rm -f $(PROGS) ../afl-g++-fast ../afl-g*-fast.8 + rm -f $(PROGS) afl-common.o ../afl-g++-fast ../afl-g*-fast.8 diff --git a/include/envs.h b/include/envs.h new file mode 100644 index 00000000..f9344900 --- /dev/null +++ b/include/envs.h @@ -0,0 +1,97 @@ +const char *afl_environment_variables[] = { + + "AFL_ALIGNED_ALLOC", + "AFL_ALLOW_TMP", + "AFL_ANALYZE_HEX", + "AFL_AS", + "AFL_AS_FORCE_INSTRUMENT", + "AFL_BENCH_JUST_ONE", + "AFL_BENCH_UNTIL_CRASH", + "AFL_CAL_FAST", + "AFL_CC", + "AFL_CMIN_ALLOW_ANY", + "AFL_CMIN_CRASHES_ONLY", + "AFL_CODE_END", + "AFL_CODE_START", + "AFL_COMPCOV_BINNAME", + "AFL_COMPCOV_LEVEL", + "AFL_CUSTOM_MUTATOR_LIBRARY", + "AFL_CUSTOM_MUTATOR_ONLY", + "AFL_CXX", + "AFL_DEBUG", + "AFL_DEBUG_CHILD_OUTPUT", + "AFL_DEFER_FORKSRV", + "AFL_DISABLE_TRIM", + "AFL_DONT_OPTIMIZE", + "AFL_DUMB_FORKSRV", + "___AFL_EINS_ZWEI_POLIZEI___", + "AFL_ENTRYPOINT", + "AFL_EXIT_WHEN_DONE", + "AFL_FAST_CAL", + "AFL_FORCE_UI", + "AFL_GCC_WHITELIST", + "AFL_GCJ", + "AFL_HANG_TMOUT", + "AFL_HARDEN", + "AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES", + "AFL_IMPORT_FIRST", + "AFL_INST_LIBS", + "AFL_INST_RATIO", + "AFL_KEEP_TRACES", + "AFL_KEEP_ASSEMBLY", + "AFL_LD_HARD_FAIL", + "AFL_LD_LIMIT_MB", + "AFL_LD_NO_CALLOC_OVER", + "AFL_LD_PRELOAD", + "AFL_LD_VERBOSE", + "AFL_LLVM_CMPLOG", + "AFL_LLVM_INSTRIM", + "AFL_LLVM_INSTRIM_LOOPHEAD", + "AFL_LLVM_LAF_SPLIT_COMPARES", + "AFL_LLVM_LAF_SPLIT_COMPARES_BITW", + "AFL_LLVM_LAF_SPLIT_FLOATS", + "AFL_LLVM_LAF_SPLIT_SWITCHES", + "AFL_LLVM_LAF_TRANSFORM_COMPARES", + "AFL_LLVM_NOT_ZERO", + "AFL_LLVM_WHITELIST", + "AFL_NO_AFFINITY", + "AFL_NO_ARITH", + "AFL_NO_BUILTIN", + "AFL_NO_CPU_RED", + "AFL_NO_FORKSRV", + "AFL_NO_UI", + "AFL_PATH", + "AFL_PERFORMANCE_FILE", + "AFL_PERSISTENT", + "AFL_POST_LIBRARY", + "AFL_PRELOAD", + "AFL_PYTHON_MODULE", + "AFL_PYTHON_ONLY", + "AFL_QEMU_COMPCOV", + "AFL_QEMU_COMPCOV_DEBUG", + "AFL_QEMU_DEBUG_MAPS", + "AFL_QEMU_DISABLE_CACHE", + "AFL_QEMU_PERSISTENT_ADDR", + "AFL_QEMU_PERSISTENT_CNT", + "AFL_QEMU_PERSISTENT_GPR", + "AFL_QEMU_PERSISTENT_HOOK", + "AFL_QEMU_PERSISTENT_RET", + "AFL_QEMU_PERSISTENT_RETADDR_OFFSET", + "AFL_QUIET", + "AFL_RANDOM_ALLOC_CANARY", + "AFL_REAL_PATH", + "AFL_SHUFFLE_QUEUE", + "AFL_SKIP_BIN_CHECK", + "AFL_SKIP_CPUFREQ", + "AFL_SKIP_CRASHES", + "AFL_TMIN_EXACT", + "AFL_TMPDIR", + "AFL_TOKEN_FILE", + "AFL_TRACE_PC", + "AFL_USE_ASAN", + "AFL_USE_MSAN", + "AFL_USE_TRACE_PC", + "AFL_USE_UBSAN", + "AFL_WINE_PATH", + NULL}; + diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index e995a7a0..5e5bc171 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -609,6 +609,9 @@ int main(int argc, char** argv, char** envp) { OKF("afl-tmin fork server patch from github.com/nccgroup/TriforceAFL"); OKF("MOpt Mutator from github.com/puppet-meteor/MOpt-AFL"); + if (sync_id && force_deterministic && (getenv("AFL_CUSTOM_MUTATOR_ONLY") || getenv("AFL_PYTHON_ONLY"))) + WARNF("Using -M master with the AFL_..._ONLY mutator options will result in no deterministic mutations being done!"); + check_environment_vars(envp); if (fixed_seed) OKF("Running with fixed seed: %u", (u32)init_seed); |