about summary refs log tree commit diff
path: root/CHANGES
blob: a5f8e471382537bde4a10b906e3ee06c3c9102c5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Changelog
=========

https://github.com/vanhauser-thc/afl-dyninst
 - 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