| Potential instructions for trying this on Mac (I was unable to make it work, perhaps we can build upon this): curl -LO http://lcamtuf.coredump.cx/afl.tgz tar zxvf afl.tgz rm afl.tgz cd afl* make afl-gcc make afl-fuzz mkdir in_dir echo 'hello' >in_dir/hello # there is a glitch with the libjpeg-turbo-1.3.1 configure file that makes it difficult to compile on Mac, so I tried regular libjpeg: curl -LO http://www.ijg.org/files/jpegsrc.v8c.tar.gz tar zxvf jpegsrc.v8c.tar.gz cd jpeg-8c/ CC=../afl-gcc ./configure make # error: C compiler cannot create executables # if the above command worked to build an instrumented djpeg, then this should work cd .. ./afl-fuzz -i in_dir -o out_dir ./jpeg-8c/djpeg |
Install homebrew if you don't have it already, then
Then in the afl* folder: Fixes this so that jpeg-8c will compile.However, we then get stuck as djpeg is a shell file (and .libs/djpeg exits with error 5) and I've got a bit distracted to continue. Good luck!