source: zzuf/trunk/README @ 1507

Last change on this file since 1507 was 1494, checked in by Sam Hocevar, 16 years ago
  • Split preload.c into load-fd.c and load-stream.c.
File size: 1.5 KB
Line 
1
21. About Zzuf
3
4Zzuf is a transparent application input fuzzer. It works by intercepting
5file operations and changing random bits in the program's input. Zzuf's
6behaviour is deterministic, making it easy to reproduce bugs.
7
8
92. Example
10
11Fuzz the input of the "cat" program using default settings:
12
13  # zzuf cat /etc/motd
14
15Fuzz 1% of the input bits of the "cat" program using seed 94324:
16
17  # zzuf -s 94324 -r 0.01 cat /etc/motd
18
19Fuzz the input of the "convert" program, using file foo.jpeg as the original
20input and restricting fuzzing to filenames matching the regular expression
21"foo[.]jpeg" (because convert will also open its own configuration files and
22we do not want zzuf to fuzz them):
23
24  # zzuf -i 'foo[.]jpeg' convert -- foo.jpeg -format tga /dev/null
25
26Fuzz the input of VLC, using file movie.avi as the original input, and
27generate fuzzy-movie.avi which is a file that can be fed to VLC to reproduce
28the behaviour without using zzuf:
29
30  # zzuf -s 87423 -r 0.01 vlc movie.avi
31
32  # zzuf -s 87423 -r 0.01 cp movie.avi fuzzy-movie.avi
33  # vlc fuzzy-movie.avi
34
35Fuzz the input of MPlayer and backup movies that caused it to crash:
36
37  # for seed in $(seq -w 0 9999); do
38        zzuf -s ${seed} -r 0.01 -i 'movie[.]avi' mplayer -- \
39                   -benchmark -vo null -fps 1000 movie.avi >/dev/null 2>&1
40        RET=$?
41        if [ $RET != 0 ]; then
42            echo "seed ${seed}: exit $RET"
43            zzuf -s ${seed} -r 0.05 cp movie.avi movie-crashed-${seed}.avi
44        fi
45    done
46
Note: See TracBrowser for help on using the repository browser.