added the grammar mutator as a git submodule + documentation

This commit is contained in:
van Hauser
2020-09-01 10:52:39 +02:00
parent 664daa2f3c
commit 651ad18e21
3 changed files with 31 additions and 7 deletions

6
.gitmodules vendored
View File

@ -1,3 +1,7 @@
[submodule "unicorn_mode/unicornafl"] [submodule "unicorn_mode/unicornafl"]
path = 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

View File

@ -3,6 +3,22 @@
Custom mutators enhance and alter the mutation strategies of afl++. 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). 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 ## Production-Ready Custom Mutators
This directory holds ready to use custom mutators. This directory holds ready to use custom mutators.

View File

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