Changeset 1557 for zzuf/trunk/doc/zzuf.1
- Timestamp:
- Jan 4, 2007, 2:28:35 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
zzuf/trunk/doc/zzuf.1
r1555 r1557 9 9 [\fB\-P\fR \fIlist\fR] [\fB\-R\fR \fIlist\fR] 10 10 .br 11 [\fB\-I\fR \fIinclude\fR] [\fB\-E\fR \fIexclude\fR] \fI COMMAND\fR [\fIARGS\fR]...11 [\fB\-I\fR \fIinclude\fR] [\fB\-E\fR \fIexclude\fR] \fIPROGRAM\fR [\fIARGS\fR]... 12 12 .br 13 13 \fBzzuf \-h\fR | \fB\-\-help\fR … … 23 23 \fBZzuf\fR will run an application specified on its command line, one or 24 24 several times, with optional arguments, and will report the application's 25 behaviour on the standard output. 26 .PP 27 If you want to specify arguments for your application, put a \fB\-\-\fR 28 marker before them on the command line, or \fBzzuf\fR will try to interpret 29 them as arguments for itself. 25 relevant behaviour on the standard output, eg: 26 .PP 27 .RS 28 .nf 29 \fBzzuf cat /dev/zero\fR 30 .fi 31 .RE 32 .PP 33 If you want to specify flags for your application, put a '\fB\-\-\fR' 34 marker before them on the command line (otherwise \fBzzuf\fR will try to 35 interpret them as arguments for itself), eg: 36 .PP 37 .RS 38 .nf 39 \fBzzuf \-B 1000 cat \-\- \-v /dev/zero\fR 40 .fi 41 .RE 30 42 .SH OPTIONS 31 43 .TP … … 77 89 .RS 78 90 .TP 91 \fB\\0\fR 92 null byte 93 .TP 79 94 \fB\\n\fR 80 95 new line … … 86 101 tabulation 87 102 .TP 88 \fB\\0\fR89 the null character90 .TP91 103 \fB\\x\fR\fINN\fR 92 104 the byte whose hexadecimal value is \fINN\fR … … 97 109 .IP 98 110 You can use '\fB-\fR' to specify ranges. For instance, to protect all bytes 99 from '\fB\\x01\fR' to ' ', use \fB\-P \(dq\\x01- \(dq\fR. 111 from '\fB\\x01\fR' to ' ', use '\fB\-P \(dq\\x01- \(dq\fR'. 112 113 The statistical outcome of this option should not be overlooked. Because 114 \fBzzuf\fR cannot know the nature of the input data beforehands and must 115 fuzz it even if only one byte of data was received, protecting characters 116 may change the meaning of the \fB\-r\fR flag depending on the data being 117 fuzzed. For instance, asking to fuzz 1% of input bits and to protect 118 lowercase characters (using '\fB\-r 0.01 \-P a-z\fR') will result in an 119 actual average fuzzing ratio of 0.9% with truly random data, 0.3% with 120 random ASCII data and 0.2% with a normal English text. 100 121 101 122 See also the \fB\-R\fR flag. … … 107 128 .TP 108 129 \fB\-r\fR, \fB\-\-ratio\fR=\fIratio\fR 109 Specify the amountof bits that will be randomly fuzzed. A value of 0130 Specify the proportion of bits that will be randomly fuzzed. A value of 0 110 131 will not fuzz anything. A value of 0.05 will fuzz 5% of the open files' 111 132 bits. A value of 1.0 or more will fuzz all the bytes, theoretically making … … 160 181 .RS 161 182 .nf 162 \fB #zzuf cat /etc/motd\fR183 \fBzzuf cat /etc/motd\fR 163 184 .fi 164 185 .RE … … 168 189 .RS 169 190 .nf 170 \fB #zzuf -s 94324 -r 0.01 cat /etc/motd\fR191 \fBzzuf -s 94324 -r 0.01 cat /etc/motd\fR 171 192 .fi 172 193 .RE … … 177 198 .RS 178 199 .nf 179 \fB #zzuf -P \(dq\\n\(dq -R \(dq\\0-\\x1f\\x7f-\\xff\(dq cat /etc/motd\fR200 \fBzzuf -P \(dq\\n\(dq -R \(dq\\0-\\x1f\\x7f-\\xff\(dq cat /etc/motd\fR 180 201 .fi 181 202 .RE … … 188 209 .RS 189 210 .nf 190 \fB #zzuf -E \(dq\\.xml$\(dq convert -- foo.jpeg -format tga /dev/null\fR211 \fBzzuf -E \(dq\\.xml$\(dq convert -- foo.jpeg -format tga /dev/null\fR 191 212 .fi 192 213 .RE … … 199 220 .RS 200 221 .nf 201 \fB #zzuf -c -s 87423 -r 0.01 vlc movie.avi\fR202 \fB #zzuf -c -s 87423 -r 0.01 cp movie.avi fuzzy-movie.avi\fR203 \fB #vlc fuzzy-movie.avi\fR222 \fBzzuf -c -s 87423 -r 0.01 vlc movie.avi\fR 223 \fBzzuf -c -s 87423 -r 0.01 cp movie.avi fuzzy-movie.avi\fR 224 \fBvlc fuzzy-movie.avi\fR 204 225 .fi 205 226 .RE … … 213 234 .RS 214 235 .nf 215 \fB #zzuf -c -q -s 0:10000 -F 3 -T 60 -r 0.02 \\\fR216 \fB mplayer movie.avi -- -benchmark -vo null -fps 1000\fR236 \fBzzuf -c -q -s 0:10000 -F 3 -T 60 -r 0.02 \\\fR 237 \fB mplayer -- -benchmark -vo null -fps 1000 movie.avi\fR 217 238 .fi 218 239 .RE 219 240 .SH BUGS 220 241 .PP 221 Only the most common file operations are implemented as of now: \fBopen\fR(), 242 Due to \fBzzuf\fR using shared object preloading (\fBLD_PRELOAD\fR on most 243 Unix systems, \fBDYLD_INSERT_LIBRARIES\fR on Mac OS X) to run its child 244 processes, it will fail in the presence of any mechanism that disables 245 preloading. For instance setuid root binaries will not be fuzzed when run 246 as an unprivileged user. This limitation will probably not be addressed. 247 .PP 248 Network fuzzing is not implemented. This feature will be added. 249 .PP 250 It is not yet possible to insert or drop bytes from the input, to fuzz 251 according to the file format, or to do all these complicated operations. These 252 features are planned. 253 .PP 254 Only the most common file operations are implemented: \fBopen\fR(), 222 255 \fBread\fR(), \fBfopen\fR(), \fBfseek\fR(), etc. One important unimplemented 223 function is \fBfscanf\fR(). 224 .PP 225 Network fuzzing is not implemented. It is not yet possible to insert or 226 drop bytes from the input, to fuzz according to the file format, or to do 227 all these complicated operations. They are planned, though. 228 .PP 229 Due to \fBzzuf\fR using \fBLD_PRELOAD\fR to run its child processes, it will 230 fail in the presence of any mechanism that disables preloading. For instance 231 setuid root binaries will not be fuzzed when run as an unprivileged user. 256 function is \fBfscanf\fR(). These features will be implemented based on user 257 request. 232 258 .PP 233 259 As of now, \fBzzuf\fR does not really support multithreaded applications. The 234 behaviour with multithreaded applications where more than one thread do file 235 descriptor operations is undefined. 260 behaviour with multithreaded applications where more than one thread does file 261 descriptor operations is undefined. This bug will be fixed. 262 .PP 263 Though best efforts are made, the reproducibility of \fBzzuf\fR's behaviour 264 is guaranteed for subsequent calls with the same arguments but not for calls 265 with different \fBzzuf\fR versions. 236 266 .SH AUTHOR 237 267 .PP
Note: See TracChangeset
for help on using the changeset viewer.