Requirements
Preparation
$ git clone --depth=1 https://github.com/openssl/openssl.git $ mv openssl openssl-master
compile_hfuzz_openssl_master.sh
(e.g. add -fsanitize=address) and configure and compile OpenSSL$ cd openssl-master $ /home/jagger/src/honggfuzz/examples/openssl/compile_hfuzz_openssl_master.sh
The make.sh script will compile honggfuzz and libFuzzer binaries. Syntax:
make.sh [address|memory|undefined]
$ cd .. $ /home/jagger/src/honggfuzz/examples/openssl/make.sh master address
Fuzzing
$ /home/jagger/src/honggfuzz/honggfuzz -f corpus_server/ -z -P -- ./persistent.server.openssl.master $ /home/jagger/src/honggfuzz/honggfuzz -f corpus_client/ -z -P -- ./persistent.client.openssl.master $ /home/jagger/src/honggfuzz/honggfuzz -f corpus_x509/ -z -P -- ./persistent.x509.openssl.master $ /home/jagger/src/honggfuzz/honggfuzz -f corpus_privkey/ -z -P -- ./persistent.privkey.openssl.master