This book and its code use numbered versioning. The version numbers correspond to the version numbers in the Python pip package.
WebFuzzer
constructor now allows to use a subclass of HTMLGrammarMiner
.GUIFuzzer
constructor now allows to use a subclass of GUIGrammarMiner
.z3-solver
(Issue #115)OptionGrammarMiner
will now capture args from external Python scripts that are protected by if __name__ == '__main__'
AdvancedSymbolicFuzzer
is now named SymbolicFuzzer
plain and simple. (AdvancedSymbolicFuzzer
still works as an alias).Happy new year!
ConcolicTracer.zeval()
method.ExpectTimeout
class is now much more performantAFLGoSchedule
and AFLFastSchedule
classes in the chapter on greybox fuzzing.mypy
static type checks.Coverage
class now supports function_names()
and __repr__()
methods. Its __exit__()
method is no longer included in coverage.astor
and enforce
we depended upon (and now don't anymore).fuzzingbook
pip package (Issue #44 in debuggingbook
) such that pip install fuzzingbook
also installs all the packages it depends upon. Thanks to @TheSilvus for reporting this!numpy.random
rather than Python random
, resulting in, well, random results every time we'd build the book. This is now fixed, and more consistent.bookutils
module is now shared with the debuggingbook
project; some (hopefully neutral) fixes.fuzzingbook_utils
module used by notebooks is now renamed to bookutils
. Code and notebooks using fuzzingbook_utils
may still work, but will issue a deprecation warning.First numbered fuzzingbook release.
Before switching to numbered releases, new chapters were coming out every Tuesday.
After all chapters were out, we switched to a release-based schedule, with numbered minor and major releases coming out when they are ready.