Name Date Size #Lines LOC

..--

README.mdH A D25-Apr-20251.8 KiB4229

aff.dictH A D25-Apr-2025893 7471

ass.dictH A D25-Apr-20251 KiB113112

atom.dictH A D25-Apr-2025470 3431

av1_dc.dictH A D25-Apr-2025101 64

bash.dictH A D25-Apr-20251.8 KiB153151

bdf.dictH A D25-Apr-2025406 3128

bmp.dictH A D25-Apr-2025152 1110

bz2.dictH A D25-Apr-202590 43

creole.dictH A D25-Apr-2025227 1513

css.dictH A D25-Apr-20255 KiB355347

csv.dictH A D25-Apr-202536 76

dds.dictH A D25-Apr-2025578 3632

djvu.dictH A D25-Apr-2025238 3534

docommand.dictH A D25-Apr-202513.3 KiB689688

exif.dictH A D25-Apr-20252.4 KiB223222

fbs.dictH A D25-Apr-2025680 4340

ftp.dictH A D25-Apr-20251,020 125101

gif.dictH A D25-Apr-2025277 1915

graphviz.dictH A D25-Apr-20253.9 KiB374360

heif.dictH A D25-Apr-2025613 7775

hoextdown.dictH A D25-Apr-2025931 5049

html_tags.dictH A D25-Apr-20253.1 KiB161159

http.dictH A D25-Apr-20251.7 KiB120115

icc.dictH A D25-Apr-20254.3 KiB592569

iccprofile.dictH A D25-Apr-2025203 2624

icns.dictH A D25-Apr-2025344 4442

initfile.dictH A D25-Apr-202513.3 KiB689688

jbig2.dictH A D25-Apr-20254.4 KiB9992

jpeg.dictH A D25-Apr-2025437 2320

jpeg2000.dictH A D25-Apr-2025340 2322

js.dictH A D25-Apr-20252.2 KiB108103

json.dictH A D25-Apr-2025471 6252

jsonnet.dictH A D25-Apr-2025639 6157

markdown.dictH A D25-Apr-2025463 2924

math.dictH A D25-Apr-202595 2120

mathml.dictH A D25-Apr-20253.4 KiB280275

mp4.dictH A D25-Apr-20252.5 KiB8381

mysqld.dictH A D25-Apr-202512 21

ogg.dictH A D25-Apr-2025486 3733

openexr.dictH A D25-Apr-20251.2 KiB5856

otf.dictH A D25-Apr-20256.6 KiB964956

pbm.dictH A D25-Apr-2025541 3028

pcap.dictH A D25-Apr-2025165 117

pdf.dictH A D25-Apr-202516.2 KiB1,4671,465

perl.dictH A D25-Apr-2025214 1714

png.dictH A D25-Apr-2025747 3936

proj4.dictH A D25-Apr-20253.5 KiB250241

protobuf.dictH A D25-Apr-2025706 4139

ps.dictH A D25-Apr-20254.6 KiB434402

psd.dictH A D25-Apr-20251.3 KiB181171

regexp.dictH A D25-Apr-20253 KiB245244

riff.dictH A D25-Apr-2025182 1815

rss.dictH A D25-Apr-2025429 3230

rst.dictH A D25-Apr-2025385 2220

rtf.dictH A D25-Apr-20254.4 KiB409392

sas.dictH A D25-Apr-2025274 3837

spss.dictH A D25-Apr-2025376 4746

sql.dictH A D25-Apr-20258.1 KiB283276

stata.dictH A D25-Apr-2025179 2322

svg.dictH A D25-Apr-20252.1 KiB171165

tex.dictH A D25-Apr-20251.4 KiB123118

theme-load-fuzz.dictH A D25-Apr-202566 109

tiff.dictH A D25-Apr-20251 KiB5249

tokener_parse_ex.dictH A D25-Apr-202586 1918

toml.dictH A D25-Apr-2025388 2321

type42.dictH A D25-Apr-2025450 2624

url.dictH A D25-Apr-2025502 6359

utf8.dictH A D25-Apr-20251.5 KiB7452

vcf.dictH A D25-Apr-20251.6 KiB120116

vhd.dictH A D25-Apr-2025329 119

vpx_dec.dictH A D25-Apr-2025145 96

wav.dictH A D25-Apr-2025420 2623

webm.dictH A D25-Apr-20254.1 KiB153151

webp.dictH A D25-Apr-2025339 2118

wkt.dictH A D25-Apr-2025474 3633

x86.dictH A D25-Apr-202519.2 KiB1,8861,881

xml.dictH A D25-Apr-20251.6 KiB7368

xml_UTF_16.dictH A D25-Apr-20255 KiB104103

xml_UTF_16BE.dictH A D25-Apr-20254.2 KiB104103

xml_UTF_16LE.dictH A D25-Apr-20254.2 KiB104103

xpath.dictH A D25-Apr-2025933 6762

xslt.dictH A D25-Apr-20251.5 KiB119108

yaml.dictH A D25-Apr-20251.3 KiB8078

yara.dictH A D25-Apr-20252.7 KiB197183

zip.dictH A D25-Apr-202581 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.