Skip to content

Commit

Permalink
Upgrade to E9Patch v1.0.0-rc5
Browse files Browse the repository at this point in the history
  • Loading branch information
GJDuck committed Jan 30, 2023
1 parent 3096549 commit 4eb2df2
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 2 deletions.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,27 @@ If all goes well the output should look something like this:
alt="AFL example">
</p>

## 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:
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.8.0
0.9.0
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ fi

set -e

VERSION=960090821d753e3007cd2b568cfd5c6e74c8e4f2
VERSION=39238830c3ba90d80b6996f05c872a7f8f042003

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

0 comments on commit 4eb2df2

Please sign in to comment.