summaryrefslogtreecommitdiff
path: root/development/afl/README
blob: 1697eb41674696c8f885f6e384dd2236d5628aa1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
afl (security-oriented fuzzer)

American fuzzy lop is a security-oriented fuzzer that employs a
novel type of compile-time instrumentation and genetic algorithms to
automatically discover clean, interesting test cases that trigger new
internal states in the targeted binary. This substantially improves the
functional coverage for the fuzzed code. The compact synthesized corpora
produced by the tool are also useful for seeding other, more labor-
or resource-intensive testing regimes down the road.

To use afl with binary-only code (no source available), a custom qemu
wrapper is used. This does NOT require a system-wide installation of
qemu, but it does require the source to qemu. To build qemu support,
download the qemu source from:

http://wiki.qemu-project.org/download/qemu-2.3.0.tar.bz2

Save the file in the same directory as the afl.SlackBuild script.

If binary-only support is not needed, don't download the qemu source. This
will speed up the build quite a bit.