Commit Graph

601 Commits

Author SHA1 Message Date
23872d6f2c add documentation 2020-10-14 16:38:29 +02:00
56ac3fcdc5 configurable testcache with malloc (#581)
* cache item number to cache memory size

* reload testcase if trimming changed the size

* fix splicing selection

* slim splicing

* import sync fix

* write testcache stats to fuzzer_stats

* fix new seed selection algo

* malloc+read instead of mmap

* fix

* testcache is configurable now and no reference counts

* fixes compilation, test script

* fixes

* switch TEST_CC to afl-cc in makefile

* code format

* fix

* fix crash

* fix crash

* fix env help output

* remove unnecessary pointer resets

* fix endless loop bug

* actually use the cache if set

* one more fix

* increase default cache entries, add default cache size value to config.h

Co-authored-by: hexcoder- <heiko@hexco.de>
2020-10-14 15:30:30 +02:00
d9b63766df fix new seed selection algo 2020-10-12 11:12:16 +02:00
b7e0490bcd Revert "Merge branch 'memcache_marc' into dev"
This reverts commit c03fbcedaa, reversing
changes made to dab017ddda.
2020-10-12 03:44:34 +02:00
c03fbcedaa Merge branch 'memcache_marc' into dev 2020-10-12 03:18:54 +02:00
6a397d6111 add new seed selection algo and make it the default 2020-10-11 14:31:31 +02:00
c075003bd2 Merge pull request #571 from Edznux/statsd_implem
Statsd support implementation
2020-10-10 10:36:48 +02:00
125f8b6ba7 -m none is the default now 2020-10-09 23:23:44 +02:00
43d8296504 increase default cache size 2020-10-09 16:45:27 +02:00
0220a8ff66 Add env var toggle for StatsD 2020-10-08 20:48:46 +02:00
794e8d2d67 change HAVOC_MAX_MULT* to 64 2020-10-07 08:32:58 +02:00
17abe7d36e Fixed segfault because wrong order in args 2020-10-06 23:23:45 +02:00
3d7bdc9f0b [WIP: segfault on non dogstatsd] Adding MACROS for format 2020-10-06 23:00:11 +02:00
693252c737 fixed missing quote warning 2020-10-06 16:17:53 +02:00
74dc227c44 code format 2020-10-06 15:38:36 +02:00
a4b60ca5b6 testcase cache added 2020-10-06 15:37:59 +02:00
9ac9aa2511 Fix code format 2020-10-05 22:21:24 +02:00
916b6fd317 Refactor global var into afl_state_t struct 2020-10-05 22:21:01 +02:00
2bf3a70e2b Correctly handle env var. 2020-10-05 22:01:50 +02:00
1a12db1b59 Code format 2020-10-04 16:11:05 +02:00
1e0bc2e5c3 Merge remote-tracking branch 'origin/dev' into statsd_implem 2020-10-04 16:03:15 +02:00
b0de6fed11 Mention tags format in macro's name 2020-10-04 14:29:50 +02:00
ca6106a1dc Refactor 2020-10-04 14:24:25 +02:00
6006cce0cf Define config, change parent func to show_stats 2020-10-04 03:24:09 +02:00
ff8c6d2415 Adds other metrics 2020-10-04 03:22:28 +02:00
26dcddab0c Add config ifdef 2020-10-03 23:56:55 +02:00
2239743361 Rewrote format metric to be simpler/more static 2020-10-01 00:11:01 +02:00
383cd487a2 small improvements to Marcel's patch, fix laf-intel + redqueen crashes 2020-09-29 15:02:57 +02:00
e87eca7fe8 Patching and improving AFLFast schedules. 2020-09-29 11:53:27 +00:00
e69b25e34b increase havoc_stack_pow2 on no finds 2020-09-28 10:13:00 +02:00
a55e0d1189 WIP envs 2020-09-25 23:28:15 +02:00
6b3b1775b6 improving on splice candidate check patch 2020-09-25 12:03:24 +02:00
3334eeb4eb Merge pull request #564 from wakolzin/dev
Fix potential endless loop in custom_mutator_stage
2020-09-25 11:39:25 +02:00
e38ca0e750 setting HAVOC_STACK_POW2 to 4, as fuzzbench shows that too mach mutation is less effective 2020-09-25 10:48:08 +02:00
888d63748a Fix potential endless loop in custom_mutator_stage
Co-authored-by: Ivan Gulakov <gulakov@ispras.ru>
2020-09-24 18:25:32 +03:00
7ff9800804 fix exploit, mmopt and rare schedule 2020-09-19 15:13:15 +02:00
1225f3aa70 improved defaults from fuzzbench results 2020-09-18 10:29:49 +02:00
4561a9590f WIP. basic state working: submitting statsd metrics (path, crashes, hangs) 2020-09-17 01:29:09 +02:00
380051868a add libfuzzer custom mutator, minor enhancements and fixes 2020-09-10 15:26:46 +02:00
9544b3dbf2 rewrite gcc plugin
When we started using AFL, it did not have an integrated GCC plugin.
There was one proposed by Austin Seipp, but for various reasons we
ended up using some of its infrastructure (runtime and wrapper), but
writing the GCC plugin proper from scratch.

With AFL++'s renewed interest in a GCC plugin, we rebased ours, with
some features that are or were missing in the one that was integrated:

* efficient, fully-functional inline and out-of-line instrumentation

Inline instrumentation was work in progress in the original plugin.
Controlled by AFL_GCC_OUT_OF_LINE.

* reproducible instrumentation

Obey -frandom-seed for pseudorandom number generation.

* licensing clarity and strict compliance

GPLv3+ for the plugin, that uses GCC internals; add a copy of the
license, as required.

* allow/deny list support

Copied and adjusted from the LLVM plugin implementation.

* neverZero support

Not as compact as the asm-wrapper version, but likely more efficient.
Both are quite thread-unsafe, with different caveats.
Controlled with AFL_GCC_SKIP_NEVERZERO.
2020-09-08 14:55:19 +02:00
10f775be07 conflicts 2020-09-08 11:19:17 +02:00
2508922288 cmp dict for LTO 2020-09-05 15:49:10 +02:00
e30b2c6af6 final changes for pre-3.0 2020-09-05 13:18:28 +02:00
4b3ad5f037 add cull queue, -i subdir traversal 2020-09-05 12:32:10 +02:00
fac108476c v2.68c 2020-09-04 22:50:45 +02:00
0625eb0a05 avoid signed ints for amounts (which are positive) 2020-09-04 22:26:39 +02:00
6c715f1a69 more changes to fuzzer_setup 2020-09-04 17:04:42 +02:00
50f61b64b1 Make open_file() inline 2020-09-04 16:22:22 +02:00
809a7cffe2 Write set environment variables in an env file style. 2020-09-04 16:02:09 +02:00
6adaacbb3a Seperate fuzzer_setup from fuzzer_stats, only write fuzzer_setup at the start 2020-09-04 15:54:57 +02:00