diff options
author | van Hauser <vh@thc.org> | 2020-08-11 18:26:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-11 18:26:30 +0200 |
commit | 83281503b3f1d4109c6f7a6af62a2133d55f1150 (patch) | |
tree | c407463af5dcfe5e031c33036a15a87e7a0be634 /qemu_taint/README.md | |
parent | 50e76fce123f01ec83024f3bbd3190f2e1a6d387 (diff) | |
parent | b604f5eafcebb816026e198df0ea66ebcbf18421 (diff) | |
download | afl++-83281503b3f1d4109c6f7a6af62a2133d55f1150.tar.gz |
Merge pull request #498 from AFLplusplus/taint
dont merge
Diffstat (limited to 'qemu_taint/README.md')
-rw-r--r-- | qemu_taint/README.md | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/qemu_taint/README.md b/qemu_taint/README.md new file mode 100644 index 00000000..6a7d19af --- /dev/null +++ b/qemu_taint/README.md @@ -0,0 +1,42 @@ +# qemu_taint + +First level taint implementation with qemu for linux user mode + +**THIS IS NOT WORKING YET** **WIP** + +## What is this for + +On new queue entries (newly discovered paths into the target) this tainter +is run with the new input and the data gathered which bytes in the input +file are actually touched. + +Only touched bytes are then fuzzed by afl-fuzz + +## How to build + +./build_qemu_taint.sh + +## How to use + +Add the -A flag to afl-fuzz + +## Caveats + +For some targets this is amazing and improves fuzzing a lot, but if a target +copies all input bytes first (e.g. for creating a crc checksum or just to +safely work with the data), then this is not helping at all. + +## Future + +Two fuzz modes for a queue entry which will be switched back and forth: + + 1. fuzz all touched bytes + 2. fuzz only bytes that are newly touched (compared to the one this queue + entry is based on) + +## TODO + + * Direct trim: trim to highest touched byte, that is all we need to do + * add 5-25% dummy bytes to the queue entries? (maybe create a 2nd one?) + * Disable trim? + |