source: zzuf/trunk/README @ 1489

Last change on this file since 1489 was 1489, checked in by Sam Hocevar, 14 years ago
  • Added a few examples to README.
File size: 1.4 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
20original input and restricting fuzzing to filenames matching the regular
21expression "foo" (because convert will also open its own configuration
22files and we do not want zzuf to fuzz them):
23
24  # zzuf -i 'foo' 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 the file that can be fed to VLC to
28reproduce the behaviour without using zzuf:
29
30  # zzuf -s 87423 -r 0.01 vlc -- movie.avi
31  # zzuf -s 87423 -r 0.01 cp movie.avi fuzzy-movie.avi
32  # vlc fuzzy-movie.avi
33
34Fuzz the input of MPlayer and backup movies that caused it to crash:
35
36  # for seed in $(seq -w 0 9999); do
37        zzuf -s ${seed} -r 0.01 -i 'movie[.]avi' \
38                  mplayer -- -benchmark -vo null movie.avi >/dev/null 2>&1
39        RET=$?
40        if [ $RET != 0 ]; then
41            echo "seed ${seed}: exit $RET"
42            zzuf -s ${seed} -r 0.05 cp movie.avi movie-${seed}.avi
43        fi
44    done
45
Note: See TracBrowser for help on using the repository browser.