项目作者: vanhauser-thc

项目描述 :
Simulate afl-fuzz
高级语言: C
项目地址: git://github.com/vanhauser-thc/afl-simulate.git
创建时间: 2018-03-20T01:52:12Z
项目社区:https://github.com/vanhauser-thc/afl-simulate

开源协议:GNU Affero General Public License v3.0

下载


afl-simulate

Simulate afl-fuzz

If you program your own instrumentation into binaries for AFL/afl-fuzz
you make small changes and have no idea if they make the performance
better or worse.

This tool is exactly for that.

It shows the runtime, the stability and buckets/fills and gives an average.

Just do:
afl-simulate -i 100 instrumented_program -with -options

The -i 100 runs the AFL forkserver 100 times against the instrumented program.

You can use afl-gcc/afl-g++, afl-clang-fast/afl-clang++-fast, afl-dyninst or
your own like a Pin module to produce the instrumented binary

Example:

  1. $ afl-simulate -i 10 pin -t obj-intel64/afl-pin.so -forkserver -- ./unrar-unmodified t test.rar > /dev/null
  2. pin run=1 time=0.489706 result=0 buckets=995 fills=5392
  3. pin run=2 time=0.494072 result=0 buckets=995 fills=5392
  4. pin run=3 time=0.491258 result=0 buckets=995 fills=5392
  5. pin run=4 time=0.487705 result=0 buckets=995 fills=5392
  6. pin run=5 time=0.483401 result=0 buckets=995 fills=5392
  7. pin run=6 time=0.503360 result=0 buckets=995 fills=5392
  8. pin run=7 time=0.507124 result=0 buckets=995 fills=5392
  9. pin run=8 time=0.507898 result=0 buckets=995 fills=5392
  10. pin run=9 time=0.483421 result=0 buckets=995 fills=5392
  11. pin run=10 time=0.487264 result=0 buckets=995 fills=5392
  12. Error reading fork server <== this message actually comes from the instrumented binary
  13. End: client finished
  14. Average=0.493521 min=0.483401 max=0.507898

supports AFL_PRELOAD

Have fun!

Greets,
Marc “van Hauser” Heuse |