diff options
author | pedroGitt <pedro.contreiras@amdocs.com> | 2016-11-23 00:04:58 +0100 |
---|---|---|
committer | pedroGitt <pedro.contreiras@amdocs.com> | 2016-11-23 00:04:58 +0100 |
commit | 7a6897642baa8fc5d9d9f14c80fc4f201cfe2173 (patch) | |
tree | 9325a7d7d3ac40747f49af22378dcf9bc5c0dd0b /fuzzers/README.rst | |
parent | c725a561a283f508e68516ded86d141214f5ea06 (diff) | |
parent | f6c05be8c5d35e725a8a2ed5ad661398ac9f8cd2 (diff) |
Merge remote-tracking branch 'origin/master' into pedroc/android_e2e_dev
Diffstat (limited to 'fuzzers/README.rst')
-rw-r--r-- | fuzzers/README.rst | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/fuzzers/README.rst b/fuzzers/README.rst new file mode 100644 index 0000000..d052303 --- /dev/null +++ b/fuzzers/README.rst @@ -0,0 +1,51 @@ +Fuzzers +======= + +This directory contains a collection of fuzzing tools. Each tests a different +entry point to the code. + +Usage notes: + +1. Install AFL: + + .. code:: + + apt-get install afl + +2. Build the fuzzers: + + .. code:: + + make fuzzers + +3. Some of the tests (eg ``fuzz_decrypt`` and ``fuzz_group_decrypt``) require a + session file. You can use the ones generated by the python test script + (``python/test.sh``). + +4. Make some work directories: + + .. code:: + + mkdir -p fuzzing/in fuzzing/out + +5. Generate starting input: + + .. code:: + + echo "Test" > fuzzing/in/test + +6. Run the test under ``afl-fuzz``: + + .. code:: + + afl-fuzz -i fuzzing/in -o fuzzing/out -- \ + ./build/fuzzers/fuzz_<fuzzing_tool> [<test args>] + +7. To resume with the data produced by an earlier run: + + .. code:: + + afl-fuzz -i- -o existing_output_dir [...etc...] + +8. If it shows failures, pipe the failure case into + ``./build/fuzzers/debug_<fuzzing_tool>``, fix, and repeat. |