Changelog ========= https://github.com/vanhauser-thc/afl-dyninst - added -I option (only instrument specific functions) - updated the README for guidance to build against dyninst version 10 - added support for dyninst version 10 - added -x performance optimization options, before this afl-dyninst was meh, now it is OK. It supports 3 levels: -x (+45%, -xx additional +45%, -xxx additional ~3% but so far only on intel x64) top speed is now ~110% on stock afl-dyninst and ~65% on stock afl-gcc - -e option now also understands function names, not only 0x1234 addresses - searches for multiple entrypoints now: main, init, start and _NAME variants - afl-dyninst now works fine with AARCH64 and PPC :) - more verbose output, -vv -vvv support - fixed some typos - renamed afl-fuzz.sh to afl-fuzz-dyninst.sh and make install installs now the scripts - added -E switch to force a program exit at specific addresses - added -D switch which does not do basic block instrumentation - the -S switch can now be specified several times - checks the dyninst version and comments on the -f option - added -S switch to skip instrumenting a specific function - added make install target - updated README - Fix for programs that were unable to print to stdout after instrumentation - added -f switch to fix a bug in dyninst where sometimes the edi/rdi register is not saved which is used in the instrumentation function when a function is using edi/rdi for parameter passing - added -m switch to only instrument basic blocks of a minimum size - code beautifications, more detailed output, spelling fixes - added afl-dyninst.sh and afl-fuzz.sh helper scripts which presets the necessary environment variables - based on https://github.com/talos-vulndev/afl-dyninst