1074 Commits

Author SHA1 Message Date
van Hauser
2ba88dcd8a skip large files, dont bail 2020-07-23 14:17:29 +02:00
van Hauser
1ddb70e0d9 fix compilation 2020-07-23 05:08:20 +02:00
Andrea Fioraldi
af10c05ac3 ascii redqueen 2020-07-22 18:22:31 +02:00
Andrea Fioraldi
a46a733dbe fix bugs 2020-07-22 17:04:57 +02:00
Andrea Fioraldi
b015e4f07a epand havoc now env 2020-07-22 16:15:16 +02:00
van Hauser
44928a0265 write expand havoc value to fuzzer_stats 2020-07-22 02:41:19 +02:00
Shengtuo Hu
d90328f6be
Allow the custom mutator to generate larger trimmed data (#463) 2020-07-22 00:00:21 +02:00
van Hauser
ce9b4698fe added andrea's splicing, added cycle_schedules 2020-07-21 20:53:51 +02:00
van Hauser
9a33a29b4a
Merge pull request #462 from AFLplusplus/dev
Dev
2020-07-21 13:17:29 +02:00
van Hauser
6c163910ee debug test for rng 2020-07-20 12:08:31 +02:00
h1994st
67d2e6319b Skip the empty test case generated by the custom trimming 2020-07-18 23:20:32 -04:00
h1994st
5e10f660e8 Allow the fuzzer to write empty buffer (i.e., len == 0) to the file 2020-07-18 02:16:04 -04:00
Andrea Fioraldi
c2b04bdf6c queue buffer and new splice havoc mutation 2020-07-16 14:32:41 +02:00
Dominik Maier
4314e59af9 code format 2020-07-16 02:03:52 +02:00
Dominik Maier
a84c958647 fixed mem leak in redqueen 2020-07-16 01:00:39 +02:00
Dominik Maier
1ec2615a3e tiny fixes 2020-07-16 00:53:08 +02:00
Andrea Fioraldi
ee77fe4094 improve len encoding in redqueen 2020-07-15 10:35:38 +02:00
van Hauser
383b280531 added frida gum extension 2020-07-14 23:26:11 +02:00
David Carlier
90adc2cb85 illumos littlefixes: little typo for cpu binding and
even tough gcc plugin less good than LLVM, clang
is more buggy on this os.
2020-07-09 15:43:05 +01:00
van Hauser
83790d65af eliminate race condition for cpu affinity on -M/-S 2020-07-08 11:16:39 +02:00
van Hauser
0aed549df1 warn rather than fail if AFL_MAP_SIZE is set and not understood by instrumenter 2020-07-06 14:11:21 +02:00
van Hauser
75fa1ac3b0 warn rather than fail if AFL_MAP_SIZE is set and not understood by instrumenter 2020-07-06 14:10:14 +02:00
Andrea Fioraldi
139665c01d ubsan options 2020-07-03 10:20:10 +02:00
van Hauser
97cef46b62 warn on deprecated env vars 2020-07-01 10:03:34 +02:00
van Hauser
4ec29928bf because github errors reput typo fix 2020-07-01 09:30:14 +02:00
van Hauser
9d5007b18e
Big renaming (#429)
* first commit, looks good

* fix ascii percentage calc

* fix ascii percentage calc

* modify txt configs for test

* further refinement

* Revert "Merge branch 'text_inputs' into dev"

This reverts commit 6d9b29daca46c8912aa9ddf6c053bc8554e9e9f7, reversing
changes made to 07648f75ea5ef8f03a92db0c7566da8c229dc27b.

* blacklist -> ignore renaming

* rename whitelist -> instrumentlist

* reduce the time interval in which the secondaries sync

Co-authored-by: root <root@localhost.localdomain>
2020-06-30 23:34:26 +02:00
van Hauser
07648f75ea workaround for recent afl++ versions 2020-06-29 12:21:14 +02:00
van Hauser
e5e485fcdb fix autodict 2020-06-29 00:58:05 +02:00
van Hauser
6d0f086d9c less problematic definitions 2020-06-28 23:50:25 +02:00
van Hauser
c25a602a03 less problematic definitions 2020-06-28 23:47:57 +02:00
van Hauser
81974c4d5e debug code 2020-06-28 22:50:18 +02:00
van Hauser
ee17782e61 fix output for LTOinstrim 2020-06-28 00:13:31 +02:00
van Hauser
29e41a09d5 fix typos 2020-06-27 18:16:27 +02:00
hexcoder-
4103687f76 afl-sharedmem.c: fix leaks on error paths (SysV shared memory) 2020-06-27 00:13:24 +02:00
Andrea Fioraldi
976e99b1d4 original fix for calibration error 2020-06-26 10:17:21 +02:00
van Hauser
1ecfd78418 implement sharedmem mmap for cmplog 2020-06-26 09:13:07 +02:00
hexcoder-
07fead0466 fix shared memory leaks in afl-showmap, initialize cmplog_mode 2020-06-26 01:14:21 +02:00
van Hauser
8bd8442bcc fix for schedules 2020-06-25 22:44:46 +02:00
van Hauser
171b1923e9 shmem release fix 2020-06-25 22:02:02 +02:00
van Hauser
8d5eb9487d make llvm_mode pcguard instrumentation collision free 2020-06-25 20:09:56 +02:00
Dominik Maier
c8f60a7fbf initialized variable 2020-06-25 17:25:16 +02:00
van Hauser
8178f4dfdd remove radamsa, add radamsa custom mutator 2020-06-25 16:51:29 +02:00
Andrea Fioraldi
4a3305c007
Merge pull request #425 from dgmelski/fix-recalibration
Fix saturated maps & stability cliff in recalibration
2020-06-25 15:16:10 +02:00
van Hauser
b5573b3adb add seek power schedule, remove update stats in calibration, fix help output 2020-06-25 10:33:59 +02:00
van Hauser
15dd4ad177 fix plot 2020-06-25 08:50:34 +02:00
David Melski
d540971443 Fix saturated maps & stability cliff in recalibration
I have observed two problems:

  1. A sudden "stability cliff" where stability drops precipitously.

  2. A sudden jump to a 100% saturated "density map".

Both issues are due to attempted "recalibration" of a case at the
beginning of fuzz_one_original() or mopt_common_fuzzing().  See the
comments "CALIBRATION (only if failed earlier on)" in those functions
and the subsequent call to calibrate_case().

At those calls to calibrate_case(), afl->fsrv.trace_bits holds
trace_bits for a run of the SUT on a prior queue entry.  However,
calibrate_case() may use the trace_bits as if they apply to the
current queue entry (afl->queue_cur).

Most often this bug causes the "stability cliff".  Trace bits are
compared for runs on distinct inputs, which can be very different.
The result is a sudden drop in stability.

Sometimes it leads to the "saturated map" problem.  A saturated
density map arises if the trace bits on the previous entry were
"simplified" by simplify_trace().  Simplified traces only contain the
values 1 and 128.  They are meant to be compared against
virgin_crashes and virgin_tmouts.

However, this bug causes the (stale) simplified trace to be compared
against virgin_bits during a call to has_new_bits(), which causes
every byte in vigin_bits to be something other than 255.  The overall
map density is determined by the percentage of bytes not 255, which
will be 100%.  Worse, AFL++ will be unable to detect novel occurrences
of edge counts 1 and 128 going forward.

This patch avoids the above issues by clearing q->exec_cksum when
calibration fails.  Recalibrations are forced to start with a fresh
trace on the queue entry.

Thanks to @andreafioraldi for suggesting the current, improved patch.
2020-06-24 17:59:04 -04:00
van Hauser
1d7c76d141 decrease time to sync for main 2020-06-24 17:37:16 +02:00
van Hauser
fce010f051 add -D option for -S 2020-06-24 11:14:00 +02:00
van Hauser
bdc8e3b79e create .synced/NAMES.last to document last sync attempts 2020-06-24 11:09:33 +02:00
van Hauser
49a769ac06 lto whitelist in test.sh 2020-06-23 21:23:10 +02:00