diff options
author | Andrea Fioraldi <andreafioraldi@gmail.com> | 2020-03-08 12:38:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-08 12:38:01 +0100 |
commit | 891f6985ed39dba44dc0cf2c56d22882d97024b0 (patch) | |
tree | fc5eec5cd8b1fcd7d0071c7660342b2494e1d497 /examples/custom_mutators/example.py | |
parent | 98ffef26dcc59c48e1afa00ddb8c39206602ccfe (diff) | |
parent | e7bc3e09a3913e5c06d4150e8c8a44a70774937c (diff) | |
download | afl++-891f6985ed39dba44dc0cf2c56d22882d97024b0.tar.gz |
Merge pull request #238 from h1994st/master
Two new hooks for the custom mutator
Diffstat (limited to 'examples/custom_mutators/example.py')
-rw-r--r-- | examples/custom_mutators/example.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/examples/custom_mutators/example.py b/examples/custom_mutators/example.py index a68f2ee5..6bacfa05 100644 --- a/examples/custom_mutators/example.py +++ b/examples/custom_mutators/example.py @@ -120,3 +120,55 @@ def fuzz(buf, add_buf, max_size): # ''' # return buf # +# def havoc_mutation(buf, max_size): +# ''' +# Perform a single custom mutation on a given input. +# +# @type buf: bytearray +# @param buf: The buffer that should be mutated. +# +# @type max_size: int +# @param max_size: Maximum size of the mutated output. The mutation must not +# produce data larger than max_size. +# +# @rtype: bytearray +# @return: A new bytearray containing the mutated data +# ''' +# return mutated_buf +# +# def havoc_mutation_probability(): +# ''' +# Called for each `havoc_mutation`. Return the probability (in percentage) +# that `havoc_mutation` is called in havoc. Be default it is 6%. +# +# @rtype: int +# @return: The probability (0-100) +# ''' +# return prob +# +# def queue_get(filename): +# ''' +# Called at the beginning of each fuzz iteration to determine whether the +# test case should be fuzzed +# +# @type filename: str +# @param filename: File name of the test case in the current queue entry +# +# @rtype: bool +# @return: Return True if the custom mutator decides to fuzz the test case, +# and False otherwise +# ''' +# return True +# +# def queue_new_entry(filename_new_queue, filename_orig_queue): +# ''' +# Called after adding a new test case to the queue +# +# @type filename_new_queue: str +# @param filename_new_queue: File name of the new queue entry +# +# @type filename_orig_queue: str +# @param filename_orig_queue: File name of the original queue entry +# ''' +# pass + |