Skip to content

Commit 4eb2df2

Browse files
committed
Upgrade to E9Patch v1.0.0-rc5
1 parent 3096549 commit 4eb2df2

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

README.md

+21
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,27 @@ If all goes well the output should look something like this:
5757
alt="AFL example">
5858
</p>
5959

60+
## Detecting Memory Errors with RedFat
61+
62+
E9AFL can be combined with [RedFat](https://github.com/GJDuck/RedFat) for
63+
enhanced memory error detection during fuzzing.
64+
RedFat detects memory errors (bounds overflows and use-after-free) that would
65+
not otherwise crash the program.
66+
67+
To enable, first install RedFat v0.3.0:
68+
69+
* [https://github.com/GJDuck/RedFat/releases](https://github.com/GJDuck/RedFat/releases)
70+
71+
Next, pass the `--redfat` option into E9AFL:
72+
73+
$ ./e9afl --redfat readelf
74+
75+
This will instrument the binary with **both** AFL and RedFat instrumentation.
76+
77+
To use, preload the `libredfat.so` runtime library into AFL:
78+
79+
$ AFL_PRELOAD=/usr/share/redfat/libredfat.so afl-fuzz -m none -i input/ -o output/ -- ./readelf.afl -a @@
80+
6081
## Troubleshooting
6182

6283
Some instrumented binaries may crash during AFL initialization:

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.8.0
1+
0.9.0

build.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ fi
3232

3333
set -e
3434

35-
VERSION=960090821d753e3007cd2b568cfd5c6e74c8e4f2
35+
VERSION=39238830c3ba90d80b6996f05c872a7f8f042003
3636

3737
# STEP (1): install e9patch if necessary:
3838
if [ ! -x e9patch-$VERSION/e9patch ]

0 commit comments

Comments
 (0)