• Home
Name Date Size #Lines LOC

..--

README.mdD04-Jul-20251.8 KiB4229

aff.dictD04-Jul-2025893 7471

ass.dictD04-Jul-20251 KiB113112

atom.dictD04-Jul-2025470 3431

av1_dc.dictD04-Jul-2025101 64

bash.dictD04-Jul-20251.8 KiB153151

bdf.dictD04-Jul-2025406 3128

bmp.dictD04-Jul-2025152 1110

bz2.dictD04-Jul-202590 43

creole.dictD04-Jul-2025227 1513

css.dictD04-Jul-20255 KiB355347

csv.dictD04-Jul-202536 76

dds.dictD04-Jul-2025578 3632

djvu.dictD04-Jul-2025238 3534

docommand.dictD04-Jul-202513.3 KiB689688

exif.dictD04-Jul-20252.4 KiB223222

fbs.dictD04-Jul-2025680 4340

ftp.dictD04-Jul-20251,020 125101

gif.dictD04-Jul-2025277 1915

graphviz.dictD04-Jul-20253.9 KiB374360

heif.dictD04-Jul-2025613 7775

hoextdown.dictD04-Jul-2025931 5049

html_tags.dictD04-Jul-20253.1 KiB161159

http.dictD04-Jul-20251.7 KiB120115

icc.dictD04-Jul-20254.3 KiB592569

iccprofile.dictD04-Jul-2025203 2624

icns.dictD04-Jul-2025344 4442

initfile.dictD04-Jul-202513.3 KiB689688

jbig2.dictD04-Jul-20254.4 KiB9992

jpeg.dictD04-Jul-2025437 2320

jpeg2000.dictD04-Jul-2025340 2322

js.dictD04-Jul-20252.2 KiB108103

json.dictD04-Jul-2025471 6252

jsonnet.dictD04-Jul-2025639 6157

markdown.dictD04-Jul-2025463 2924

math.dictD04-Jul-202595 2120

mathml.dictD04-Jul-20253.4 KiB280275

mp4.dictD04-Jul-20252.5 KiB8381

mysqld.dictD04-Jul-202512 21

ogg.dictD04-Jul-2025486 3733

openexr.dictD04-Jul-20251.2 KiB5856

otf.dictD04-Jul-20256.6 KiB964956

pbm.dictD04-Jul-2025541 3028

pcap.dictD04-Jul-2025165 117

pdf.dictD04-Jul-202516.2 KiB1,4671,465

perl.dictD04-Jul-2025214 1714

png.dictD04-Jul-2025747 3936

proj4.dictD04-Jul-20253.5 KiB250241

protobuf.dictD04-Jul-2025706 4139

ps.dictD04-Jul-20254.6 KiB434402

psd.dictD04-Jul-20251.3 KiB181171

regexp.dictD04-Jul-20253 KiB245244

riff.dictD04-Jul-2025182 1815

rss.dictD04-Jul-2025429 3230

rst.dictD04-Jul-2025385 2220

rtf.dictD04-Jul-20254.4 KiB409392

sas.dictD04-Jul-2025274 3837

spss.dictD04-Jul-2025376 4746

sql.dictD04-Jul-20258.1 KiB283276

stata.dictD04-Jul-2025179 2322

svg.dictD04-Jul-20252.1 KiB171165

tex.dictD04-Jul-20251.4 KiB123118

theme-load-fuzz.dictD04-Jul-202566 109

tiff.dictD04-Jul-20251 KiB5249

tokener_parse_ex.dictD04-Jul-202586 1918

toml.dictD04-Jul-2025388 2321

type42.dictD04-Jul-2025450 2624

url.dictD04-Jul-2025502 6359

utf8.dictD04-Jul-20251.5 KiB7452

vcf.dictD04-Jul-20251.6 KiB120116

vhd.dictD04-Jul-2025329 119

vpx_dec.dictD04-Jul-2025145 96

wav.dictD04-Jul-2025420 2623

webm.dictD04-Jul-20254.1 KiB153151

webp.dictD04-Jul-2025339 2118

wkt.dictD04-Jul-2025474 3633

x86.dictD04-Jul-202519.2 KiB1,8861,881

xml.dictD04-Jul-20251.6 KiB7368

xml_UTF_16.dictD04-Jul-20255 KiB104103

xml_UTF_16BE.dictD04-Jul-20254.2 KiB104103

xml_UTF_16LE.dictD04-Jul-20254.2 KiB104103

xpath.dictD04-Jul-2025933 6762

xslt.dictD04-Jul-20251.5 KiB119108

yaml.dictD04-Jul-20251.3 KiB8078

yara.dictD04-Jul-20252.7 KiB197183

zip.dictD04-Jul-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.