• Home
Name Date Size #Lines LOC

..--

README.mdD03-May-20241.8 KiB4229

aff.dictD03-May-2024893 7471

ass.dictD03-May-20241 KiB113112

atom.dictD03-May-2024470 3431

av1_dc.dictD03-May-2024101 64

bash.dictD03-May-20241.8 KiB153151

bdf.dictD03-May-2024406 3128

bmp.dictD03-May-2024152 1110

bz2.dictD03-May-202490 43

creole.dictD03-May-2024227 1513

css.dictD03-May-20245 KiB355347

csv.dictD03-May-202436 76

dds.dictD03-May-2024578 3632

djvu.dictD03-May-2024238 3534

docommand.dictD03-May-202413.3 KiB689688

exif.dictD03-May-20242.4 KiB223222

fbs.dictD03-May-2024680 4340

ftp.dictD03-May-20241,020 125101

gif.dictD03-May-2024277 1915

graphviz.dictD03-May-20243.9 KiB374360

heif.dictD03-May-2024613 7775

hoextdown.dictD03-May-2024931 5049

html_tags.dictD03-May-20243.1 KiB161159

http.dictD03-May-20241.7 KiB120115

icc.dictD03-May-20244.3 KiB592569

iccprofile.dictD03-May-2024203 2624

icns.dictD03-May-2024344 4442

initfile.dictD03-May-202413.3 KiB689688

jbig2.dictD03-May-20244.4 KiB9992

jpeg.dictD03-May-2024437 2320

jpeg2000.dictD03-May-2024340 2322

js.dictD03-May-20242.2 KiB108103

json.dictD03-May-2024471 6252

jsonnet.dictD03-May-2024639 6157

markdown.dictD03-May-2024463 2924

math.dictD03-May-202495 2120

mathml.dictD03-May-20243.4 KiB280275

mp4.dictD03-May-20242.5 KiB8381

mysqld.dictD03-May-202412 21

ogg.dictD03-May-2024486 3733

openexr.dictD03-May-20241.2 KiB5856

otf.dictD03-May-20246.6 KiB964956

pbm.dictD03-May-2024541 3028

pcap.dictD03-May-2024165 117

pdf.dictD03-May-202416.2 KiB1,4671,465

perl.dictD03-May-2024214 1714

png.dictD03-May-2024747 3936

proj4.dictD03-May-20243.5 KiB250241

protobuf.dictD03-May-2024706 4139

ps.dictD03-May-20244.6 KiB434402

psd.dictD03-May-20241.3 KiB181171

regexp.dictD03-May-20243 KiB245244

riff.dictD03-May-2024182 1815

rss.dictD03-May-2024429 3230

rst.dictD03-May-2024385 2220

rtf.dictD03-May-20244.4 KiB409392

sas.dictD03-May-2024274 3837

spss.dictD03-May-2024376 4746

sql.dictD03-May-20248.1 KiB283276

stata.dictD03-May-2024179 2322

svg.dictD03-May-20242.1 KiB171165

tex.dictD03-May-20241.4 KiB123118

theme-load-fuzz.dictD03-May-202466 109

tiff.dictD03-May-20241 KiB5249

tokener_parse_ex.dictD03-May-202486 1918

toml.dictD03-May-2024388 2321

type42.dictD03-May-2024450 2624

url.dictD03-May-2024502 6359

utf8.dictD03-May-20241.5 KiB7452

vcf.dictD03-May-20241.6 KiB120116

vhd.dictD03-May-2024329 119

vpx_dec.dictD03-May-2024145 96

wav.dictD03-May-2024420 2623

webm.dictD03-May-20244.1 KiB153151

webp.dictD03-May-2024339 2118

wkt.dictD03-May-2024474 3633

x86.dictD03-May-202419.2 KiB1,8861,881

xml.dictD03-May-20241.6 KiB7368

xml_UTF_16.dictD03-May-20245 KiB104103

xml_UTF_16BE.dictD03-May-20244.2 KiB104103

xml_UTF_16LE.dictD03-May-20244.2 KiB104103

xpath.dictD03-May-2024933 6762

xslt.dictD03-May-20241.5 KiB119108

yaml.dictD03-May-20241.3 KiB8078

yara.dictD03-May-20242.7 KiB197183

zip.dictD03-May-202481 43

README.md

1# AFL++ dictionaries
2
3For the general instruction manual, see [docs/README.md](../docs/README.md).
4
5This subdirectory contains a set of dictionaries that can be used in conjunction
6with the -x option to allow the fuzzer to effortlessly explore the grammar of
7some of the more verbose data formats or languages.
8
9These sets were done by Michal Zalewski, various contributors, and imported from
10oss-fuzz, go-fuzz and libfuzzer.
11
12Custom dictionaries can be added at will. They should consist of a
13reasonably-sized set of rudimentary syntax units that the fuzzer will then try
14to clobber together in various ways. Snippets between 2 and 16 bytes are usually
15the sweet spot.
16
17Custom dictionaries can be created in two ways:
18
19  - By creating a new directory and placing each token in a separate file, in
20    which case, there is no need to escape or otherwise format the data.
21
22  - By creating a flat text file where tokens are listed one per line in the
23    format of name="value". The alphanumeric name is ignored and can be omitted,
24    although it is a convenient way to document the meaning of a particular
25    token. The value must appear in quotes, with hex escaping (\xNN) applied to
26    all non-printable, high-bit, or otherwise problematic characters (\\ and \"
27    shorthands are recognized, too).
28
29The fuzzer auto-selects the appropriate mode depending on whether the -x
30parameter is a file or a directory.
31
32In the file mode, every name field can be optionally followed by @<num>, e.g.:
33
34  `keyword_foo@1 = "foo"`
35
36Such entries will be loaded only if the requested dictionary level is equal or
37higher than this number. The default level is zero; a higher value can be set by
38appending @<num> to the dictionary file name, like so:
39
40  `-x path/to/dictionary.dct@2`
41
42Good examples of dictionaries can be found in xml.dict and png.dict.