Commit 4eb2df2 1 parent 3096549 commit 4eb2df2 Copy full SHA for 4eb2df2
File tree 3 files changed +23
-2
lines changed
3 files changed +23
-2
lines changed Original file line number Diff line number Diff line change @@ -57,6 +57,27 @@ If all goes well the output should look something like this:
57
57
alt="AFL example">
58
58
</p >
59
59
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
+
60
81
## Troubleshooting
61
82
62
83
Some instrumented binaries may crash during AFL initialization:
Original file line number Diff line number Diff line change 1
- 0.8 .0
1
+ 0.9 .0
Original file line number Diff line number Diff line change 32
32
33
33
set -e
34
34
35
- VERSION=960090821d753e3007cd2b568cfd5c6e74c8e4f2
35
+ VERSION=39238830c3ba90d80b6996f05c872a7f8f042003
36
36
37
37
# STEP (1): install e9patch if necessary:
38
38
if [ ! -x e9patch-$VERSION /e9patch ]
You can’t perform that action at this time.
0 commit comments