aboutsummaryrefslogtreecommitdiff
path: root/examples/custom_mutators/example.py
diff options
context:
space:
mode:
authorAndrea Fioraldi <andreafioraldi@gmail.com>2020-03-08 12:38:01 +0100
committerGitHub <noreply@github.com>2020-03-08 12:38:01 +0100
commit891f6985ed39dba44dc0cf2c56d22882d97024b0 (patch)
treefc5eec5cd8b1fcd7d0071c7660342b2494e1d497 /examples/custom_mutators/example.py
parent98ffef26dcc59c48e1afa00ddb8c39206602ccfe (diff)
parente7bc3e09a3913e5c06d4150e8c8a44a70774937c (diff)
downloadafl++-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.py52
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
+