476 Commits

Author SHA1 Message Date
van Hauser
fd6bff727a fix crash for very fast targets 2020-12-17 22:57:28 +01:00
van Hauser
6e0aeb9833 allow instrumenting LLVMFuzzerTestOneInput 2020-12-15 18:17:55 +01:00
van Hauser
db76b06e01 add dummy Makefile to instrumentation/ 2020-12-15 18:07:01 +01:00
van Hauser
1fc0918ac0 v3.01a init 2020-12-15 09:55:33 +01:00
van Hauser
149ec41e90 v3.00c 2020-12-15 09:38:26 +01:00
hexcoder-
54f59c7403 add an extra test for afl-gcc and check for -B support 2020-12-12 11:21:13 +01:00
van Hauser
8a1acac559 schedule improvements, new default is FAST 2020-12-11 10:28:39 +01:00
van Hauser
161c80014e change search order for afl-showmin in afl-cmin* 2020-12-10 17:25:22 +01:00
vanhauser-thc
a8e568f248 move libdislocator, libtokencap and qbdi_mode to utils/ 2020-12-09 11:30:04 +01:00
hexcoder-
cf0c49dec5 typos/wording 2020-12-08 17:46:29 +01:00
Dominik Maier
1f34b9f8e1 added python mutator, documentation 2020-12-04 14:26:48 +01:00
Dominik Maier
a19b3022d9 afl_custom_describe api added 2020-12-04 14:26:47 +01:00
Dominik Maier
a2e2fae840 AFL_CRASH_EXITCODE env var added, u8->bool 2020-12-03 14:43:06 +01:00
van Hauser
0942158ad1 remove docs/README symlink and update references 2020-12-01 23:17:20 +01:00
vanhauser-thc
c05e4efbe9 renamed examples/ to utils/ 2020-12-01 14:40:30 +01:00
van Hauser
8584f9d2b5 added AFL_NO_AUTODICT 2020-12-01 13:13:11 +01:00
van Hauser
e32b7eeb83 fixed child not killed with -c 2020-11-19 16:14:19 +01:00
Dustin Spicuzza
cd0a25be5e
Use buffer protocol to retrieve result from python post_process (#605)
Saves an extra copy, gives post processing functions more flexibility
2020-11-18 20:29:17 +01:00
hexcoder
211a6eb411
typos and wording 2020-11-18 08:40:12 +01:00
Dominik Maier
68e18dbb7a more info about child_debug 2020-11-18 03:09:50 +01:00
Dominik Maier
f80f62f14b renamed env var to AFL_DEBUG_CHILD 2020-11-18 03:02:13 +01:00
Dominik Maier
57f8aec381 brought back missing env vars 2020-11-18 02:41:35 +01:00
van Hauser
1cc637a0a0 support AFL_LLVM_INSTRUMENT env for our own PCGUARD 2020-11-16 10:59:09 +01:00
van Hauser
8e1047f5ef support custom mutator introspection 2020-11-10 14:08:21 +01:00
van Hauser
416e01d3c6 match mopt to havoc 2020-11-02 11:04:35 +01:00
van Hauser
0fd98ae8b0 added mutation introspection make target 2020-11-01 21:34:08 +01:00
van Hauser
5ecc4ae0ab add helper script repo 2020-10-31 18:53:35 +01:00
van Hauser
f810639ab1 add our own inline trace-pc-guard 2020-10-31 14:18:58 +01:00
hexcoder-
dfb847a51b review, mark env variables, linkify 2020-10-30 14:37:06 +01:00
van Hauser
efd27bd8ce recover heikos faq changes 2020-10-30 14:01:59 +01:00
van Hauser
44c65fa0a0 add no splicing compile option and print used compile options in afl-fuzz help 2020-10-26 14:44:05 +01:00
van Hauser
23872d6f2c add documentation 2020-10-14 16:38:29 +02:00
van Hauser
c20ba2c2c5 fix custom mutator doc 2020-10-13 15:51:58 +02:00
van Hauser
dab017ddda no -M/-S: auto-set -S default 2020-10-12 02:26:14 +02:00
Edznux
59815cd447
Add documentation for StatsD 2020-10-11 23:06:37 +02:00
van Hauser
6a397d6111 add new seed selection algo and make it the default 2020-10-11 14:31:31 +02:00
van Hauser
445aba9221 determinstic fuzzing is now disabled by default 2020-10-10 10:55:56 +02:00
van Hauser
5dc3bc175b fix typo 2020-10-10 10:41:30 +02:00
van Hauser
125f8b6ba7 -m none is the default now 2020-10-09 23:23:44 +02:00
van Hauser
383cd487a2 small improvements to Marcel's patch, fix laf-intel + redqueen crashes 2020-09-29 15:02:57 +02:00
Dominik Maier
60ef1f7305
Update Changelog.md 2020-09-23 02:28:19 +02:00
van Hauser
639372b644 code-format, and no code-format for custom mutators 2020-09-22 02:11:10 +02:00
van Hauser
380051868a add libfuzzer custom mutator, minor enhancements and fixes 2020-09-10 15:26:46 +02:00
van Hauser
a4cac3fce5 new custom mutator: symcc 2020-09-09 17:49:43 +02:00
van Hauser
c091340a85 new gcc_plugin integration 2020-09-08 16:15:31 +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
van Hauser
7bcbfd48e5 update ideas 2020-09-06 15:12:23 +02:00
van Hauser
6114a48b89 add std::string and bcmp to dictionary functions 2020-09-06 13:29:32 +02:00
van Hauser
163e5ffd10 -p seek is now the default 2020-09-05 17:40:39 +02:00
van Hauser
ded4d093ff skip crashes but keep for splices 2020-09-05 16:16:56 +02:00