From 4eb2df2f20fafd67ea218cbc4b00bb33bc6834cd Mon Sep 17 00:00:00 2001 From: GJDuck Date: Mon, 30 Jan 2023 10:39:15 +0800 Subject: [PATCH] Upgrade to E9Patch v1.0.0-rc5 --- README.md | 21 +++++++++++++++++++++ VERSION | 2 +- build.sh | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1819660..98718e3 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,27 @@ If all goes well the output should look something like this: alt="AFL example">

+## Detecting Memory Errors with RedFat + +E9AFL can be combined with [RedFat](https://github.com/GJDuck/RedFat) for +enhanced memory error detection during fuzzing. +RedFat detects memory errors (bounds overflows and use-after-free) that would +not otherwise crash the program. + +To enable, first install RedFat v0.3.0: + +* [https://github.com/GJDuck/RedFat/releases](https://github.com/GJDuck/RedFat/releases) + +Next, pass the `--redfat` option into E9AFL: + + $ ./e9afl --redfat readelf + +This will instrument the binary with **both** AFL and RedFat instrumentation. + +To use, preload the `libredfat.so` runtime library into AFL: + + $ AFL_PRELOAD=/usr/share/redfat/libredfat.so afl-fuzz -m none -i input/ -o output/ -- ./readelf.afl -a @@ + ## Troubleshooting Some instrumented binaries may crash during AFL initialization: diff --git a/VERSION b/VERSION index a3df0a6..ac39a10 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.8.0 +0.9.0 diff --git a/build.sh b/build.sh index 1bc4742..23386f9 100755 --- a/build.sh +++ b/build.sh @@ -32,7 +32,7 @@ fi set -e -VERSION=960090821d753e3007cd2b568cfd5c6e74c8e4f2 +VERSION=39238830c3ba90d80b6996f05c872a7f8f042003 # STEP (1): install e9patch if necessary: if [ ! -x e9patch-$VERSION/e9patch ]