474 Commits

Author SHA1 Message Date
van Hauser
383cd487a2 small improvements to Marcel's patch, fix laf-intel + redqueen crashes 2020-09-29 15:02:57 +02:00
Marcel Boehme
e87eca7fe8 Patching and improving AFLFast schedules. 2020-09-29 11:53:27 +00:00
van Hauser
e69b25e34b increase havoc_stack_pow2 on no finds 2020-09-28 10:13:00 +02:00
Edznux
a55e0d1189
WIP envs 2020-09-25 23:28:15 +02:00
van Hauser
6b3b1775b6 improving on splice candidate check patch 2020-09-25 12:03:24 +02:00
van Hauser
3334eeb4eb
Merge pull request #564 from wakolzin/dev
Fix potential endless loop in custom_mutator_stage
2020-09-25 11:39:25 +02:00
van Hauser
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
Vitalii Akolzin
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
van Hauser
7ff9800804 fix exploit, mmopt and rare schedule 2020-09-19 15:13:15 +02:00
van Hauser
1225f3aa70 improved defaults from fuzzbench results 2020-09-18 10:29:49 +02:00
Edznux
4561a9590f
WIP. basic state working: submitting statsd metrics (path, crashes, hangs) 2020-09-17 01:29:09 +02:00
van Hauser
380051868a add libfuzzer custom mutator, minor enhancements and fixes 2020-09-10 15:26:46 +02:00
Alexandre Oliva
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
Andrea Fioraldi
10f775be07 conflicts 2020-09-08 11:19:17 +02:00
van Hauser
2508922288 cmp dict for LTO 2020-09-05 15:49:10 +02:00
vanhauser-thc
e30b2c6af6 final changes for pre-3.0 2020-09-05 13:18:28 +02:00
vanhauser-thc
4b3ad5f037 add cull queue, -i subdir traversal 2020-09-05 12:32:10 +02:00
van Hauser
fac108476c v2.68c 2020-09-04 22:50:45 +02:00
hexcoder-
0625eb0a05 avoid signed ints for amounts (which are positive) 2020-09-04 22:26:39 +02:00
van Hauser
6c715f1a69 more changes to fuzzer_setup 2020-09-04 17:04:42 +02:00
Thomas Rooijakkers
50f61b64b1
Make open_file() inline 2020-09-04 16:22:22 +02:00
Thomas Rooijakkers
809a7cffe2
Write set environment variables in an env file style. 2020-09-04 16:02:09 +02:00
Thomas Rooijakkers
6adaacbb3a
Seperate fuzzer_setup from fuzzer_stats, only write fuzzer_setup at the start 2020-09-04 15:54:57 +02:00
van Hauser
4c48d3a3ad update xxh3 to 0.8.0, fix is_ascii 2020-09-03 09:59:23 +02:00
Andrea Fioraldi
b8d3a97a4f build with qemuafl 2020-09-01 13:08:32 +02:00
Andrea Fioraldi
75c38d6243 Merge branch 'dev' of github.com:vanhauser-thc/AFLplusplus into dev 2020-09-01 12:36:13 +02:00
Andrea Fioraldi
6f75100602 qemuafl envs 2020-09-01 12:36:04 +02:00
van Hauser
664daa2f3c add qemu driver env var 2020-09-01 01:12:40 +02:00
Dominik Maier
4697e4a5a5 description for AFL_MAX_DET_EXTRAS added 2020-08-31 12:26:41 +02:00
Dominik Maier
92b1f9cf36 added SO link about rand for clarification 2020-08-31 12:11:38 +02:00
van Hauser
4566bcf122 code-format 2020-08-31 10:57:01 +02:00
Dominik Maier
4be0ea596b rand unlikely added 2020-08-26 13:04:03 +02:00
Dominik Maier
96ef7083c8 using unbiased rand_below 2020-08-26 05:28:33 +02:00
van Hauser
19eddbb0c7 make py functions as optional as they are in the doc 2020-08-24 18:12:08 +02:00
van Hauser
6a34c5aa3e fix python implementation for new function 2020-08-24 18:06:07 +02:00
van Hauser
c7f0d30668 added afl_custom_fuzz_count 2020-08-24 17:32:41 +02:00
Marius Muench
425908a00c
Option for specifying forkserver initialization timeout via environment variable (#522)
* Addition of AFL_FORKSRV_INIT_TMOUT env var

This commit introduces a new environment variable which allows to
specify the timespan AFL should wait for initial contact with the
forkserver.

This is useful for fuzz-targets requiring a rather long setup time
before the actual fuzzing can be started (e.g., unicorn).

* add .swp files to .gitignore

* Inherit init_tmout in afl_fsrv_init_dup

Without this patch, the forkserver would spawn with a timeout of 0 in
cmplog mode, leading to an immediate crash.

Additionally, this commit removes a spurious whitespace.

* Initialize afl->fsrv.init_tmout in afl_fsrv_init

Not all afl-components will need the new AFL_FORKSRV_INIT_TMOUT
environment variable. Hence, it's initialized to the safe "default"
value from before in afl_fsrv_init now.
2020-08-23 10:39:34 +02:00
Dominik Maier
1301552101 added AFL_MAX_DET_EXTRAS env var 2020-08-23 01:48:36 +02:00
van Hauser
47878f6974 add execs_done to plot file 2020-08-21 23:33:35 +02:00
van Hauser
9faf7b6fc8 v2.67d 2020-08-18 20:08:29 +02:00
van Hauser
5c759953f4
Merge pull request #511 from AFLplusplus/stable
push to dev
2020-08-18 20:05:56 +02:00
van Hauser
1c64048d0f 2.67c 2020-08-18 19:56:47 +02:00
Dominik Maier
1a94cfe2af moved autodict extras away from extras_a 2020-08-18 01:31:40 +02:00
Dominik Maier
7470b475a9
Reworked maybe_grow to take a single ptr, renamed to afl_realloc (#505)
* maybe_grow takes a single ptr

* fixed use_deflate

* reworked maybe_grow_bufsize

* helper to access underlying buf

* remove redundant realloc_block

* code format

* fixes

* added unit tests

* renamed maybe_grow to afl_realloc

* BUF_PARAMS -> AFL_BUF_PARAM
2020-08-18 00:50:52 +02:00
van Hauser
0a251f93e0 increase initial memory sized 2020-08-15 13:34:51 +02:00
root
af14acf2c1 Revert "Merge branch 'debug' into dev"
This reverts commit a7537b5511ad767d2240cf2dc6d3e261daa676f9, reversing
changes made to 15e799f7ae666418e75c6a79db833c5316b21f97.
2020-08-14 14:35:05 +02:00
van Hauser
a7537b5511
Merge branch 'debug' into dev 2020-08-14 13:23:14 +02:00
van Hauser
ce513c4f3e fix llvm12 -fuseld warning 2020-08-14 10:10:23 +02:00
Dominik Maier
d1bc0207cc no longer using alloc for autodict 2020-08-14 01:33:03 +02:00
Dominik Maier
69f8c62955 code-format 2020-08-14 00:46:48 +02:00