diff options
-rw-r--r-- | CONTRIBUTING.md | 4 | ||||
-rw-r--r-- | docs/env_variables.md | 2 | ||||
-rw-r--r-- | qemu_mode/README.persistent.md | 15 | ||||
-rw-r--r-- | src/afl-fuzz-init.c | 29 | ||||
-rw-r--r-- | src/afl-fuzz.c | 2 | ||||
-rwxr-xr-x | test/test-llvm.sh | 8 |
6 files changed, 26 insertions, 34 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8b4dcb6d..40f11ce8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -48,7 +48,7 @@ When working on the docs, please keep the following guidelines in mind: * Don't: fuzzing-network-service.md * Use a maximum of 80 characters per line to make reading in a console easier. * Make all pull requests against `dev`, see - [#how-to-submit-a-pull-request-to-afl](#how-to-submit-a-pull-request-to-afl). + [#how-to-submit-a-pull-request](#how-to-submit-a-pull-request). And finally, here are some best practices for writing docs content: @@ -57,4 +57,4 @@ And finally, here are some best practices for writing docs content: * Use bulleted lists to present similar content in a way that makes it easy to scan. * Use numbered lists for procedures or prioritizing. -* Link to related content, for example, prerequisites or in-depth discussions. \ No newline at end of file +* Link to related content, for example, prerequisites or in-depth discussions. diff --git a/docs/env_variables.md b/docs/env_variables.md index 8c2d5848..3db46b36 100644 --- a/docs/env_variables.md +++ b/docs/env_variables.md @@ -610,7 +610,7 @@ checks or alter some of the more exotic semantics of the tool: see [rpc_statsd.md](rpc_statsd.md). - `AFL_SYNC_TIME` allows you to specify a different minimal time (in minutes) - between fuzzing instances synchronization. Default sync time is 30 minutes, + between fuzzing instances synchronization. Default sync time is 20 minutes, note that time is halved for -M main nodes. - `AFL_NO_SYNC` disables any syncing whatsoever and takes priority on all diff --git a/qemu_mode/README.persistent.md b/qemu_mode/README.persistent.md index ef8fb71b..e89823b5 100644 --- a/qemu_mode/README.persistent.md +++ b/qemu_mode/README.persistent.md @@ -99,10 +99,7 @@ be lost at the second execution of the loop. ### 2.5) Resetting the memory state -This option restores the memory state using the AFL++ Snapshot LKM if loaded. -Otherwise, all the writeable pages are restored. - -To enable this option, set `AFL_QEMU_PERSISTENT_MEM=1`. +(obsolete chapter) ### 2.6) Reset on exit() @@ -113,15 +110,7 @@ The environment variable is `AFL_QEMU_PERSISTENT_EXITS`. ### 2.7) Snapshot -`AFL_QEMU_SNAPSHOT=address` is just a "syntactical sugar" environment variable -that is equivalent to the following set of variables: - -``` -AFL_QEMU_PERSISTENT_ADDR=address -AFL_QEMU_PERSISTENT_GPR=1 -AFL_QEMU_PERSISTENT_MEM=1 -AFL_QEMU_PERSISTENT_EXITS=1 -``` +obsolete ## 3) Optional parameters diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c index d3085d42..72a765ff 100644 --- a/src/afl-fuzz-init.c +++ b/src/afl-fuzz-init.c @@ -2443,21 +2443,20 @@ void check_crash_handling(void) { if (read(fd, &fchar, 1) == 1 && fchar == '|') { - SAYF( - "\n" cLRD "[-] " cRST - "Your system is configured to send core dump notifications to an\n" - " external utility. This will cause issues: there will be an " - "extended delay\n" - " between stumbling upon a crash and having this information " - "relayed to the\n" - " fuzzer via the standard waitpid() API.\n" - " If you're just experimenting, set " - "'AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES=1'.\n\n" - - " To avoid having crashes misinterpreted as timeouts, please \n" - " temporarily modify /proc/sys/kernel/core_pattern, like so:\n\n" - - " echo core | sudo tee /proc/sys/kernel/core_pattern\n"); + SAYF("\n" cLRD "[-] " cRST + "Your system is configured to send core dump notifications to an\n" + " external utility. This will cause issues: there will be an " + "extended delay\n" + " between stumbling upon a crash and having this information " + "relayed to the\n" + " fuzzer via the standard waitpid() API.\n" + " If you're just experimenting, set " + "'AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES=1'.\n\n" + + " To avoid having crashes misinterpreted as timeouts, please \n" + " temporarily modify /proc/sys/kernel/core_pattern, like so:\n\n" + + " echo core | sudo tee /proc/sys/kernel/core_pattern\n"); if (!getenv("AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES")) { diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index 726a2260..5ab8d7e9 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -1505,7 +1505,7 @@ int main(int argc, char **argv_orig, char **envp) { #ifdef __linux__ if (afl->fsrv.nyx_mode) { - OKF("AFL++ Nyx mode is enabled (developed and mainted by Sergej Schumilo)"); + OKF("AFL++ Nyx mode is enabled (developed and maintained by Sergej Schumilo)"); OKF("Nyx is open source, get it at https://github.com/Nyx-Fuzz"); } diff --git a/test/test-llvm.sh b/test/test-llvm.sh index 4dd35e6e..8236d138 100755 --- a/test/test-llvm.sh +++ b/test/test-llvm.sh @@ -269,9 +269,9 @@ test -e ../afl-clang-fast -a -e ../split-switches-pass.so && { { mkdir -p in echo 00000000000000000000000000000000 > in/in - AFL_BENCH_UNTIL_CRASH=1 ../afl-fuzz -Z -l 3 -m none -V30 -i in -o out -c 0 -- ./test-cmplog >>errors 2>&1 + AFL_BENCH_UNTIL_CRASH=1 AFL_NO_CRASH_README=1 AFL_SHA1_FILENAMES=1 ../afl-fuzz -Z -l 3 -m none -V30 -i in -o out -c 0 -- ./test-cmplog >>errors 2>&1 } >>errors 2>&1 - test -n "$( ls out/default/crashes/id:000000* out/default/hangs/id:000000* 2>/dev/null )" && { + test -n "$( ls out/default/crashes/* out/default/hangs/* 2>/dev/null )" && { $ECHO "$GREEN[+] afl-fuzz is working correctly with llvm_mode cmplog" } || { echo CUT------------------------------------------------------------------CUT @@ -280,6 +280,10 @@ test -e ../afl-clang-fast -a -e ../split-switches-pass.so && { $ECHO "$RED[!] afl-fuzz is not working correctly with llvm_mode cmplog" CODE=1 } + test -n "$( ls out/default/crashes/id:000000* out/default/hangs/id:000000* 2>/dev/null )" && { + $ECHO "$RED[!] filenames are not SHA1" + CODE=1 + } || true } || { $ECHO "$YELLOW[-] we cannot test llvm_mode cmplog because it is not present" INCOMPLETE=1 |