added the grammar mutator as a git submodule + documentation
MODIFY
.gitmodules
.gitmodules
[submodule "unicorn_mode/unicornafl"]
path = unicorn_mode/unicornafl
- url = https://github.com/AFLplusplus/unicornafl.git
+ url = https://github.com/AFLplusplus/unicornafl
+
+[submodule "custom_mutators/Grammar-Mutator"]
+ path = custom_mutators/Grammar-Mutator
+ url = https://github.com/AFLplusplus/Grammar-Mutator

MODIFY
custom_mutators/README.md
custom_mutators/README.md
Custom mutators enhance and alter the mutation strategies of afl++.
For further information and documentation on how to write your own, read [the docs](../docs/custom_mutators.md).
+## The afl++ Grammar Mutator
+
+If you use git to clone afl++, then the following will incorporate our
+excellent grammar custom mutator:
+```
+git submodule init
+git submodule update
+```
+
+otherwise just checkout the repository here with either
+`git clone https://github.com/AFLplusplus/Grammar-Mutator` or
+`svn co https://github.com/AFLplusplus/Grammar-Mutator`.
+
+Read the [Grammar-Mutator/README.md](Grammar-Mutator/README.md) on how to use
+it.
+
## Production-Ready Custom Mutators
This directory holds ready to use custom mutators.

MODIFY
docs/Changelog.md
docs/Changelog.md
@@ -10,20 +10,24 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
### Version ++2.67d (develop)
+ - added the GSoC excellent afl++ grammar mutator by Shengtuo to our
+ custom_mutators/ (see custom_mutators/README.md) - or get it here:
+ https://github.com/AFLplusplus/Grammar-Mutator
- a few QOL changes for Apple and its outdated gmake
- afl-fuzz:
- Fix for auto dictionary entries found during fuzzing to not throw out
a -x dictionary
- added total execs done to plot file
- - AFL_MAX_DET_EXTRAS env variable added to control the amount of deterministic
- dict entries without recompiling.
- - AFL_FORKSRV_INIT_TMOUT env variable added to control the time to wait for
- the forkserver to come up without the need to increase the overall timeout.
+ - AFL_MAX_DET_EXTRAS env variable added to control the amount of
+ deterministic dict entries without recompiling.
+ - AFL_FORKSRV_INIT_TMOUT env variable added to control the time to wait
+ for the forkserver to come up without the need to increase the overall
+ timeout.
- bugfix for cmplog that results in a heap overflow based on target data
(thanks to the magma team for reporting!)
- custom mutators:
- - added afl_custom_fuzz_count/fuzz_count function to allow specifying the
- number of fuzz attempts for custom_fuzz
+ - added afl_custom_fuzz_count/fuzz_count function to allow specifying
+ the number of fuzz attempts for custom_fuzz
- llvm_mode:
- Ported SanCov to LTO, and made it the default for LTO. better
instrumentation locations

added the grammar mutator as a git submodule + documentation