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 | |
---|
2 | 1. About Zzuf |
---|
3 | |
---|
4 | Zzuf is a transparent application input fuzzer. It works by intercepting |
---|
5 | file operations and changing random bits in the program's input. Zzuf's |
---|
6 | behaviour is deterministic, making it easy to reproduce bugs. |
---|
7 | |
---|
8 | |
---|
9 | 2. Example |
---|
10 | |
---|
11 | Fuzz the input of the "cat" program using default settings: |
---|
12 | |
---|
13 | # zzuf cat /etc/motd |
---|
14 | |
---|
15 | Fuzz 1% of the input bits of the "cat" program using seed 94324: |
---|
16 | |
---|
17 | # zzuf -s 94324 -r 0.01 cat /etc/motd |
---|
18 | |
---|
19 | Fuzz the input of the "convert" program, using file foo.jpeg as the original |
---|
20 | input and restricting fuzzing to filenames matching the regular expression |
---|
21 | "foo[.]jpeg" (because convert will also open its own configuration files and |
---|
22 | we do not want zzuf to fuzz them): |
---|
23 | |
---|
24 | # zzuf -i 'foo[.]jpeg' convert -- foo.jpeg -format tga /dev/null |
---|
25 | |
---|
26 | Fuzz the input of VLC, using file movie.avi as the original input, and |
---|
27 | generate fuzzy-movie.avi which is a file that can be fed to VLC to reproduce |
---|
28 | the 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 | |
---|
35 | Fuzz 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.