Compare commits

...

299 Commits
2.65c ... 2.66c

Author SHA1 Message Date
4a51cb71fb Merge pull request #434 from AFLplusplus/dev
Last Minute Unicornafl Update
2020-07-01 16:52:05 +02:00
f2efea4b46 Revert "Revert "updated unicorn version""
This reverts commit 857046ede5.
2020-07-01 16:05:04 +02:00
e15a013696 Merge pull request #433 from AFLplusplus/dev
final push to stable before release?
2020-07-01 15:58:26 +02:00
857046ede5 Revert "updated unicorn version"
This reverts commit 4515e06ca8.
2020-07-01 15:57:48 +02:00
4515e06ca8 updated unicorn version 2020-07-01 15:50:25 +02:00
97cef46b62 warn on deprecated env vars 2020-07-01 10:03:34 +02:00
4ec29928bf because github errors reput typo fix 2020-07-01 09:30:14 +02:00
ba79777bc5 Merge pull request #432 from AFLplusplus/dev
v2.66c
2020-07-01 09:28:13 +02:00
b67905c40f Merge branch 'stable' into dev 2020-07-01 09:19:32 +02:00
6b98157c1a v2.66c release preparation 2020-07-01 09:15:47 +02:00
4d2ccd18f6 comments fix 2020-07-01 07:55:58 +02:00
52a0410d92 fix text 2020-07-01 07:49:07 +02:00
d898418037 restore credit for afl-tmin fork server patch 2020-07-01 07:43:14 +02:00
2aaa60e4fc comments fix 2020-07-01 07:39:55 +02:00
e9dce31496 comments fixed 2020-07-01 07:35:42 +02:00
b201279ae5 text fix 2020-07-01 07:27:53 +02:00
be83f06b2f renaming remains fixed 2020-07-01 07:25:33 +02:00
9d5007b18e Big renaming (#429)
* first commit, looks good

* fix ascii percentage calc

* fix ascii percentage calc

* modify txt configs for test

* further refinement

* Revert "Merge branch 'text_inputs' into dev"

This reverts commit 6d9b29daca, reversing
changes made to 07648f75ea.

* blacklist -> ignore renaming

* rename whitelist -> instrumentlist

* reduce the time interval in which the secondaries sync

Co-authored-by: root <root@localhost.localdomain>
2020-06-30 23:34:26 +02:00
7527c76c74 reduce the time interval in which the secondaries sync 2020-06-30 17:33:47 +02:00
06264df168 rename whitelist -> instrumentlist 2020-06-30 17:28:21 +02:00
878b27af76 blacklist -> ignore renaming 2020-06-30 16:52:48 +02:00
4b99ebbf22 Revert "Merge branch 'text_inputs' into dev"
This reverts commit 6d9b29daca, reversing
changes made to 07648f75ea.
2020-06-29 18:48:17 +02:00
6d9b29daca Merge branch 'text_inputs' into dev 2020-06-29 18:35:51 +02:00
3f1288e2f9 Merge pull request #427 from AFLplusplus/dev
workaround for recent afl++ versions
2020-06-29 18:32:12 +02:00
8f1b78f49e Merge pull request #426 from AFLplusplus/dev
Dev
2020-06-29 18:19:35 +02:00
07648f75ea workaround for recent afl++ versions 2020-06-29 12:21:14 +02:00
3a0c91b862 fix unittest 2020-06-29 01:23:30 +02:00
e5e485fcdb fix autodict 2020-06-29 00:58:05 +02:00
16f3df7cc6 fix for shmem+autodict 2020-06-29 00:18:29 +02:00
6d0f086d9c less problematic definitions 2020-06-28 23:50:25 +02:00
c25a602a03 less problematic definitions 2020-06-28 23:47:57 +02:00
81974c4d5e debug code 2020-06-28 22:50:18 +02:00
5f3b7e6cdf typo aonce -> once 2020-06-28 21:21:27 +02:00
910b9f3f25 O2 instead of O3 for .o target files 2020-06-28 16:53:31 +02:00
4fd2cb2ce0 update idea list 2020-06-28 14:51:49 +02:00
e234a6ae4e update schedules in readme 2020-06-28 14:46:57 +02:00
ee17782e61 fix output for LTOinstrim 2020-06-28 00:13:31 +02:00
cd6954e3c1 fix make static 2020-06-27 23:11:10 +02:00
29e41a09d5 fix typos 2020-06-27 18:16:27 +02:00
4103687f76 afl-sharedmem.c: fix leaks on error paths (SysV shared memory) 2020-06-27 00:13:24 +02:00
976e99b1d4 original fix for calibration error 2020-06-26 10:17:21 +02:00
da7c548452 afl-plot remove error print 2020-06-26 09:53:54 +02:00
1ecfd78418 implement sharedmem mmap for cmplog 2020-06-26 09:13:07 +02:00
07fead0466 fix shared memory leaks in afl-showmap, initialize cmplog_mode 2020-06-26 01:14:21 +02:00
8bd8442bcc fix for schedules 2020-06-25 22:44:46 +02:00
5904083231 remove debug 2020-06-25 22:28:56 +02:00
171b1923e9 shmem release fix 2020-06-25 22:02:02 +02:00
8d5eb9487d make llvm_mode pcguard instrumentation collision free 2020-06-25 20:09:56 +02:00
633a3feab9 fix makefile 2020-06-25 17:51:48 +02:00
c8f60a7fbf initialized variable 2020-06-25 17:25:16 +02:00
3a62bb68e0 updated unicornafl 2020-06-25 17:13:16 +02:00
8178f4dfdd remove radamsa, add radamsa custom mutator 2020-06-25 16:51:29 +02:00
4a3305c007 Merge pull request #425 from dgmelski/fix-recalibration
Fix saturated maps & stability cliff in recalibration
2020-06-25 15:16:10 +02:00
9858bc81a3 GNUmakefile: warn about '.' being first path in PATH environment variable. This causes recursion in 'as'. (seen in Haiku) 2020-06-25 13:28:34 +02:00
b5573b3adb add seek power schedule, remove update stats in calibration, fix help output 2020-06-25 10:33:59 +02:00
15dd4ad177 fix plot 2020-06-25 08:50:34 +02:00
d540971443 Fix saturated maps & stability cliff in recalibration
I have observed two problems:

  1. A sudden "stability cliff" where stability drops precipitously.

  2. A sudden jump to a 100% saturated "density map".

Both issues are due to attempted "recalibration" of a case at the
beginning of fuzz_one_original() or mopt_common_fuzzing().  See the
comments "CALIBRATION (only if failed earlier on)" in those functions
and the subsequent call to calibrate_case().

At those calls to calibrate_case(), afl->fsrv.trace_bits holds
trace_bits for a run of the SUT on a prior queue entry.  However,
calibrate_case() may use the trace_bits as if they apply to the
current queue entry (afl->queue_cur).

Most often this bug causes the "stability cliff".  Trace bits are
compared for runs on distinct inputs, which can be very different.
The result is a sudden drop in stability.

Sometimes it leads to the "saturated map" problem.  A saturated
density map arises if the trace bits on the previous entry were
"simplified" by simplify_trace().  Simplified traces only contain the
values 1 and 128.  They are meant to be compared against
virgin_crashes and virgin_tmouts.

However, this bug causes the (stale) simplified trace to be compared
against virgin_bits during a call to has_new_bits(), which causes
every byte in vigin_bits to be something other than 255.  The overall
map density is determined by the percentage of bytes not 255, which
will be 100%.  Worse, AFL++ will be unable to detect novel occurrences
of edge counts 1 and 128 going forward.

This patch avoids the above issues by clearing q->exec_cksum when
calibration fails.  Recalibrations are forced to start with a fresh
trace on the queue entry.

Thanks to @andreafioraldi for suggesting the current, improved patch.
2020-06-24 17:59:04 -04:00
1d7c76d141 decrease time to sync for main 2020-06-24 17:37:16 +02:00
224a49341a update .gitignore 2020-06-24 17:04:28 +02:00
fce010f051 add -D option for -S 2020-06-24 11:14:00 +02:00
bdc8e3b79e create .synced/NAMES.last to document last sync attempts 2020-06-24 11:09:33 +02:00
9289af040c gitignore 2020-06-24 08:23:31 +02:00
49a769ac06 lto whitelist in test.sh 2020-06-23 21:23:10 +02:00
2b450aeb20 fix test.sh 2020-06-23 18:21:50 +02:00
5f1c0111a6 fix make files 2020-06-23 18:06:08 +02:00
89f0dc2d14 fix gcc mode for travis 2020-06-23 17:43:04 +02:00
cffb0e9a25 fix gcc makefile 2020-06-23 17:36:05 +02:00
2b26e3867f fix gcc makefile 2020-06-23 17:31:52 +02:00
aad433e11e Merge branch 'dev' of github.com:vanhauser-thc/AFLplusplus into dev 2020-06-23 15:08:49 +02:00
59e1a18197 Merge pull request #422 from devnexen/haiku__build_upd
Haiku  build upd
2020-06-23 11:01:22 +02:00
8f98044d69 Libdislocator Haiku build fix 2020-06-23 09:41:38 +00:00
6c414409d4 libtokencap Haiku support 2020-06-23 09:29:57 +00:00
7119bf5d86 Added rand, hash unittests 2020-06-22 21:58:23 +02:00
ea1222b33f old compiler fix 2020-06-22 21:40:02 +02:00
37edfe2de9 shmem support for afl-tmin and afl-showmap 2020-06-22 19:56:34 +02:00
76a2d9b59b further refinement 2020-06-22 13:48:59 +02:00
87f127722c fix afl-cmin.bash 2020-06-22 08:28:41 +02:00
a49b5ef072 allow /tmp 2020-06-22 07:16:24 +02:00
5cad92e57e fix unicorn mode for CFLAGS 2020-06-21 18:07:30 +02:00
f6ef1fe65e fix libcompcov for CFLAGS 2020-06-21 16:43:55 +02:00
048e429356 remove -Werror and add include for libdislocator 2020-06-21 16:33:55 +02:00
eb3cb4bbf8 fix for s=0 2020-06-21 16:21:59 +02:00
b0866f59cc fix for -s 0 2020-06-21 14:08:41 +02:00
b3b016a4a3 fix libradamsa see issue #419 2020-06-20 22:39:12 +02:00
341e17bf53 Merge pull request #418 from jonasmollerlarsen/dev
Fix when env. PATH contains spaces
2020-06-20 13:37:22 +02:00
eb4561e3a6 afl-plot: fix issue #417, also check relative paths for directories 2020-06-20 13:09:47 +02:00
990b234067 Fix when env. PATH contains spaces 2020-06-20 11:50:53 +02:00
07a4e6370a modify txt configs for test 2020-06-20 10:55:02 +02:00
1381e96d8c fix ascii percentage calc 2020-06-20 09:22:14 +02:00
5ca303393f fix ascii percentage calc 2020-06-20 09:21:02 +02:00
de2c565953 first commit, looks good 2020-06-19 18:05:04 +02:00
2a254fce8f fix afl-clang-fast for default pcguard mode 2020-06-19 14:21:34 +02:00
758f136d3e update todo 2020-06-18 20:39:06 +02:00
5d3d86c680 update todo 2020-06-18 15:33:16 +02:00
d8d5adeb61 Merge pull request #416 from Mem2019/patch-2
`fault == afl->crash_mode` should be likely
2020-06-18 07:08:11 +02:00
003456f770 fault == afl->crash_mode should be likely
Since during normal fuzzing, crash_mode is FSRV_RUN_OK, and fault is also usually FSRV_RUN_OK since most executions are valid executions, thus it should be likely instead of unlikely
2020-06-18 11:23:10 +08:00
394d8ade15 work around for llvm 11 bug 2020-06-17 22:21:09 +02:00
61107c59cf fix displayed schedule 2020-06-17 16:46:30 +02:00
889e54eab8 unit tests: fix stupid compiler warning for gcc 4.8.4 2020-06-16 23:07:33 +02:00
a14f3c90a8 fix unit tests when exit is called at the end 2020-06-16 22:37:56 +02:00
e05ed58bf8 fix test.sh for failing unit tests 2020-06-16 19:44:52 +02:00
d6824d540b Merge pull request #408 from Minilulatsch/dev
Fixed missing cast in afl-clang-fast.c, which results in a compilation error when using __AFL_FUZZ_TESTCASE_BUF in a C++ target
2020-06-16 19:36:11 +02:00
2e35326040 Fixed missing cast in afl-clang-fast.c, which results in a compilation error when using __AFL_FUZZ_TESTCASE_BUF in a C++ target 2020-06-16 18:04:38 +02:00
e5dcaa818e set class afl instrumentation if llvm <= 6 2020-06-16 15:59:09 +02:00
bac2da8669 fix for *BSD: remove all HAVE_ARC4RANDOM dependencies 2020-06-16 01:29:07 +02:00
9c293b5b7b code format 2020-06-15 22:05:37 +02:00
6804065a8d using XX64 for 32 bit hash 2020-06-15 22:03:01 +02:00
246444dd57 tidied hash32, unicorn 2020-06-15 21:40:37 +02:00
6a216b5708 make aflpp driver performant again 2020-06-15 21:39:45 +02:00
f6d2da27e3 switched to new MOpt dictionary support 2020-06-15 21:07:35 +02:00
ada59feda8 improve performance for default power schedule 2020-06-15 20:02:28 +02:00
af8d4d49ed add new dictionary from antonio-morales ftp fuzzing 2020-06-15 16:30:41 +02:00
dc002b4b35 code format 2020-06-15 11:08:24 +02:00
acb0a2f027 fixed potential bugs 2020-06-15 11:07:57 +02:00
43bbbbf4e0 rust unicornafl++ 2020-06-15 00:20:13 +02:00
05da66b5e9 unicornafl update 2020-06-14 23:30:36 +02:00
b8cea84195 disable focal on travis temporarily 2020-06-14 18:48:49 +02:00
741dce3ca6 Merge pull request #404 from devnexen/haiku_porting
Porting to Haiku.
2020-06-14 17:38:17 +02:00
67d87dd2a9 Porting to Haiku.
getrusage does not implement resident memory gathering, no shm api neither.
2020-06-14 15:32:02 +00:00
ab142282a3 kill targets on exit 2020-06-14 16:08:58 +02:00
bfe5b88e78 code format 2020-06-13 14:28:42 +02:00
fc26001b50 fix shmem 2020-06-13 13:47:43 +02:00
1542c7f49c fix typos 2020-06-13 10:58:30 +02:00
615ab1a7b8 fix resize window crash and slightly more performant timed_read 2020-06-13 00:14:14 +02:00
ce1af1bc9c code-format killed the compilation 2020-06-12 16:57:33 +02:00
ab0e3fdd82 code-format killed the compilation 2020-06-12 16:50:36 +02:00
40aca0b6b3 fix for checksums 2020-06-12 16:33:20 +02:00
a632c00b0d switch to faster and better hash + random 2020-06-12 16:08:49 +02:00
db2e04361d shm debug and fixes 2020-06-12 11:57:54 +02:00
7d19b108c4 fix warnings 2020-06-12 09:23:38 +02:00
818afe6232 added MOpt dictionary support from repo 2020-06-12 08:27:03 +02:00
e8da5f9e28 code format and debug 2020-06-11 19:30:28 +02:00
b3fee6cab2 rust bindings for unicornafl 2020-06-11 16:36:45 +02:00
da7a8ce60a issue #401: remove all TAB characters from dictionary files 2020-06-10 21:53:58 +02:00
a6386bd640 Merge pull request #400 from devnexen/gotcpu_illumos
start of illumos cpu binding implementation.
2020-06-10 20:29:55 +02:00
b3feda052d start of illumos cpu binding implementation.
The current user needs the proc_owner permission, not something doable
 via the settings script.
2020-06-10 16:16:47 +01:00
c1eb2bccaa more output in uc-tests 2020-06-10 12:09:45 +02:00
5cb6dc7795 Merge pull request #398 from devnexen/array_subscript_warn_fix
Disable array subscript warning
2020-06-10 09:25:31 +02:00
af66d8027b Merge pull request #399 from devnexen/non_aff_build_fix
systems w/o affinity support build fix
2020-06-10 09:25:06 +02:00
4ee4495120 Disable array subscript warning 2020-06-09 22:43:31 +01:00
c02721775a updated unicorn 2020-06-09 23:15:24 +02:00
cbdcd32959 systems w/o affinity support build fix 2020-06-09 22:14:13 +01:00
12bdefe00e Merge pull request #392 from AFLplusplus/dev
Push to master
2020-06-09 19:25:09 +02:00
81829d132b always set status 2020-06-09 17:09:34 +02:00
5fa0f8f55b fix debug output in stats 2020-06-09 17:01:41 +02:00
7e818e877a fixing travis 2020-06-09 15:45:50 +02:00
32a40ab5c5 add cpu affinity to fuzzer_stats 2020-06-09 11:22:27 +02:00
c2087b7c13 more unicornafl fixes 2020-06-09 04:18:02 +02:00
feffae60dd code format 2020-06-09 03:48:50 +02:00
8e3f6fe2dc added persistent mode testcase 2020-06-09 03:46:17 +02:00
92b8c5bb60 fixed shmap fuzzing 2020-06-09 03:03:21 +02:00
646237e234 fix x86 notzero 2020-06-08 11:52:49 +02:00
b4f71c7cc7 Merge pull request #396 from Kyle-Kyle/master
fix a fundamental bug: favor random branches
2020-06-08 08:57:25 +02:00
73334207ce fix a fundamental bug: favor random branch randomly 2020-06-07 15:14:25 -07:00
e8a6b1cfb5 updated unicorn 2020-06-07 16:22:39 +02:00
748238d6ab Revert "updated unicorn"
This reverts commit 5fcd4bb082.
2020-06-07 16:19:51 +02:00
5fcd4bb082 updated unicorn 2020-06-07 00:41:46 +02:00
a1aef91e39 Merge pull request #395 from toralf/dev
unicorn_mode/samples/persistent/harness.c: fix comment
2020-06-06 16:53:43 +02:00
c2c128dd67 unicorn_mode/samples/persistent/harness.c: fix comment
Signed-off-by: Toralf Förster <toralf.foerster@gmx.de>
2020-06-06 16:41:40 +02:00
372206e159 aflpp_debug 2020-06-06 11:45:08 +02:00
c036108b59 Merge pull request #394 from devnexen/libtoken_api_nbsd_upd
libdislocator, adding subset of specific NetBSD api.
2020-06-05 17:50:52 +02:00
b5c77cf4f6 libdislocator, adding subset of specific NetBSD api. 2020-06-05 15:32:27 +01:00
2b33be939a fix qemu mode 2020-06-05 09:55:22 +02:00
e01cad2f7d qemu debug 2020-06-05 09:42:17 +02:00
a1beb72cad qemu_mode: fix error handling of mmap 2020-06-04 22:27:46 +02:00
a9348e0acc fix cmplog for shmem persistent mode 2020-06-04 16:31:53 +02:00
9a1e22afab typo 2020-06-04 15:31:27 +02:00
855ee06247 add afl-ld-lto for LTO 2020-06-04 13:57:16 +02:00
f1ad9bdaea fix 2020-06-04 09:10:58 +02:00
2f73215d4f update libfuzzer driver 2020-06-04 08:53:05 +02:00
155405e0d0 Merge branch 'master' into dev 2020-06-04 03:18:41 +02:00
88e83c7322 code format 2020-06-04 02:53:24 +02:00
35ddec7aeb fix shmem persistent mode 2020-06-04 02:37:05 +02:00
e11922e5cc adapted unicornafl to new shmap 2020-06-03 19:27:59 +02:00
a79c002145 Merge pull request #390 from devnexen/obsd_no_retpoline
OpenBSD build update and llvm mode fix
2020-06-03 18:32:44 +02:00
ea91cfdf9a fix shmem 2020-06-03 18:09:06 +02:00
031e4300a5 switch order of shmem fuzz 2020-06-03 16:19:09 +02:00
dd0ca7335f switch shmem_len to the map 2020-06-03 15:49:23 +02:00
686d8823eb OpenBSD: add missing limits.h header for PATH_MAX 2020-06-03 17:43:33 +02:00
a5d554c3ef improved unicornafl speed 2020-06-03 15:18:07 +02:00
177db9cf79 no inline in qemu driver 2020-06-03 11:51:35 +02:00
2d8c3d2934 fix conflicts 2020-06-03 11:41:30 +02:00
f1192b2d16 AFL_QEMU_DRIVER_NO_HOOK 2020-06-03 11:38:44 +02:00
fc164e4709 code format 2020-06-03 10:50:49 +02:00
1c95e2e8e0 aflpp libfuzzer driver for qemu mode 2020-06-03 10:34:29 +02:00
9962de1a4c shared mem input for qemu persistent hook 2020-06-03 09:57:44 +02:00
304a72c1ff added shmem support to unicornafl 2020-06-03 02:00:58 +02:00
83112ed5e0 got rid of questionable phrasing 2020-06-02 14:54:24 +02:00
fbd781fc83 Merge branch 'dev' of github.com:aflplusplus/aflplusplus into dev 2020-06-02 14:10:44 +02:00
62306f5ce8 minor fixes 2020-06-02 14:10:40 +02:00
1d15048f2f hopeful finally change for libfuzzer driver 2020-06-01 15:30:44 +02:00
adcffce0a0 fix libfuzzer driver 2020-06-01 14:57:05 +02:00
9a65fe904d small changes to libfuzzer driver 2020-06-01 13:37:50 +02:00
ac998e9222 minimal changes to a test 2020-06-01 13:15:34 +02:00
15c0ad60c5 minimal changes to a test 2020-06-01 13:15:16 +02:00
0de25f08ba code format 2020-06-01 12:30:55 +02:00
bca7ce8043 fixed persistent mode shared mem fuzzing 2020-06-01 12:30:20 +02:00
ee14785f68 starting shmap support for unicorn 2020-05-31 04:13:41 +02:00
c0ed118ba5 comment 2020-05-30 20:38:01 +02:00
0adb664a31 OpenBSD build update and llvm mode fix
Unlike upstream version, LLVM in OpenBSD enable by default anti ROP gadget
 leading to bigger binaries and lower performances.
On OpenBSD, it needs to link to c++ abi for th unwind symbols.
2020-05-30 19:28:47 +01:00
4a54328901 rename var time->time_ms 2020-05-30 17:11:45 +02:00
24508194c2 removed read_timed 2020-05-30 14:03:52 +02:00
95b46b4278 reverted extendended read_timed 2020-05-30 13:53:00 +02:00
b16ccb4811 Revert "code format"
This reverts commit 8f19becb62.
2020-05-30 13:51:29 +02:00
4119752f83 fix forkserver change 2020-05-30 13:37:27 +02:00
b7b5fdf42a fix vor afl-clang 2020-05-30 13:31:10 +02:00
dbd9423fc0 PowerPc support 2020-05-30 11:32:11 +02:00
8f19becb62 code format 2020-05-30 11:05:53 +02:00
38e5c32a55 corrected read_timed for values > 4 2020-05-30 11:02:34 +02:00
0c50945303 update readme 2020-05-30 07:22:51 +02:00
8726d7b0a3 simplified read_timed 2020-05-30 06:51:51 +02:00
408ef5298b Merge pull request #383 from dgmelski/fix-read-timed
Fix read_timed when accumulating short reads
2020-05-29 18:58:25 +02:00
2ce243bc6e whitelist wildcard for LTO 2020-05-29 16:27:01 +02:00
255594ba3a Merge pull request #385 from sirmc/dev
Support UNIX-style wildcards in AFL_LLVM_WHITELIST file
2020-05-29 16:21:54 +02:00
8bb0232ace Remove AFL_LLVM_WHITELIST_FNMATCH env variable 2020-05-29 15:47:34 +02:00
e3efacaae6 Merge pull request #386 from AFLplusplus/dev
code format
2020-05-29 14:44:04 +02:00
a550df4301 code format 2020-05-29 14:43:03 +02:00
710dda5221 Merge pull request #374 from AFLplusplus/dev
Dev
2020-05-29 14:35:05 +02:00
c3b864d8d4 add Perl dictionaries from RootUp 2020-05-29 12:55:46 +02:00
6892018142 Revert "perl.dict"
This reverts commit 4ad3144f50.
2020-05-29 12:48:06 +02:00
84df805ed3 Do clang-format 2020-05-29 12:11:19 +02:00
9c286da29b gcc_plugin: better error message when compiler and plugin versions do not match 2020-05-29 12:10:45 +02:00
92b7974f44 .gitignore: add *.pyc 2020-05-29 12:07:09 +02:00
38860323de Fix typos in LLVM whitelist README 2020-05-29 12:01:06 +02:00
8316425375 Add AFL_LLVM_WHITELIST_FNMATCH env var
Only enable UNIX pattern matching on the whitelist when
AFL_LLVM_WHITELIST_FNMATCH is set. The reason being that we keep
backwards compatibility with old whitelists.
2020-05-29 11:55:02 +02:00
0cedc8014b Support filename pattern matching in whitelist
Allow the whitelist specified by AFL_LLVM_WHITELIST contain entries with
UNIX shell-style wildcard pattern matching.
2020-05-29 10:51:34 +02:00
8aae1fc5d7 Merge pull request #384 from RootUp/patch-4
Grammar for fuzzing Perl
2020-05-29 10:14:33 +02:00
4ad3144f50 perl.dict 2020-05-29 10:55:35 +04:00
4b01d594c4 Fix read_timed when accumulating short reads
The existing code appears to use 'len_read' in several places where
'total_read' was intended.  The function may work if the first 1 or 2
iterations of the loop read the requested 'len' bytes.

If the first two reads are "short" and a third read is done, the bytes
will be placed over previously read bytes in buf and more than 'len'
bytes may be read in total, though buf is never overrun.

This commit changes read_timed to

  (1) correctly append short reads in buf
  (2) correctly terminate when the sum of the short reads
      equals the requested 'len' bytes
  (3) return an error when read() returns -1 or 0

The function also depends on select() decrementing the timeout
structure, as it does on Linux.  On other platforms, the exec_ms
returned is likely incorrect.  This patch does not attempt to address
this issue.
2020-05-28 20:25:30 -04:00
5e4cd05e04 Merge pull request #382 from ivachyou/master
change qemu-mode AFL_REGS_NUM to 16 for TARGET_ARM
2020-05-28 23:35:55 +02:00
7cf01b10b7 Delete action.yml 2020-05-29 04:28:32 +07:00
eb7d1e22e5 simplify u64 2020-05-28 22:56:15 +02:00
0555b26161 Merge pull request #375 from risicle/ris-llvm-compare-transform-var-sized-dev
llvm_mode compare-transform-pass: add handling of sized comparisons with non-const size
2020-05-28 22:47:13 +02:00
bb0a31158a test.sh OpenBSD6.7, 32bit: add 'i386' to known intel strings 2020-05-28 22:24:06 +02:00
bfd2b6298e OpenBSD6.7, 32bit fix add linker option -z notext 2020-05-28 22:23:30 +02:00
b87d97aa2b make dockerfile better 2020-05-28 14:34:50 +02:00
48b2028af8 remove actions, we do this via docker hub 2020-05-28 12:22:28 +02:00
92be4ea871 change qemu-mode AFL_REGS_NUM to 16 for TARGET_ARM 2020-05-28 16:42:38 +07:00
8a2656681f GNUmakefile: make binary-only: make qemu build optional, so unicornafl can be build 2020-05-28 08:27:21 +02:00
5671cae225 actions 2020-05-28 02:41:27 +02:00
ef8d252843 fix Dockerfile 2020-05-28 01:29:57 +02:00
af670ca138 enable snapshot lkm for llvm_mode persistent mode 2020-05-27 17:17:33 +02:00
aace0d1192 code format 2020-05-27 11:28:29 +02:00
cee4b4593b Merge pull request #379 from arnow117/master
Fix MOpt implementation flaws
2020-05-27 11:27:11 +02:00
434ccf3df4 allow for copy paste from documentation 2020-05-27 11:24:09 +02:00
b81df11d8a fix 64bit support for powerpc, risc, etc. 2020-05-27 11:07:54 +02:00
dab498c3b7 fix MOPT implementation flaws in core fuzzing 2020-05-27 16:01:44 +08:00
d5bb9731fe Revert "libfuzzer driver, better rt compilation"
This reverts commit 46a0f812b1.
2020-05-26 17:41:24 +02:00
9dd0b7c6de make examples better 2020-05-26 15:57:15 +02:00
1cae68dde3 persistent mode shared memory fuzzing - done 2020-05-26 15:20:42 +02:00
996e1515b3 better performance compilation options for afl++ and targets 2020-05-26 13:19:57 +02:00
f6808158c5 llvm_mode compare-transform-pass: add handling of sized comparisons with non-const size
this involved insertion of an extra length-checking bb for each character
to see if we've hit the sized limit.
2020-05-25 23:38:45 +01:00
7e4c5b3636 tests: add test of compiled compcov binary's functionality 2020-05-25 23:38:45 +01:00
0994972c07 more performance testing 2020-05-25 22:19:50 +02:00
a0da531170 libfuzzer driver + llvm_mode compilation optimization 2020-05-25 22:09:00 +02:00
46a0f812b1 libfuzzer driver, better rt compilation 2020-05-25 21:58:00 +02:00
de78f867a4 Changelog: typos 2020-05-25 18:16:37 +02:00
707145c491 persistent mode: shared memory test case transfer 2020-05-25 16:40:55 +02:00
1e597a64dc llvm_mode compare-transform-pass: refactor comparison length determination
make this clearer and handle case with embedded null characters in
const string properly
2020-05-25 13:53:17 +01:00
4c394a9d7b new todo 2020-05-25 10:57:15 +02:00
3eef1560a2 remove not needed error description 2020-05-25 09:14:30 +02:00
fc574086ec fix cmplog 2020-05-24 15:15:17 +02:00
68e66fa920 fix compare-transform for strn?casecmp 2020-05-24 01:59:08 +02:00
38df6eb3a9 LTO whitelist functionality rewritten, now anything can be skipped 2020-05-23 17:00:02 +02:00
0245f8438d forkserver: missing space in message 2020-05-23 08:15:20 +02:00
d7ea8356a7 installing llvm 11 2020-05-23 01:53:42 +02:00
c64ea49432 AFL_LLVM_LAF_ALL 2020-05-23 01:37:21 +02:00
38fe1c6066 more help for LTO issues 2020-05-22 20:59:32 +02:00
74f01881e3 small enhancements for llvm11 2020-05-22 16:56:05 +02:00
0f8da71588 more test.sh fixes 2020-05-22 13:50:39 +02:00
7d3cfcfd0b more test.sh fixes 2020-05-22 13:49:50 +02:00
536397b22f travis debug 2020-05-22 13:31:16 +02:00
6253bea73c fix test.sh 2020-05-22 12:51:21 +02:00
a5ef93c83a fix cmplog for llvm 11-dev 2020-05-22 11:42:04 +02:00
5b9dfa0600 fix llvm_mode selection 2020-05-22 11:22:30 +02:00
5d0bcf8152 switching llvm_mode default to pcguard 2020-05-22 10:24:00 +02:00
83007f77f5 update docs 2020-05-21 10:31:37 +02:00
c456e20750 better sync - lesser and better imports 2020-05-20 23:12:33 +02:00
982017a2ab remove master file on exit 2020-05-20 22:52:33 +02:00
3b4cd98498 add local include paths for DronFlyBSD 2020-05-19 17:57:56 +02:00
0ed767fac5 forgot the unlink ... 2020-05-19 19:54:10 +02:00
25fbec6638 if no master is present a slave becomes a temporary master 2020-05-19 19:51:54 +02:00
ae6c30a711 upgrade Dockerfile to Ubunutu 20.04 with llvm 11 and gcc 10 for afl-clang-lto 2020-05-19 19:22:11 +02:00
c7b1ed2395 Merge pull request #367 from devnexen/example_network_build_fix
Build fix proposal mainly for Android which did not bother
2020-05-18 22:51:15 +02:00
5d0f020648 Build fix proposal mainly for Android which did not bother
implementing this dinosaur.
2020-05-18 21:44:27 +01:00
74e6fbab82 update changelog 2020-05-18 12:26:40 +02:00
30824bc58e afl-as fast system fix 2020-05-18 10:48:39 +02:00
d146965025 Update Changelog.md 2020-05-17 21:43:33 +02:00
e1e155022f adjust documentation for new minimum llvm version 3.4 2020-05-17 21:35:10 +02:00
d37a8f72d6 fix master creation file 2020-05-17 01:36:03 +02:00
9dd3e3e38a fix -M check 2020-05-17 00:13:55 +02:00
b927b80e10 GNUmakefile: add paths for FreeBSD 3rd party packages 2020-05-16 20:30:07 +02:00
af6736c356 dictionary files: fix missing newlines 2020-05-16 13:16:37 +02:00
6e98b3ebb2 non GNU Makefiles: message when gmake is not found, gcc_plugin portability 2020-05-16 12:15:03 +02:00
afb81b8005 added lots of dictionaries 2020-05-16 11:17:36 +02:00
2b922e9e68 fix possible null ptr deref in afl-prealloc.h 2020-05-15 17:07:30 +02:00
57637ba0b0 removed overlooked post_lib references, added post_lib examples to examples/custom_mutators 2020-05-15 13:39:42 +02:00
d536ddc240 change: slaves only sync from masters 2020-05-15 09:27:15 +02:00
564399bd75 v2.65d init 2020-05-15 09:04:55 +02:00
225 changed files with 84277 additions and 33112 deletions

5
.gitignore vendored
View File

@ -2,6 +2,7 @@
.test2
*.o
*.so
*.pyc
afl-analyze
afl-as
afl-clang
@ -17,6 +18,7 @@ afl-gcc-fast
afl-g++-fast
afl-gotcpu
afl-ld
afl-ld-lto
afl-qemu-trace
afl-showmap
afl-tmin
@ -44,9 +46,12 @@ ld
qemu_mode/qemu-*
unicorn_mode/samples/*/\.test-*
unicorn_mode/samples/*/output/
unicorn_mode/unicornafl
core\.*
test/unittests/unit_maybe_alloc
test/unittests/unit_preallocable
test/unittests/unit_list
test/unittests/unit_rand
test/unittests/unit_hash
examples/afl_network_proxy/afl-network-server
examples/afl_network_proxy/afl-network-client

View File

@ -9,9 +9,9 @@ branches:
matrix:
include:
- os: linux
dist: focal
env: NAME="focal-amd64" MODERN="yes" GCC="9"
# - os: linux # focal errors every run with a timeout while installing packages
# dist: focal
# env: NAME="focal-amd64" MODERN="yes" GCC="9"
- os: linux
dist: bionic
env: NAME="bionic-amd64" MODERN="yes" GCC="7"

View File

@ -1,37 +1,62 @@
FROM ubuntu
MAINTAINER David Carlier <devnexen@gmail.com>
LABEL "about"="AFLplusplus docker image"
RUN apt-get update && apt-get -y install \
--no-install-suggests --no-install-recommends \
automake \
bison \
build-essential \
clang \
clang-9 \
flex \
git \
python3 \
python3-dev \
python3-setuptools \
python-is-python3 \
gcc-9 \
gcc-9-plugin-dev \
gcc-9-multilib \
libc++-9-dev \
libtool \
libtool-bin \
libglib2.0-dev \
llvm-9-dev \
wget \
ca-certificates \
libpixman-1-dev \
&& rm -rf /var/lib/apt/lists/*
#
# This Dockerfile for AFLplusplus uses Ubuntu 20.04 focal and
# installs LLVM 11 from llvm.org for afl-clang-lto support :-)
# It also installs gcc/g++ 10 from the Ubuntu development platform
# has focal has gcc-10 but not g++-10 ...
#
ARG CC=gcc-9
ARG CXX=g++-9
ARG LLVM_CONFIG=llvm-config-9
FROM ubuntu:20.04
MAINTAINER afl++ team <afl@aflplus.plus>
LABEL "about"="AFLplusplus docker image"
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get upgrade -y && \
apt-get -y install --no-install-suggests --no-install-recommends \
automake \
bison flex \
build-essential \
git \
python3 python3-dev python3-setuptools python-is-python3 \
libtool libtool-bin \
libglib2.0-dev \
wget vim jupp nano \
apt-utils apt-transport-https ca-certificates gnupg dialog \
libpixman-1-dev
RUN echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal main >> /etc/apt/sources.list && \
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
RUN echo deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal main >> /etc/apt/sources.list && \
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1E9377A2BA9EF27F
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y gcc-10 g++-10 gcc-10-plugin-dev gcc-10-multilib \
libc++-10-dev gdb lcov
RUN apt-get install -y clang-11 clang-tools-11 libc++1-11 libc++-11-dev \
libc++abi1-11 libc++abi-11-dev libclang1-11 libclang-11-dev \
libclang-common-11-dev libclang-cpp11 libclang-cpp11-dev liblld-11 \
liblld-11-dev liblldb-11 liblldb-11-dev libllvm11 libomp-11-dev \
libomp5-11 lld-11 lldb-11 llvm-11 llvm-11-dev llvm-11-runtime llvm-11-tools
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 0
RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 0
RUN rm -rf /var/cache/apt/archives/*
ARG CC=gcc-10
ARG CXX=g++-10
ARG LLVM_CONFIG=llvm-config-11
RUN git clone https://github.com/AFLplusplus/AFLplusplus
RUN cd AFLplusplus && export REAL_CXX=g++-10 && make distrib && \
make install && make clean
RUN cd AFLplusplus && make clean && make distrib && \
make install && cd .. && rm -rf AFLplusplus
RUN git clone https://github.com/vanhauser-thc/afl-cov afl-cov
RUN cd afl-cov && make install
RUN echo 'alias joe="jupp --wordwrap"' >> ~/.bashrc
ENV AFL_SKIP_CPUFREQ=1

View File

@ -50,19 +50,30 @@ else
endif
endif
ifeq "$(shell echo 'int main() {return 0; }' | $(CC) -fno-move-loop-invariants -fdisable-tree-cunrolli -x c - -o .test 2>/dev/null && echo 1 || echo 0 ; rm -f .test )" "1"
SPECIAL_PERFORMANCE += -fno-move-loop-invariants -fdisable-tree-cunrolli
endif
ifneq "$(shell uname)" "Darwin"
ifeq "$(shell echo 'int main() {return 0; }' | $(CC) $(CFLAGS) -Werror -x c - -march=native -o .test 2>/dev/null && echo 1 || echo 0 ; rm -f .test )" "1"
CFLAGS_OPT += -march=native
#CFLAGS_OPT += -march=native
SPECIAL_PERFORMANCE += -march=native
endif
# OS X does not like _FORTIFY_SOURCE=2
CFLAGS_OPT += -D_FORTIFY_SOURCE=2
endif
ifeq "$(shell uname)" "SunOS"
CFLAGS_OPT += -Wno-format-truncation
LDFLAGS=-lkstat
endif
ifdef STATIC
$(info Compiling static version of binaries)
$(info Compiling static version of binaries, disabling python though)
# Disable python for static compilation to simplify things
PYTHON_OK=0
PYFLAGS=
PYTHON_INCLUDE=/
CFLAGS_OPT += -static
LDFLAGS += -lm -lpthread -lz -lutil
@ -86,19 +97,36 @@ endif
CFLAGS ?= -O3 -funroll-loops $(CFLAGS_OPT)
override CFLAGS += -Wall -g -Wno-pointer-sign -Wmissing-declarations\
-I include/ -Werror -DAFL_PATH=\"$(HELPER_PATH)\" \
-I include/ -DAFL_PATH=\"$(HELPER_PATH)\" \
-DBIN_PATH=\"$(BIN_PATH)\" -DDOC_PATH=\"$(DOC_PATH)\"
ifeq "$(shell uname -s)" "OpenBSD"
ifeq "$(shell uname -s)" "FreeBSD"
override CFLAGS += -I /usr/local/include/
LDFLAGS += -L /usr/local/lib/
endif
ifeq "$(shell uname -s)" "DragonFly"
override CFLAGS += -I /usr/local/include/
LDFLAGS += -L /usr/local/lib/
endif
ifeq "$(shell uname -s)" "OpenBSD"
override CFLAGS += -I /usr/local/include/ -mno-retpoline
LDFLAGS += -Wl,-z,notext -L /usr/local/lib/
endif
ifeq "$(shell uname -s)" "NetBSD"
override CFLAGS += -I /usr/pkg/include/
LDFLAGS += -L /usr/pkg/lib/
endif
ifeq "$(shell uname -s)" "Haiku"
SHMAT_OK=0
override CFLAGS += -DUSEMMAP=1 -Wno-error=format -fPIC
LDFLAGS += -Wno-deprecated-declarations -lgnu
SPECIAL_PERFORMANCE += -DUSEMMAP=1
endif
AFL_FUZZ_FILES = $(wildcard src/afl-fuzz*.c)
ifneq "$(shell command -v python3m 2>/dev/null)" ""
@ -172,12 +200,12 @@ ifneq "$(filter Linux GNU%,$(shell uname))" ""
endif
ifneq "$(findstring FreeBSD, $(shell uname))" ""
CFLAGS += -pthread
override CFLAGS += -pthread
LDFLAGS += -lpthread
endif
ifneq "$(findstring NetBSD, $(shell uname))" ""
CFLAGS += -pthread
override CFLAGS += -pthread
LDFLAGS += -lpthread
endif
@ -217,7 +245,7 @@ endif
ifdef ASAN_BUILD
$(info Compiling ASAN version of binaries)
CFLAGS+=$(ASAN_CFLAGS)
override CFLAGS+=$(ASAN_CFLAGS)
LDFLAGS+=$(ASAN_LDFLAGS)
endif
@ -225,14 +253,14 @@ ifeq "$(shell echo '$(HASH)include <sys/ipc.h>@$(HASH)include <sys/shm.h>@int ma
SHMAT_OK=1
else
SHMAT_OK=0
CFLAGS+=-DUSEMMAP=1
LDFLAGS+=-Wno-deprecated-declarations
override CFLAGS+=-DUSEMMAP=1
LDFLAGS += -Wno-deprecated-declarations -lrt
endif
ifeq "$(TEST_MMAP)" "1"
ifdef TEST_MMAP
SHMAT_OK=0
CFLAGS+=-DUSEMMAP=1
LDFLAGS+=-Wno-deprecated-declarations
override CFLAGS += -DUSEMMAP=1
LDFLAGS += -Wno-deprecated-declarations -lrt
endif
all: test_x86 test_shm test_python ready $(PROGS) afl-as test_build all_done
@ -255,8 +283,8 @@ help:
@echo "HELP --- the following make targets exist:"
@echo "=========================================="
@echo "all: just the main afl++ binaries"
@echo "binary-only: everything for binary-only fuzzing: qemu_mode, unicorn_mode, libdislocator, libtokencap, radamsa"
@echo "source-only: everything for source code fuzzing: llvm_mode, gcc_plugin, libdislocator, libtokencap, radamsa"
@echo "binary-only: everything for binary-only fuzzing: qemu_mode, unicorn_mode, libdislocator, libtokencap"
@echo "source-only: everything for source code fuzzing: llvm_mode, gcc_plugin, libdislocator, libtokencap"
@echo "distrib: everything (for both binary-only and source code fuzzing)"
@echo "man: creates simple man pages from the help option of the programs"
@echo "install: installs everything you have compiled with the build option above"
@ -284,6 +312,8 @@ ifndef AFL_NO_X86
test_x86:
@echo "[*] Checking for the default compiler cc..."
@type $(CC) >/dev/null || ( echo; echo "Oops, looks like there is no compiler '"$(CC)"' in your path."; echo; echo "Don't panic! You can restart with '"$(_)" CC=<yourCcompiler>'."; echo; exit 1 )
@echo "[*] Testing the PATH environment variable..."
@test "$${PATH}" != "$${PATH#.:}" && { echo "Please remove current directory '.' from PATH to avoid recursion of 'as', thanks!"; echo; exit 1; } || :
@echo "[*] Checking for the ability to compile x86 code..."
@echo 'main() { __asm__("xorb %al, %al"); }' | $(CC) $(CFLAGS) -w -x c - -o .test1 || ( echo; echo "Oops, looks like your compiler can't generate x86 code."; echo; echo "Don't panic! You can use the LLVM or QEMU mode, but see docs/INSTALL first."; echo "(To ignore this error, set AFL_NO_X86=1 and try again.)"; echo; exit 1 )
@rm -f .test1
@ -335,6 +365,9 @@ afl-as: src/afl-as.c include/afl-as.h $(COMM_HDR) | test_x86
$(CC) $(CFLAGS) src/$@.c -o $@ $(LDFLAGS)
ln -sf afl-as as
src/afl-performance.o : $(COMM_HDR) src/afl-performance.c include/hash.h
$(CC) -Iinclude $(SPECIAL_PERFORMANCE) -O3 -fno-unroll-loops -c src/afl-performance.c -o src/afl-performance.o
src/afl-common.o : $(COMM_HDR) src/afl-common.c include/common.h
$(CC) $(CFLAGS) $(CFLAGS_FLTO) -c src/afl-common.c -o src/afl-common.o
@ -344,42 +377,47 @@ src/afl-forkserver.o : $(COMM_HDR) src/afl-forkserver.c include/forkserver.h
src/afl-sharedmem.o : $(COMM_HDR) src/afl-sharedmem.c include/sharedmem.h
$(CC) $(CFLAGS) $(CFLAGS_FLTO) -c src/afl-sharedmem.c -o src/afl-sharedmem.o
radamsa: src/third_party/libradamsa/libradamsa.so
cp src/third_party/libradamsa/libradamsa.so .
src/third_party/libradamsa/libradamsa.so: src/third_party/libradamsa/libradamsa.c src/third_party/libradamsa/radamsa.h
$(MAKE) -C src/third_party/libradamsa/ CFLAGS="$(CFLAGS)"
afl-fuzz: $(COMM_HDR) include/afl-fuzz.h $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o | test_x86
$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o -o $@ $(PYFLAGS) $(LDFLAGS)
afl-fuzz: $(COMM_HDR) include/afl-fuzz.h $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o src/afl-performance.o | test_x86
$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o src/afl-performance.o -o $@ $(PYFLAGS) $(LDFLAGS)
afl-showmap: src/afl-showmap.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o $(COMM_HDR) | test_x86
$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o -o $@ $(LDFLAGS)
afl-tmin: src/afl-tmin.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o $(COMM_HDR) | test_x86
$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o -o $@ $(LDFLAGS)
afl-tmin: src/afl-tmin.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o src/afl-performance.o $(COMM_HDR) | test_x86
$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o src/afl-performance.o -o $@ $(LDFLAGS)
afl-analyze: src/afl-analyze.c src/afl-common.o src/afl-sharedmem.o $(COMM_HDR) | test_x86
$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o src/afl-sharedmem.o -o $@ $(LDFLAGS)
afl-analyze: src/afl-analyze.c src/afl-common.o src/afl-sharedmem.o src/afl-performance.o $(COMM_HDR) | test_x86
$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o src/afl-sharedmem.o src/afl-performance.o -o $@ $(LDFLAGS)
afl-gotcpu: src/afl-gotcpu.c src/afl-common.o $(COMM_HDR) | test_x86
$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o -o $@ $(LDFLAGS)
# document all mutations and only do one run (use with only one input file!)
document: $(COMM_HDR) include/afl-fuzz.h $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o | test_x86
$(CC) -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS) $(CFLAGS_FLTO) $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o -o afl-fuzz-document $(PYFLAGS) $(LDFLAGS)
document: $(COMM_HDR) include/afl-fuzz.h $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-performance.o | test_x86
$(CC) -D_DEBUG=\"1\" -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS) $(CFLAGS_FLTO) $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.c src/afl-performance.o -o afl-fuzz-document $(PYFLAGS) $(LDFLAGS)
test/unittests/unit_maybe_alloc.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_maybe_alloc.c $(AFL_FUZZ_FILES)
@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_maybe_alloc.c -o test/unittests/unit_maybe_alloc.o
test/unittests/unit_preallocable.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_preallocable.c $(AFL_FUZZ_FILES)
@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_preallocable.c -o test/unittests/unit_preallocable.o
unit_maybe_alloc: test/unittests/unit_maybe_alloc.o
@$(CC) $(CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_maybe_alloc.o -o test/unittests/unit_maybe_alloc $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
./test/unittests/unit_maybe_alloc
test/unittests/unit_hash.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_hash.c $(AFL_FUZZ_FILES) src/afl-performance.o
@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_hash.c -o test/unittests/unit_hash.o
unit_hash: test/unittests/unit_hash.o src/afl-performance.o
@$(CC) $(CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf $^ -o test/unittests/unit_hash $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
./test/unittests/unit_hash
test/unittests/unit_rand.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_rand.c $(AFL_FUZZ_FILES) src/afl-performance.o
@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_rand.c -o test/unittests/unit_rand.o
unit_rand: test/unittests/unit_rand.o src/afl-common.o src/afl-performance.o
@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf $^ -o test/unittests/unit_rand $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
./test/unittests/unit_rand
test/unittests/unit_list.o : $(COMM_HDR) include/list.h test/unittests/unit_list.c $(AFL_FUZZ_FILES)
@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_list.c -o test/unittests/unit_list.o
@ -387,8 +425,8 @@ unit_list: test/unittests/unit_list.o
@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_list.o -o test/unittests/unit_list $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
./test/unittests/unit_list
test/unittests/preallocable.o : $(COMM_HDR) include/afl-prealloc.h test/unittests/preallocable.c $(AFL_FUZZ_FILES)
@$(CC) $(CFLAGS) $(ASAN_CFLAGS) $(CFLAGS_FLTO) -c test/unittests/preallocable.c -o test/unittests/preallocable.o
test/unittests/unit_preallocable.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_preallocable.c $(AFL_FUZZ_FILES)
@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_preallocable.c -o test/unittests/unit_preallocable.o
unit_preallocable: test/unittests/unit_preallocable.o
@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_preallocable.o -o test/unittests/unit_preallocable $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
@ -399,7 +437,7 @@ unit_clean:
ifneq "$(shell uname)" "Darwin"
unit: unit_maybe_alloc unit_preallocable unit_list unit_clean
unit: unit_maybe_alloc unit_preallocable unit_list unit_clean unit_rand unit_hash
else
@ -419,6 +457,8 @@ code-format:
./.custom-format.py -i gcc_plugin/*.c
#./.custom-format.py -i gcc_plugin/*.h
./.custom-format.py -i gcc_plugin/*.cc
./.custom-format.py -i custom_mutators/*/*.c
./.custom-format.py -i custom_mutators/*/*.h
./.custom-format.py -i examples/*/*.c
./.custom-format.py -i examples/*/*.h
./.custom-format.py -i test/*.c
@ -471,7 +511,6 @@ clean:
$(MAKE) -C examples/argv_fuzzing clean
$(MAKE) -C qemu_mode/unsigaction clean
$(MAKE) -C qemu_mode/libcompcov clean
$(MAKE) -C src/third_party/libradamsa/ clean
rm -rf qemu_mode/qemu-3.1.1
ifeq "$(IN_REPO)" "1"
test -d unicorn_mode/unicornafl && $(MAKE) -C unicorn_mode/unicornafl clean || true
@ -485,7 +524,7 @@ deepclean: clean
rm -rf unicorn_mode/unicornafl
git reset --hard >/dev/null 2>&1 || true
distrib: all radamsa
distrib: all
-$(MAKE) -C llvm_mode
-$(MAKE) -C gcc_plugin
$(MAKE) -C libdislocator
@ -493,19 +532,19 @@ distrib: all radamsa
$(MAKE) -C examples/afl_network_proxy
$(MAKE) -C examples/socket_fuzzing
$(MAKE) -C examples/argv_fuzzing
cd qemu_mode && sh ./build_qemu_support.sh
cd unicorn_mode && sh ./build_unicorn_support.sh
-cd qemu_mode && sh ./build_qemu_support.sh
cd unicorn_mode && unset CFLAGS && sh ./build_unicorn_support.sh
binary-only: all radamsa
binary-only: all
$(MAKE) -C libdislocator
$(MAKE) -C libtokencap
$(MAKE) -C examples/afl_network_proxy
$(MAKE) -C examples/socket_fuzzing
$(MAKE) -C examples/argv_fuzzing
cd qemu_mode && sh ./build_qemu_support.sh
cd unicorn_mode && sh ./build_unicorn_support.sh
-cd qemu_mode && sh ./build_qemu_support.sh
cd unicorn_mode && unset CFLAGS && sh ./build_unicorn_support.sh
source-only: all radamsa
source-only: all
-$(MAKE) -C llvm_mode
-$(MAKE) -C gcc_plugin
$(MAKE) -C libdislocator
@ -544,7 +583,6 @@ install: all $(MANPAGES)
if [ -f libdislocator.so ]; then set -e; install -m 755 libdislocator.so $${DESTDIR}$(HELPER_PATH); fi
if [ -f libtokencap.so ]; then set -e; install -m 755 libtokencap.so $${DESTDIR}$(HELPER_PATH); fi
if [ -f libcompcov.so ]; then set -e; install -m 755 libcompcov.so $${DESTDIR}$(HELPER_PATH); fi
if [ -f libradamsa.so ]; then set -e; install -m 755 libradamsa.so $${DESTDIR}$(HELPER_PATH); fi
if [ -f afl-fuzz-document ]; then set -e; install -m 755 afl-fuzz-document $${DESTDIR}$(BIN_PATH); fi
if [ -f socketfuzz32.so -o -f socketfuzz64.so ]; then $(MAKE) -C examples/socket_fuzzing install; fi
if [ -f argvfuzz32.so -o -f argvfuzz64.so ]; then $(MAKE) -C examples/argv_fuzzing install; fi

View File

@ -1,6 +1,6 @@
all:
@echo trying to use GNU make...
@gmake all
@gmake all || echo please install GNUmake
source-only:
@gmake source-only

106
README.md
View File

@ -2,11 +2,11 @@
<img align="right" src="https://raw.githubusercontent.com/andreafioraldi/AFLplusplus-website/master/static/logo_256x256.png" alt="AFL++ Logo">
![Travis State](https://api.travis-ci.com/AFLplusplus/AFLplusplus.svg?branch=master)
![Travis State](https://api.travis-ci.com/AFLplusplus/AFLplusplus.svg?branch=stable)
Release Version: [2.65c](https://github.com/AFLplusplus/AFLplusplus/releases)
Release Version: [2.66c](https://github.com/AFLplusplus/AFLplusplus/releases)
Github Version: 2.65d
Github Version: 2.66d
includes all necessary/interesting changes from Google's afl 2.56b
@ -40,7 +40,7 @@
* InsTrim, a very effective CFG llvm_mode instrumentation implementation for large targets: [https://github.com/csienslab/instrim](https://github.com/csienslab/instrim)
* C. Holler's afl-fuzz Python mutator module and llvm_mode whitelist support: [https://github.com/choller/afl](https://github.com/choller/afl)
* C. Holler's afl-fuzz Python mutator module and llvm_mode instrument file support: [https://github.com/choller/afl](https://github.com/choller/afl)
* Custom mutator by a library (instead of Python) by kyakdan
@ -54,7 +54,7 @@
* Win32 PE binary-only fuzzing with QEMU and Wine
* Radamsa mutator (enable with `-R` to add or `-RR` to run it exclusively).
* Radamsa mutator (as a custom mutator).
* QBDI mode to fuzz android native libraries via QBDI framework
@ -62,7 +62,7 @@
* LLVM mode Ngram coverage by Adrian Herrera [https://github.com/adrianherrera/afl-ngram-pass](https://github.com/adrianherrera/afl-ngram-pass)
A more thorough list is available in the PATCHES file.
A more thorough list is available in the [PATCHES](docs/PATCHES.md) file.
| Feature/Instrumentation | afl-gcc | llvm_mode | gcc_plugin | qemu_mode | unicorn_mode |
| ----------------------- |:-------:|:---------:|:----------:|:----------------:|:------------:|
@ -70,7 +70,7 @@
| Persistent mode | | x | x | x86[_64]/arm[64] | x |
| LAF-Intel / CompCov | | x | | x86[_64]/arm[64] | x86[_64]/arm |
| CmpLog | | x | | x86[_64]/arm[64] | |
| Whitelist | | x | x | (x)(3) | |
| Instrument file list | | x | x | (x)(3) | |
| Non-colliding coverage | | x(4) | | (x)(5) | |
| InsTrim | | x | | | |
| Ngram prev_loc coverage | | x(6) | | | |
@ -89,7 +89,7 @@
(5) upcoming, development in the branch
(6) not compatible with LTO and InsTrim and needs at least LLVM >= 4.1
(6) not compatible with LTO instrumentation and needs at least LLVM >= 4.1
So all in all this is the best-of afl that is currently out there :-)
@ -133,14 +133,26 @@ For everyone who wants to contribute (and send pull requests) please read
## Building and installing afl++
afl++ has many build options.
An easy way to install afl++ with everything compiled is available via docker:
You can use the [Dockerfile](Dockerfile) (which has gcc-10 and clang-11 -
hence afl-clang-lto is available!) or just pull directly from the docker hub:
```shell
docker pull aflplusplus/aflplusplus
docker run -ti -v /location/of/your/target:/src aflplusplus/aflplusplus
```
This container is automatically generated when a push to master happens.
You will find your target source code in /src in the container.
If you want to build afl++ yourself you have many options.
The easiest is to build and install everything:
```shell
$ sudo apt install build-essential libtool-bin python3-dev automake flex bison libglib2.0-dev libpixman-1-dev clang python3-setuptools llvm
$ make distrib
$ sudo make install
sudo apt install build-essential libtool-bin python3-dev automake flex bison libglib2.0-dev libpixman-1-dev clang python3-setuptools llvm
make distrib
sudo make install
```
It is recommended to install the newest available gcc and clang and llvm-dev
possible in your distribution!
Note that "make distrib" also builds llvm_mode, qemu_mode, unicorn_mode and
more. If you just want plain afl then do "make all", however compiling and
@ -148,15 +160,15 @@ using at least llvm_mode is highly recommended for much better results -
hence in this case
```shell
$ make source-only
make source-only
```
is what you should choose.
These build targets exist:
* all: just the main afl++ binaries
* binary-only: everything for binary-only fuzzing: qemu_mode, unicorn_mode, libdislocator, libtokencap, radamsa
* source-only: everything for source code fuzzing: llvm_mode, libdislocator, libtokencap, radamsa
* binary-only: everything for binary-only fuzzing: qemu_mode, unicorn_mode, libdislocator, libtokencap
* source-only: everything for source code fuzzing: llvm_mode, libdislocator, libtokencap
* distrib: everything (for both binary-only and source code fuzzing)
* man: creates simple man pages from the help option of the programs
* install: installs everything you have compiled with the build options above
@ -171,7 +183,7 @@ These build targets exist:
afl++ binaries by passing the STATIC=1 argument to make:
```shell
$ make all STATIC=1
make all STATIC=1
```
These build options exist:
@ -185,17 +197,6 @@ These build options exist:
e.g.: make ASAN_BUILD=1
Note that afl++ is faster and better the newer the compilers used are.
Hence at least gcc-9 and especially llvm-9 should be the compilers of choice.
If your distribution does not have them, you can use the Dockerfile:
```shell
$ cd AFLplusplus
$ sudo docker build -t aflplusplus .
```
## Challenges of guided fuzzing
Fuzzing is one of the most powerful and proven strategies for identifying
@ -267,7 +268,7 @@ superior to blind fuzzing or coverage-only tools.
PLEASE NOTE: llvm_mode compilation with afl-clang-fast/afl-clang-fast++
instead of afl-gcc/afl-g++ is much faster and has many cool features.
See llvm_mode/ - however few code does not compile with llvm.
We support llvm versions 3.8.0 to 11.
We support llvm versions 3.4 to 11.
When source code is available, instrumentation can be injected by a companion
tool that works as a drop-in replacement for gcc or clang in any standard build
@ -281,8 +282,8 @@ The correct way to recompile the target program may vary depending on the
specifics of the build process, but a nearly-universal approach would be:
```shell
$ CC=/path/to/afl/afl-gcc ./configure
$ make clean all
CC=/path/to/afl/afl-gcc ./configure
make clean all
```
For C++ programs, you'd would also want to set `CXX=/path/to/afl/afl-g++`.
@ -290,13 +291,13 @@ For C++ programs, you'd would also want to set `CXX=/path/to/afl/afl-g++`.
The clang wrappers (afl-clang and afl-clang++) can be used in the same way;
clang users may also opt to leverage a higher-performance instrumentation mode,
as described in [llvm_mode/README.md](llvm_mode/README.md).
Clang/LLVM has a much better performance and works with LLVM version 3.8.0 to 11.
Clang/LLVM has a much better performance and works with LLVM version 3.4 to 11.
Using the LAF Intel performance enhancements are also recommended, see
[llvm_mode/README.laf-intel.md](llvm_mode/README.laf-intel.md)
Using partial instrumentation is also recommended, see
[llvm_mode/README.whitelist.md](llvm_mode/README.whitelist.md)
[llvm_mode/README.instrument_file.md](llvm_mode/README.instrument_file.md)
When testing libraries, you need to find or write a simple program that reads
data from stdin or from a file and passes it to the tested library. In such a
@ -306,7 +307,7 @@ runtime (usually by setting `LD_LIBRARY_PATH`). The simplest option is a static
build, usually possible via:
```shell
$ CC=/path/to/afl/afl-gcc ./configure --disable-shared
CC=/path/to/afl/afl-gcc ./configure --disable-shared
```
Setting `AFL_HARDEN=1` when calling 'make' will cause the CC wrapper to
@ -328,8 +329,8 @@ QEMU is a project separate from AFL, but you can conveniently build the
feature by doing:
```shell
$ cd qemu_mode
$ ./build_qemu_support.sh
cd qemu_mode
./build_qemu_support.sh
```
For additional instructions and caveats, see [qemu_mode/README.md](qemu_mode/README.md).
@ -370,20 +371,21 @@ therefore may increase the code coverage.
The available schedules are:
- explore (default)
- fast
- coe
- quad
- lin
- exploit
- mmopt (experimental)
- rare (experimental)
- explore (default, original AFL)
- exploit (original AFL)
- fast (AFLfast)
- coe (AFLfast)
- quad (AFLfast)
- lin (AFLfast)
- rare (afl++ experimental)
- mmopt (afl++ experimental)
- seek (afl++ experimental)
In parallel mode (-M/-S, several instances with the shared queue), we suggest to
run the master using the explore or fast schedule (-p explore) and the slaves
with a combination of cut-off-exponential (-p coe), exponential (-p fast),
run the main node using the explore or fast schedule (-p explore) and the secondary
nodes with a combination of cut-off-exponential (-p coe), exponential (-p fast),
explore (-p explore) and mmopt (-p mmopt) schedules. If a schedule does
not perform well for a target, restart the slave with a different schedule.
not perform well for a target, restart the secondary nodes with a different schedule.
In single mode, using -p fast is usually slightly more beneficial than the
default explore mode.
@ -423,7 +425,7 @@ store its findings, plus a path to the binary to test.
For target binaries that accept input directly from stdin, the usual syntax is:
```shell
$ ./afl-fuzz -i testcase_dir -o findings_dir /path/to/program [...params...]
./afl-fuzz -i testcase_dir -o findings_dir /path/to/program [...params...]
```
For programs that take input from a file, use '@@' to mark the location in
@ -431,7 +433,7 @@ the target's command line where the input file name should be placed. The
fuzzer will substitute this for you:
```shell
$ ./afl-fuzz -i testcase_dir -o findings_dir /path/to/program @@
./afl-fuzz -i testcase_dir -o findings_dir /path/to/program @@
```
You can also use the -f option to have the mutated data written to a specific
@ -494,8 +496,8 @@ When you can't reproduce a crash found by afl-fuzz, the most likely cause is
that you are not setting the same memory limit as used by the tool. Try:
```shell
$ LIMIT_MB=50
$ ( ulimit -Sv $[LIMIT_MB << 10]; /path/to/tested_binary ... )
LIMIT_MB=50
( ulimit -Sv $[LIMIT_MB << 10]; /path/to/tested_binary ... )
```
Change LIMIT_MB to match the -m parameter passed to afl-fuzz. On OpenBSD,
@ -504,7 +506,7 @@ also change -Sv to -Sd.
Any existing output directory can be also used to resume aborted jobs; try:
```shell
$ ./afl-fuzz -i- -o existing_output_dir [...etc...]
./afl-fuzz -i- -o existing_output_dir [...etc...]
```
If you have gnuplot installed, you can also generate some pretty graphs for any
@ -586,7 +588,7 @@ Oh, one more thing: for test case minimization, give afl-tmin a try. The tool
can be operated in a very simple way:
```shell
$ ./afl-tmin -i test_case -o minimized_result -- /path/to/program [...]
./afl-tmin -i test_case -o minimized_result -- /path/to/program [...]
```
The tool works with crashing and non-crashing test cases alike. In the crash

12
TODO.md
View File

@ -1,14 +1,11 @@
# TODO list for AFL++
## Roadmap 2.65+
## Roadmap 2.66+
- sync_fuzzers(): only masters sync from all, slaves only sync from master
(@andrea: be careful, often people run all slaves)
- AFL_MAP_SIZE for qemu_mode and unicorn_mode
- random crc32 HASH_CONST per run? because with 65536 paths we have collisions
- namespace for targets? e.g. network
- libradamsa as a custom module?
- focal for travis
- learn from honggfuzz (mutations, maybe ptrace?)
- CPU affinity for many cores? There seems to be an issue > 96 cores
## Further down the road
@ -17,9 +14,10 @@ afl-fuzz:
- setting min_len/max_len/start_offset/end_offset limits for mutation output
llvm_mode:
- better whitelist solution for LTO
- LTO - imitate sancov
gcc_plugin:
- (wait for submission then decide)
- laf-intel
- better instrumentation (seems to be better with gcc-9+)

View File

@ -134,7 +134,6 @@ Environment variables used:
AFL_KEEP_TRACES: leave the temporary <out_dir>\.traces directory
AFL_PATH: path for the afl-showmap binary
AFL_SKIP_BIN_CHECK: skip check for target binary
AFL_ALLOW_TMP: allow unsafe use of input/output directories under {/var}/tmp
_EOF_
exit 1
fi
@ -142,29 +141,29 @@ fi
# Do a sanity check to discourage the use of /tmp, since we can't really
# handle this safely from a shell script.
if [ "$AFL_ALLOW_TMP" = "" ]; then
echo "$IN_DIR" | grep -qE '^(/var)?/tmp/'
T1="$?"
echo "$TARGET_BIN" | grep -qE '^(/var)?/tmp/'
T2="$?"
echo "$OUT_DIR" | grep -qE '^(/var)?/tmp/'
T3="$?"
echo "$STDIN_FILE" | grep -qE '^(/var)?/tmp/'
T4="$?"
echo "$PWD" | grep -qE '^(/var)?/tmp/'
T5="$?"
if [ "$T1" = "0" -o "$T2" = "0" -o "$T3" = "0" -o "$T4" = "0" -o "$T5" = "0" ]; then
echo "[-] Error: do not use this script in /tmp or /var/tmp." 1>&2
exit 1
fi
fi
#if [ "$AFL_ALLOW_TMP" = "" ]; then
#
# echo "$IN_DIR" | grep -qE '^(/var)?/tmp/'
# T1="$?"
#
# echo "$TARGET_BIN" | grep -qE '^(/var)?/tmp/'
# T2="$?"
#
# echo "$OUT_DIR" | grep -qE '^(/var)?/tmp/'
# T3="$?"
#
# echo "$STDIN_FILE" | grep -qE '^(/var)?/tmp/'
# T4="$?"
#
# echo "$PWD" | grep -qE '^(/var)?/tmp/'
# T5="$?"
#
# if [ "$T1" = "0" -o "$T2" = "0" -o "$T3" = "0" -o "$T4" = "0" -o "$T5" = "0" ]; then
# echo "[-] Error: do not use this script in /tmp or /var/tmp." 1>&2
# exit 1
# fi
#
#fi
# If @@ is specified, but there's no -f, let's come up with a temporary input
# file name.
@ -246,7 +245,7 @@ if [ ! "$STDIN_FILE" = "" ]; then
fi
if [ "$AFL_PATH" = "" ]; then
SHOWMAP="${0%/afl-cmin}/afl-showmap"
SHOWMAP="${0%/afl-cmin.bash}/afl-showmap"
else
SHOWMAP="$AFL_PATH/afl-showmap"
fi

View File

@ -15,6 +15,10 @@
# http://www.apache.org/licenses/LICENSE-2.0
#
get_abs_path() {
echo $(cd "`dirname "$1"`" && pwd)/"`basename "$1"`"
}
echo "progress plotting utility for afl-fuzz by Michal Zalewski"
echo
@ -31,40 +35,40 @@ an empty directory where this tool can write the resulting plots to.
The program will put index.html and three PNG images in the output directory;
you should be able to view it with any web browser of your choice.
Environment variables used:
AFL_ALLOW_TMP: allow /var/tmp or /tmp for input and output directories
_EOF_
exit 1
fi
if [ "$AFL_ALLOW_TMP" = "" ]; then
inputdir=`get_abs_path "$1"`
outputdir=`get_abs_path "$2"`
echo "$1" | grep -qE '^(/var)?/tmp/'
T1="$?"
#if [ "$AFL_ALLOW_TMP" = "" ]; then
#
# echo "$inputdir" | grep -qE '^(/var)?/tmp/'
# T1="$?"
#
# echo "$outputdir" | grep -qE '^(/var)?/tmp/'
# T2="$?"
#
# if [ "$T1" = "0" -o "$T2" = "0" ]; then
#
# echo "[-] Error: this script shouldn't be used with shared /tmp directories." 1>&2
# exit 1
#
# fi
#
#fi
echo "$2" | grep -qE '^(/var)?/tmp/'
T2="$?"
if [ "$T1" = "0" -o "$T2" = "0" ]; then
echo "[-] Error: this script shouldn't be used with shared /tmp directories." 1>&2
exit 1
fi
fi
if [ ! -f "$1/plot_data" ]; then
if [ ! -f "$inputdir/plot_data" ]; then
echo "[-] Error: input directory is not valid (missing 'plot_data')." 1>&2
exit 1
fi
BANNER="`cat "$1/fuzzer_stats" | grep '^afl_banner ' | cut -d: -f2- | cut -b2-`"
BANNER="`cat "$inputdir/fuzzer_stats" 2> /dev/null | grep '^afl_banner ' | cut -d: -f2- | cut -b2-`"
test "$BANNER" = "" && BANNER="(none)"
@ -77,17 +81,17 @@ if [ "$GNUPLOT" = "" ]; then
fi
mkdir "$2" 2>/dev/null
mkdir "$outputdir" 2>/dev/null
if [ ! -d "$2" ]; then
if [ ! -d "$outputdir" ]; then
echo "[-] Error: unable to create the output directory - pick another location." 1>&2
exit 1
fi
rm -f "$2/high_freq.png" "$2/low_freq.png" "$2/exec_speed.png"
mv -f "$2/index.html" "$2/index.html.orig" 2>/dev/null
rm -f "$outputdir/high_freq.png" "$outputdir/low_freq.png" "$outputdir/exec_speed.png"
mv -f "$outputdir/index.html" "$outputdir/index.html.orig" 2>/dev/null
echo "[*] Generating plots..."
@ -96,7 +100,7 @@ echo "[*] Generating plots..."
cat <<_EOF_
set terminal png truecolor enhanced size 1000,300 butt
set output '$2/high_freq.png'
set output '$outputdir/high_freq.png'
set xdata time
set timefmt '%s'
@ -114,31 +118,31 @@ set key outside
set autoscale xfixmin
set autoscale xfixmax
plot '$1/plot_data' using 1:4 with filledcurve x1 title 'total paths' linecolor rgb '#000000' fillstyle transparent solid 0.2 noborder, \\
plot '$inputdir/plot_data' using 1:4 with filledcurve x1 title 'total paths' linecolor rgb '#000000' fillstyle transparent solid 0.2 noborder, \\
'' using 1:3 with filledcurve x1 title 'current path' linecolor rgb '#f0f0f0' fillstyle transparent solid 0.5 noborder, \\
'' using 1:5 with lines title 'pending paths' linecolor rgb '#0090ff' linewidth 3, \\
'' using 1:6 with lines title 'pending favs' linecolor rgb '#c00080' linewidth 3, \\
'' using 1:2 with lines title 'cycles done' linecolor rgb '#c000f0' linewidth 3
set terminal png truecolor enhanced size 1000,200 butt
set output '$2/low_freq.png'
set output '$outputdir/low_freq.png'
plot '$1/plot_data' using 1:8 with filledcurve x1 title '' linecolor rgb '#c00080' fillstyle transparent solid 0.2 noborder, \\
plot '$inputdir/plot_data' using 1:8 with filledcurve x1 title '' linecolor rgb '#c00080' fillstyle transparent solid 0.2 noborder, \\
'' using 1:8 with lines title ' uniq crashes' linecolor rgb '#c00080' linewidth 3, \\
'' using 1:9 with lines title 'uniq hangs' linecolor rgb '#c000f0' linewidth 3, \\
'' using 1:10 with lines title 'levels' linecolor rgb '#0090ff' linewidth 3
set terminal png truecolor enhanced size 1000,200 butt
set output '$2/exec_speed.png'
set output '$outputdir/exec_speed.png'
plot '$1/plot_data' using 1:11 with filledcurve x1 title '' linecolor rgb '#0090ff' fillstyle transparent solid 0.2 noborder, \\
'$1/plot_data' using 1:11 with lines title ' execs/sec' linecolor rgb '#0090ff' linewidth 3 smooth bezier;
plot '$inputdir/plot_data' using 1:11 with filledcurve x1 title '' linecolor rgb '#0090ff' fillstyle transparent solid 0.2 noborder, \\
'$inputdir/plot_data' using 1:11 with lines title ' execs/sec' linecolor rgb '#0090ff' linewidth 3 smooth bezier;
_EOF_
) | gnuplot
if [ ! -s "$2/exec_speed.png" ]; then
if [ ! -s "$outputdir/exec_speed.png" ]; then
echo "[-] Error: something went wrong! Perhaps you have an ancient version of gnuplot?" 1>&2
exit 1
@ -147,10 +151,10 @@ fi
echo "[*] Generating index.html..."
cat >"$2/index.html" <<_EOF_
cat >"$outputdir/index.html" <<_EOF_
<table style="font-family: 'Trebuchet MS', 'Tahoma', 'Arial', 'Helvetica'">
<tr><td style="width: 18ex"><b>Banner:</b></td><td>$BANNER</td></tr>
<tr><td><b>Directory:</b></td><td>$1</td></tr>
<tr><td><b>Directory:</b></td><td>$inputdir</td></tr>
<tr><td><b>Generated on:</b></td><td>`date`</td></tr>
</table>
<p>
@ -164,8 +168,8 @@ _EOF_
# served by Apache or other HTTP daemon. Since the plots aren't horribly
# sensitive, this seems like a reasonable trade-off.
chmod 755 "$2"
chmod 644 "$2/high_freq.png" "$2/low_freq.png" "$2/exec_speed.png" "$2/index.html"
chmod 755 "$outputdir"
chmod 644 "$outputdir/high_freq.png" "$outputdir/low_freq.png" "$outputdir/exec_speed.png" "$outputdir/index.html"
echo "[+] All done - enjoy your charts!"

12
custom_mutators/README.md Normal file
View File

@ -0,0 +1,12 @@
# production ready custom mutators
This directory holds ready to use custom mutators.
Just type "make" in the individual subdirectories.
Use with e.g.
`AFL_CUSTOM_MUTATOR_LIBRARY=custom_mutators/radamsa/radamsa-mutator.so afl-fuzz ....`
and add `AFL_CUSTOM_MUTATOR_ONLY=1` if you only want to use the custom mutator.
Multiple custom mutators can be used by separating their paths with `:` in the environment variable.

View File

@ -1,15 +1,15 @@
CUR_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
all: libradamsa.so
all: radamsa-mutator.so
# These can be overriden:
CFLAGS ?= -march=native $(CFLAGS_FLTO)
CFLAGS ?= $(CFLAGS_FLTO)
# These are required: (otherwise radamsa gets very very slooooow)
CFLAGS += -O3 -funroll-loops
libradamsa.so: libradamsa.a
$(CC) $(CFLAGS) -shared libradamsa.a -o libradamsa.so
#libradamsa.so: libradamsa.a
# $(CC) $(CFLAGS) -shared libradamsa.a -o libradamsa.so
libradamsa.a: libradamsa.c radamsa.h
@echo " ***************************************************************"
@ -17,10 +17,14 @@ libradamsa.a: libradamsa.c radamsa.h
@echo " ***************************************************************"
$(CC) -fPIC $(CFLAGS) -I $(CUR_DIR) -o libradamsa.a -c libradamsa.c
radamsa-mutator.so: radamsa-mutator.c libradamsa.a
$(CC) $(CFLAGS) -g -I. -I../../include -shared -fPIC -c radamsa-mutator.c
$(CC) $(CFLAGS) -shared -fPIC -o radamsa-mutator.so radamsa-mutator.o libradamsa.a
test: libradamsa.a libradamsa-test.c
$(CC) $(CFLAGS) -I $(CUR_DIR) -o libradamsa-test libradamsa-test.c libradamsa.a
./libradamsa-test libradamsa-test.c | grep "library test passed"
rm /tmp/libradamsa-*.fuzz
clean:
rm -f libradamsa.a libradamsa.so libradamsa-test
rm -f radamsa-mutator.so libradamsa.a libradamsa-test *.o *~ core

View File

@ -1,4 +1,4 @@
# libradamsa
# custum mutator: libradamsa
Pretranslated radamsa library. This code belongs to the radamsa author.

View File

@ -0,0 +1,342 @@
#ifndef CUSTOM_MUTATOR_HELPERS
#define CUSTOM_MUTATOR_HELPERS
#include "config.h"
#include "types.h"
#include <stdlib.h>
#define INITIAL_GROWTH_SIZE (64)
#define RAND_BELOW(limit) (rand() % (limit))
/* Use in a struct: creates a name_buf and a name_size variable. */
#define BUF_VAR(type, name) \
type * name##_buf; \
size_t name##_size;
/* this filles in `&structptr->something_buf, &structptr->something_size`. */
#define BUF_PARAMS(struct, name) \
(void **)&struct->name##_buf, &struct->name##_size
typedef struct {
} afl_t;
static void surgical_havoc_mutate(u8 *out_buf, s32 begin, s32 end) {
static s8 interesting_8[] = {INTERESTING_8};
static s16 interesting_16[] = {INTERESTING_8, INTERESTING_16};
static s32 interesting_32[] = {INTERESTING_8, INTERESTING_16, INTERESTING_32};
switch (RAND_BELOW(12)) {
case 0: {
/* Flip a single bit somewhere. Spooky! */
s32 bit_idx = ((RAND_BELOW(end - begin) + begin) << 3) + RAND_BELOW(8);
out_buf[bit_idx >> 3] ^= 128 >> (bit_idx & 7);
break;
}
case 1: {
/* Set byte to interesting value. */
u8 val = interesting_8[RAND_BELOW(sizeof(interesting_8))];
out_buf[(RAND_BELOW(end - begin) + begin)] = val;
break;
}
case 2: {
/* Set word to interesting value, randomly choosing endian. */
if (end - begin < 2) break;
s32 byte_idx = (RAND_BELOW(end - begin) + begin);
if (byte_idx >= end - 1) break;
switch (RAND_BELOW(2)) {
case 0:
*(u16 *)(out_buf + byte_idx) =
interesting_16[RAND_BELOW(sizeof(interesting_16) >> 1)];
break;
case 1:
*(u16 *)(out_buf + byte_idx) =
SWAP16(interesting_16[RAND_BELOW(sizeof(interesting_16) >> 1)]);
break;
}
break;
}
case 3: {
/* Set dword to interesting value, randomly choosing endian. */
if (end - begin < 4) break;
s32 byte_idx = (RAND_BELOW(end - begin) + begin);
if (byte_idx >= end - 3) break;
switch (RAND_BELOW(2)) {
case 0:
*(u32 *)(out_buf + byte_idx) =
interesting_32[RAND_BELOW(sizeof(interesting_32) >> 2)];
break;
case 1:
*(u32 *)(out_buf + byte_idx) =
SWAP32(interesting_32[RAND_BELOW(sizeof(interesting_32) >> 2)]);
break;
}
break;
}
case 4: {
/* Set qword to interesting value, randomly choosing endian. */
if (end - begin < 8) break;
s32 byte_idx = (RAND_BELOW(end - begin) + begin);
if (byte_idx >= end - 7) break;
switch (RAND_BELOW(2)) {
case 0:
*(u64 *)(out_buf + byte_idx) =
(s64)interesting_32[RAND_BELOW(sizeof(interesting_32) >> 2)];
break;
case 1:
*(u64 *)(out_buf + byte_idx) = SWAP64(
(s64)interesting_32[RAND_BELOW(sizeof(interesting_32) >> 2)]);
break;
}
break;
}
case 5: {
/* Randomly subtract from byte. */
out_buf[(RAND_BELOW(end - begin) + begin)] -= 1 + RAND_BELOW(ARITH_MAX);
break;
}
case 6: {
/* Randomly add to byte. */
out_buf[(RAND_BELOW(end - begin) + begin)] += 1 + RAND_BELOW(ARITH_MAX);
break;
}
case 7: {
/* Randomly subtract from word, random endian. */
if (end - begin < 2) break;
s32 byte_idx = (RAND_BELOW(end - begin) + begin);
if (byte_idx >= end - 1) break;
if (RAND_BELOW(2)) {
*(u16 *)(out_buf + byte_idx) -= 1 + RAND_BELOW(ARITH_MAX);
} else {
u16 num = 1 + RAND_BELOW(ARITH_MAX);
*(u16 *)(out_buf + byte_idx) =
SWAP16(SWAP16(*(u16 *)(out_buf + byte_idx)) - num);
}
break;
}
case 8: {
/* Randomly add to word, random endian. */
if (end - begin < 2) break;
s32 byte_idx = (RAND_BELOW(end - begin) + begin);
if (byte_idx >= end - 1) break;
if (RAND_BELOW(2)) {
*(u16 *)(out_buf + byte_idx) += 1 + RAND_BELOW(ARITH_MAX);
} else {
u16 num = 1 + RAND_BELOW(ARITH_MAX);
*(u16 *)(out_buf + byte_idx) =
SWAP16(SWAP16(*(u16 *)(out_buf + byte_idx)) + num);
}
break;
}
case 9: {
/* Randomly subtract from dword, random endian. */
if (end - begin < 4) break;
s32 byte_idx = (RAND_BELOW(end - begin) + begin);
if (byte_idx >= end - 3) break;
if (RAND_BELOW(2)) {
*(u32 *)(out_buf + byte_idx) -= 1 + RAND_BELOW(ARITH_MAX);
} else {
u32 num = 1 + RAND_BELOW(ARITH_MAX);
*(u32 *)(out_buf + byte_idx) =
SWAP32(SWAP32(*(u32 *)(out_buf + byte_idx)) - num);
}
break;
}
case 10: {
/* Randomly add to dword, random endian. */
if (end - begin < 4) break;
s32 byte_idx = (RAND_BELOW(end - begin) + begin);
if (byte_idx >= end - 3) break;
if (RAND_BELOW(2)) {
*(u32 *)(out_buf + byte_idx) += 1 + RAND_BELOW(ARITH_MAX);
} else {
u32 num = 1 + RAND_BELOW(ARITH_MAX);
*(u32 *)(out_buf + byte_idx) =
SWAP32(SWAP32(*(u32 *)(out_buf + byte_idx)) + num);
}
break;
}
case 11: {
/* Just set a random byte to a random value. Because,
why not. We use XOR with 1-255 to eliminate the
possibility of a no-op. */
out_buf[(RAND_BELOW(end - begin) + begin)] ^= 1 + RAND_BELOW(255);
break;
}
}
}
/* This function calculates the next power of 2 greater or equal its argument.
@return The rounded up power of 2 (if no overflow) or 0 on overflow.
*/
static inline size_t next_pow2(size_t in) {
if (in == 0 || in > (size_t)-1)
return 0; /* avoid undefined behaviour under-/overflow */
size_t out = in - 1;
out |= out >> 1;
out |= out >> 2;
out |= out >> 4;
out |= out >> 8;
out |= out >> 16;
return out + 1;
}
/* This function makes sure *size is > size_needed after call.
It will realloc *buf otherwise.
*size will grow exponentially as per:
https://blog.mozilla.org/nnethercote/2014/11/04/please-grow-your-buffers-exponentially/
Will return NULL and free *buf if size_needed is <1 or realloc failed.
@return For convenience, this function returns *buf.
*/
static inline void *maybe_grow(void **buf, size_t *size, size_t size_needed) {
/* No need to realloc */
if (likely(size_needed && *size >= size_needed)) return *buf;
/* No initial size was set */
if (size_needed < INITIAL_GROWTH_SIZE) size_needed = INITIAL_GROWTH_SIZE;
/* grow exponentially */
size_t next_size = next_pow2(size_needed);
/* handle overflow */
if (!next_size) { next_size = size_needed; }
/* alloc */
*buf = realloc(*buf, next_size);
*size = *buf ? next_size : 0;
return *buf;
}
/* Swaps buf1 ptr and buf2 ptr, as well as their sizes */
static inline void swap_bufs(void **buf1, size_t *size1, void **buf2,
size_t *size2) {
void * scratch_buf = *buf1;
size_t scratch_size = *size1;
*buf1 = *buf2;
*size1 = *size2;
*buf2 = scratch_buf;
*size2 = scratch_size;
}
#undef INITIAL_GROWTH_SIZE
#endif

View File

@ -0,0 +1,81 @@
#include <radamsa.h>
#include <stdio.h>
#include <inttypes.h>
#include <string.h>
#include <stdlib.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
size_t filesize(char *filename) {
struct stat st;
stat(filename, &st);
return st.st_size;
}
#define BUFSIZE 1024 * 1024
void fail(char *why) {
printf("fail: %s\n", why);
exit(1);
}
void write_output(char *data, size_t len, int num) {
char path[32];
int fd;
int wrote;
sprintf(path, "/tmp/libradamsa-%d.fuzz", num);
fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
printf("Opened %s -> %d\n", path, fd);
if (fd < 0) { fail("failed to open output file"); }
wrote = write(fd, data, len);
printf("wrote %d of %zu bytes\n", wrote, len);
if (wrote != len) { fail("failed to write all of output at once"); }
close(fd);
printf("Wrote %zu bytes to %s\n", len, path);
}
int main(int nargs, char **argv) {
char * spath = argv[1];
int fd = open(spath, O_RDONLY, 0);
size_t len;
char * input;
char * output;
int seed = 0;
if (fd < 0) { fail("cannot open input file"); }
len = filesize(spath);
input = malloc(len);
output = malloc(BUFSIZE);
if (!input || !output) { fail("failed to allocate buffers\n"); }
radamsa_init();
if (len != read(fd, input, len)) {
fail("failed to read the entire sample at once");
}
while (seed++ < 100) {
size_t n;
n = radamsa((uint8_t *)input, len, (uint8_t *)output, BUFSIZE, seed);
write_output(output, n, seed);
printf("Fuzzed %zu -> %zu bytes\n", len, n);
}
printf("library test passed\n");
free(output);
free(input);
return 0;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,70 @@
// This simple example just creates random buffer <= 100 filled with 'A'
// needs -I /path/to/AFLplusplus/include
//#include "custom_mutator_helpers.h"
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "radamsa.h"
#include "custom_mutator_helpers.h"
typedef struct my_mutator {
afl_t *afl;
u8 *mutator_buf;
unsigned int seed;
} my_mutator_t;
my_mutator_t *afl_custom_init(afl_t *afl, unsigned int seed) {
srand(seed);
my_mutator_t *data = calloc(1, sizeof(my_mutator_t));
if (!data) {
perror("afl_custom_init alloc");
return NULL;
}
if ((data->mutator_buf = malloc(MAX_FILE)) == NULL) {
perror("mutator_buf alloc");
return NULL;
}
data->afl = afl;
data->seed = seed;
radamsa_init();
return data;
}
size_t afl_custom_fuzz(my_mutator_t *data, uint8_t *buf, size_t buf_size,
u8 **out_buf, uint8_t *add_buf, size_t add_buf_size,
size_t max_size) {
*out_buf = data->mutator_buf;
return radamsa(buf, buf_size, data->mutator_buf, max_size, data->seed++);
}
/**
* Deinitialize everything
*
* @param data The data ptr from afl_custom_init
*/
void afl_custom_deinit(my_mutator_t *data) {
free(data->mutator_buf);
free(data);
}

View File

@ -0,0 +1,10 @@
#include <inttypes.h>
#include <stddef.h>
void radamsa_init(void);
size_t radamsa(uint8_t *ptr, size_t len, uint8_t *target, size_t max,
unsigned int seed);
size_t radamsa_inplace(uint8_t *ptr, size_t len, size_t max, unsigned int seed);

View File

@ -8,6 +8,9 @@ grammar of some of the more verbose data formats or languages. The basic
principle behind the operation of fuzzer dictionaries is outlined in section 10
of the "main" README.md for the project.
These sets were done by Michal Zalewski, various contributors, and imported
from oss-fuzz, go-fuzz and libfuzzer.
Custom dictionaries can be added at will. They should consist of a
reasonably-sized set of rudimentary syntax units that the fuzzer will then try
to clobber together in various ways. Snippets between 2 and 16 bytes are

73
dictionaries/aff.dict Normal file
View File

@ -0,0 +1,73 @@
# https://www.systutorials.com/docs/linux/man/4-hunspell/
# Affix keywords
"AF"
"AM"
"BREAK"
"CHECKCOMPOUNDCASE"
"CHECKCOMPOUNDDUP"
"CHECKCOMPOUNDPATTERN"
"CHECKCOMPOUNDREP"
"CHECKCOMPOUNDTRIPLE"
"COMPLEXPREFIXES"
"COMPOUNDBEGIN"
"COMPOUNDFLAG"
"COMPOUNDFORBIDFLAG"
"COMPOUNDLAST"
"COMPOUNDMIDDLE"
"COMPOUNDMIN"
"COMPOUNDPERMITFLAG"
"COMPOUNDROOT"
"COMPOUNDRULE"
"COMPOUNDSYLLABLE"
"COMPOUNDWORDMAX"
"FLAG"
"FORBIDWARN"
"FORCEUCASE"
"IGNORE"
"KEY"
"LANG"
"MAP"
"MAXCODSUGS"
"MAXDIFF"
"MAXNGRAMSUGS"
"NOSPLITSUGS"
"NOSUGGEST"
"ONLYINCOMPOUND"
"ONLYMAXDIFF"
"PFX"
"PHONE"
"REP"
"SET"
"SFX"
"SIMPLIFIEDTRIPLE"
"SUGWITHDOTS"
"SYLLABLENUM"
"TRY"
"WARN"
"CIRCUMFIX"
"FORBIDDENWORD"
"FULLSTRIP"
"KEEPCASE"
"ICONV"
"OCONV"
"LEMMA_PRESENT"
"NEEDAFFIX"
"PSEUDOROOT"
"SUBSTANDARD"
"WORDCHARS"
"CHECKSHARPS"
# Optional data fields
"ph:"
"st:"
"al:"
"po:"
"ds:"
"is:"
"ts:"
"sp:"
"pa:"
"dp:"
"ip:"
"tp:"

112
dictionaries/ass.dict Normal file
View File

@ -0,0 +1,112 @@
"0x"
"\\1a"
"\\2a"
"\\2c"
"\\3a"
"\\3c"
"\\4a"
"\\4c"
"\\a"
"\\alpha"
"\\an"
"Arial"
"\\b"
"Banner;"
"\\be"
"\\blur"
"\\bord"
"\\c"
"CFF"
"CID Type 1"
"\\clip"
"clip"
"Courier"
"Courier New"
"Default"
"Dialogue:"
"[Events]"
"\\fade"
"\\fax"
"\\fay"
"\\fe"
"\\fn"
"fontname:"
"[Fonts]"
"Format:"
"\\frx"
"\\fry"
"\\frz"
"\\fs"
"\\fsc"
"\\fscx"
"\\fscy"
"\\fsp"
"&h"
"Helvetica"
"\\i"
"\\iclip"
"iclip"
"\\k"
"Kerning:"
"Kerning"
"\\kf"
"\\ko"
"Language:"
"monospace"
"\\move"
"move"
"none"
"\\org"
"org"
"OverrideStyle"
"\\p"
"p"
"\\pbo"
"pbo"
"pc.240m"
"pc.601"
"pc.709"
"pc.fcc"
"PlayResX:"
"PlayResX"
"PlayResY:"
"PlayResY"
"\\pos"
"pos"
"\\q"
"\\r"
"\\s"
"sans-serif"
"ScaledBorderAndShadow:"
"ScaledBorderAndShadow"
"[Script Info]"
"Scroll down;"
"Scroll up;"
"serif"
"\\shad"
"Style:"
"\\t"
"Text"
"Timer:"
"Timer"
"Times"
"Times New Roman"
"tv.240m"
"tv.601"
"tv.709"
"tv.fcc"
"Type 1"
"Type 42"
"\\u"
"UTF-8"
"[V4 Styles]"
"[V4+ Styles]"
"WrapStyle:"
"WrapStyle"
"\\xbord"
"\\xshad"
"\\ybord"
"YCbCr Matrix:"
"YCbCr Matrix"
"yes"
"\\yshad"

33
dictionaries/atom.dict Normal file
View File

@ -0,0 +1,33 @@
# https://validator.w3.org/feed/docs/atom.html
# https://tools.ietf.org/html/rfc4287
"<?xml version='1.0' encoding='utf-8'?>"
"<feed xmlns='http://www.w3.org/2005/Atom'>"
"<alternate>"
"<author>"
"<category>"
"<content>"
"<contributor>"
"<email>"
"<entry>"
"<feed>"
"<first>"
"<generator>"
"<icon>"
"<id>"
"<last>"
"<link>"
"<logo>"
"<modified/>
"<name>"
"<next>"
"<previous>"
"<published>"
"<rights>"
"<source>"
"<subtitle>"
"<summary>"
"<title>"
"<updated>"
"<uri>"

5
dictionaries/av1_dc.dict Normal file
View File

@ -0,0 +1,5 @@
# IVF Signature + version (bytes 0-5)
kw1="DKIF\x00\x00"
# AV1 codec fourCC (bytes 8-11)
kw2="AV01"

152
dictionaries/bash.dict Normal file
View File

@ -0,0 +1,152 @@
# Keywords taken from
# - https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html
# - https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html
# - https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Variables.html
# - https://www.gnu.org/software/bash/manual/html_node/Reserved-Word-Index.html
"!"
"."
":"
"["
"[["
"]]"
"{"
"}"
"BASH"
"BASH_ALIASES"
"BASH_ARGC"
"BASH_ARGV"
"BASH_ARGV0"
"BASH_CMDS"
"BASH_COMMAND"
"BASH_COMPAT"
"BASH_ENV"
"BASH_EXECUTION_STRING"
"BASH_LINENO"
"BASH_LOADABLES_PATH"
"BASHOPTS"
"BASHPID"
"BASH_REMATCH"
"BASH_SOURCE"
"BASH_SUBSHELL"
"BASH_VERSINFO"
"BASH_VERSION"
"BASH_XTRACEFD"
"break"
"case"
"cd"
"CDPATH"
"CHILD_MAX"
"COLUMNS"
"COMP_CWORD"
"COMP_KEY"
"COMP_LINE"
"COMP_POINT"
"COMPREPLY"
"COMP_TYPE"
"COMP_WORDBREAKS"
"COMP_WORDS"
"continue"
"COPROC"
"DIRSTACK"
"do"
"done"
"elif"
"else"
"EMACS"
"ENV"
"EPOCHREALTIME"
"EPOCHSECONDS"
"esac"
"EUID"
"eval"
"exec"
"EXECIGNORE"
"exit"
"export"
"FCEDIT"
"fi"
"FIGNORE"
"for"
"FUNCNAME"
"FUNCNEST"
"function"
"getopts"
"GLOBIGNORE"
"GROUPS"
"hash"
"histchars"
"HISTCMD"
"HISTCONTROL"
"HISTFILE"
"HISTFILESIZE"
"HISTIGNORE"
"HISTSIZE"
"HISTTIMEFORMAT"
"HOME"
"HOSTFILE"
"HOSTNAME"
"HOSTTYPE"
"if"
"IFS"
"IGNOREEOF"
"in"
"INPUTRC"
"INSIDE_EMACS"
"LANG"
"LC_ALL"
"LC_COLLATE"
"LC_CTYPE"
"LC_MESSAGES"
"LC_NUMERIC"
"LC_TIME"
"LINENO"
"LINES"
"MACHTYPE"
"MAIL"
"MAILCHECK"
"MAILPATH"
"MAPFILE"
"OLDPWD"
"OPTARG"
"OPTERR"
"OPTIND"
"OSTYPE"
"PATH"
"PIPESTATUS"
"POSIXLY_CORRECT"
"PPID"
"PROMPT_COMMAND"
"PROMPT_DIRTRIM"
"PS0"
"PS1"
"PS2"
"PS3"
"PS4"
"pwd"
"PWD"
"RANDOM"
"READLINE_LINE"
"READLINE_POINT"
"readonly"
"REPLY"
"return"
"SECONDS"
"select"
"SHELL"
"SHELLOPTS"
"shift"
"SHLVL"
"test"
"then"
"time"
"TIMEFORMAT"
"times"
"TMOUT"
"TMPDIR"
"trap"
"UID"
"umask"
"unset"
"until"
"while"

30
dictionaries/bdf.dict Normal file
View File

@ -0,0 +1,30 @@
# https://en.wikipedia.org/wiki/Glyph_Bitmap_Distribution_Format
# https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5005.BDF_Spec.pdf
"STARTFONT"
"COMMENT"
"CONTENTVERSION"
"FONT"
"SIZE"
"FONTBOUNDINGBOX"
"METRICSSET"
"SWIDTH"
"DWIDTH"
"SWIDTH1"
"DWIDTH1"
"VVECTOR"
"STARTPROPERTIES"
"ENDPROPERTIES"
"CHARS"
"STARTCHAR"
"ENCODING"
"BBX"
"BITMAP"
"ENDCHAR"
"ENDFONT"
# misc
"255"
"-1"
"0"
"2.1"

10
dictionaries/bmp.dict Normal file
View File

@ -0,0 +1,10 @@
windows="BM"
os2_bitmap="BA"
os2_icon="CI"
os2_pointer="CP"
os2_struct="IC"
os2_ptr="PT"
windows_color_space="Win "
srgb="sRGB"
link="LINK"
mbed="MBED"

3
dictionaries/bz2.dict Normal file
View File

@ -0,0 +1,3 @@
magic="BZ"
compress_magic="\x31\x41\x59\x26\x53\x59"
eos_magic="\x17\x72\x45\x38\x50\x90"

14
dictionaries/creole.dict Normal file
View File

@ -0,0 +1,14 @@
# http://www.wikicreole.org/wiki/Creole1.0
bold="**"
italic="//"
heading="=="
link1="[[a|b]]"
link2="[[a:b]]"
hr="----"
img=" {{a|b}}"
table_heading="|=a |=b |"
raw="{{{a}}}"
escape="~"
placeholder="<<<x>>>"
line_break="\\\\"

354
dictionaries/css.dict Normal file
View File

@ -0,0 +1,354 @@
# https://en.wikipedia.org/wiki/Cascading_Style_Sheets
# selectors
"::after"
"::before"
"::first-letter"
"::first-line"
"::placeholder"
"::selection"
":active"
":checked"
":default"
":disabled"
":empty"
":enabled"
":first-child"
":first-of-type"
":focus"
":hover"
":in-range"
":indeterminate"
":invalid"
":lang("
":last-child"
":last-of-type"
":link"
":not("
":nth-child("
":nth-last-child("
":nth-last-of-type("
":nth-of-type("
":only-child"
":only-of-type"
":optional"
":out-of-range"
":read-only"
":read-write"
":required"
":root"
":target"
":valid"
":visited"
# units
"ch"
"cm"
"em"
"ex"
"in"
"mm"
"pc"
"pt"
"px"
"rem"
"vh"
"vmax"
"vmin"
"vw"
# functions
"attr("
"calc("
"cubic-bezier("
"hsl("
"hsls("
"linear-gradient("
"radial-gradient("
"repeating-linear-gradient("
"repeating-radial-gradient("
"rgb("
"rgba("
"var("
# prefixes
"-moz"
"-webkit"
# properties
"@charset"
"@font-face"
"@font-feature-values"
"@import"
"@keyframes"
"@media"
"align-items"
"align-self"
"all"
"animation"
"animation-delay"
"animation-direction"
"animation-duration"
"animation-fill-mode"
"animation-iteration-count"
"animation-name"
"animation-play-state"
"animation-timing-function"
"backface-visibility"
"background"
"background-attachment"
"background-blend-mode"
"background-clip"
"background-color"
"background-image"
"background-origin"
"background-position"
"background-repeat"
"background-size"
"border"
"border-bottom"
"border-bottom-color"
"border-bottom-left-radius"
"border-bottom-right-radius"
"border-bottom-style"
"border-bottom-width"
"border-collapse"
"border-color"
"border-image"
"border-image-outset"
"border-image-repeat"
"border-image-slice"
"border-image-source"
"border-image-width"
"border-left"
"border-left-color"
"border-left-style"
"border-left-width"
"border-radius"
"border-right"
"border-right-color"
"border-right-style"
"border-right-width"
"border-spacing"
"border-style"
"border-top"
"border-top-color"
"border-top-left-radius"
"border-top-right-radius"
"border-top-style"
"border-top-width"
"border-width"
"bottom"
"box-decoration-break"
"box-shadow"
"box-sizing"
"break-after"
"break-before"
"break-inside"
"caption-side"
"caret-color"
"clear"
"clip"
"color"
"column-count"
"column-fill"
"column-gap"
"column-rule"
"column-rule-color"
"column-rule-style"
"column-rule-width"
"column-span"
"column-width"
"columns"
"content"
"counter-increment"
"counter-reset"
"cursor"
"direction"
"display"
"empty-cells"
"filter"
"flex"
"flex-basis"
"flex-direction"
"flex-flow"
"flex-grow"
"flex-shrink"
"flex-wrap"
"float"
"font"
"font-family"
"font-feature-settings"
"font-kerning"
"font-language-override"
"font-size"
"font-size-adjust"
"font-stretch"
"font-style"
"font-synthesis"
"font-variant"
"font-variant-alternates"
"font-variant-caps"
"font-variant-east-asian"
"font-variant-ligatures"
"font-variant-numeric"
"font-variant-position"
"font-weight"
"from"
"grid"
"grid-area"
"grid-auto-columns"
"grid-auto-flow"
"grid-auto-rows"
"grid-column"
"grid-column-end"
"grid-column-gap"
"grid-column-start"
"grid-gap"
"grid-row"
"grid-row-end"
"grid-row-gap"
"grid-row-start"
"grid-template"
"grid-template-areas"
"grid-template-columns"
"grid-template-rows"
"hanging-punctuation"
"height"
"hyphens"
"image-rendering"
"isolation"
"justify-content"
"left"
"letter-spacing"
"line-break"
"line-height"
"list-style"
"list-style-image"
"list-style-position"
"list-style-type"
"margin"
"margin-bottom"
"margin-left"
"margin-right"
"margin-top"
"max-height"
"max-width"
"min-height"
"min-width"
"mix-blend-mode"
"object-fit"
"object-position"
"opacity"
"order"
"orphans"
"outline"
"outline-color"
"outline-offset"
"outline-style"
"outline-width"
"overflow"
"overflow-wrap"
"overflow-x"
"overflow-y"
"padding"
"padding-bottom"
"padding-left"
"padding-right"
"padding-top"
"page-break-after"
"page-break-before"
"page-break-inside"
"perspective"
"perspective-origin"
"pointer-events"
"position"
"quotes"
"resize"
"right"
"scroll-behavior"
"tab-size"
"table-layout"
"text-align"
"text-align-last"
"text-combine-upright"
"text-decoration"
"text-decoration-color"
"text-decoration-line"
"text-decoration-style"
"text-indent"
"text-justify"
"text-orientation"
"text-overflow"
"text-shadow"
"text-transform"
"text-underline-position"
"to"
"top"
"transform"
"transform-origin"
"transform-style"
"transition"
"transition-delay"
"transition-duration"
"transition-property"
"transition-timing-function"
"unicode-bidi"
"user-select"
"vertical-align"
"visibility"
"white-space"
"widows"
"width"
"word-break"
"word-spacing"
"word-wrap"
"writing-mode"
"z-index"
# aural - https://www.w3schools.com/cssref/css_ref_aural.asp
"above"
"azimuth"
"below"
"center"
"code"
"continuous"
"cue"
"cue-after"
"cue-before"
"elevation"
"generic-voice"
"left"
"left-side"
"leftwards"
"lower"
"medium"
"mix"
"none"
"once"
"pause"
"pause-after"
"pause-before"
"pitch"
"pitch-range"
"play-during"
"richness"
"right"
"right-side"
"slower"
"speak"
"speak-header"
"speak-numeral"
"speak-punctuation"
"speech-rate"
"stress"
"url"
"voice-family"
"volume"
"x-fast"
"x-high"
"x-loud"
"x-low"
"x-slow"
"x-soft"

6
dictionaries/csv.dict Normal file
View File

@ -0,0 +1,6 @@
"\x00"
"\r\n"
";;"
",,"
"\t;"
"\n;"

35
dictionaries/dds.dict Normal file
View File

@ -0,0 +1,35 @@
# See http://www.mindcontrol.org/~hplus/graphics/dds-info/
magic="\x20\x53\x44\x44"
# Headers
"\x00\x00\x00\x01"
"\x00\x00\x00\x02"
"\x00\x00\x00\x04"
"\x00\x00\x00\x08"
"\x00\x00\x10\x00"
"\x00\x02\x00\x00"
"\x00\x08\x00\x00"
"\x00\x80\x00\x00"
"\x00\x00\x00\x01"
"\x00\x00\x00\x04"
"\x00\x00\x00\x20"
"\x00\x00\x00\x40"
"\x00\x00\x00\x08"
"\x00\x00\x10\x00"
"\x00\x40\x00\x00"
"\x00\x00\x02\x00"
"\x00\x00\x04\x00"
"\x00\x00\x08\x00"
"\x00\x00\x10\x00"
"\x00\x00\x20\x00"
"\x00\x00\x40\x00"
"\x00\x00\x80\x00"
"\x00\x20\x00\x00"
#formats
"1TXD"
"2TXD"
"3TXD"
"4TXD"
"5TXD"

34
dictionaries/djvu.dict Normal file
View File

@ -0,0 +1,34 @@
"ANTa"
"ANTz"
"BG2k"
"BG44"
"BGjp"
"BM44"
"CELX"
"DIRM"
"DJVI"
"DJVM"
"DJVU"
"Djbz"
"FAKE"
"FG2k"
"FG44"
"FGbz"
"FGjp"
"FORM"
"INCL"
"INFO"
"LINK"
"METa"
"METz"
"NAVM"
"NDIR"
"PM44"
"SINF"
"Sjbz"
"Smmr"
"TH44"
"THUM"
"TXTa"
"TXTz"
"WMRM"

688
dictionaries/docommand.dict Normal file
View File

@ -0,0 +1,688 @@
#SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS;
ACCESSIBLE="ACCESSIBLE"
ACCOUNT="ACCOUNT"
ACTION="ACTION"
ACTIVE="ACTIVE"
ADD="ADD"
ADMIN="ADMIN"
AFTER="AFTER"
AGAINST="AGAINST"
AGGREGATE="AGGREGATE"
ALGORITHM="ALGORITHM"
ALL="ALL"
ALTER="ALTER"
ALWAYS="ALWAYS"
ANALYZE="ANALYZE"
AND="AND"
ANY="ANY"
AS="AS"
ASC="ASC"
ASCII="ASCII"
ASENSITIVE="ASENSITIVE"
AT="AT"
AUTOEXTEND_SIZE="AUTOEXTEND_SIZE"
AUTO_INCREMENT="AUTO_INCREMENT"
AVG="AVG"
AVG_ROW_LENGTH="AVG_ROW_LENGTH"
BACKUP="BACKUP"
BEFORE="BEFORE"
BEGIN="BEGIN"
BETWEEN="BETWEEN"
BIGINT="BIGINT"
BINARY="BINARY"
BINLOG="BINLOG"
BIT="BIT"
BLOB="BLOB"
BLOCK="BLOCK"
BOOL="BOOL"
BOOLEAN="BOOLEAN"
BOTH="BOTH"
BTREE="BTREE"
BUCKETS="BUCKETS"
BY="BY"
BYTE="BYTE"
CACHE="CACHE"
CALL="CALL"
CASCADE="CASCADE"
CASCADED="CASCADED"
CASE="CASE"
CATALOG_NAME="CATALOG_NAME"
CHAIN="CHAIN"
CHANGE="CHANGE"
CHANGED="CHANGED"
CHANNEL="CHANNEL"
CHAR="CHAR"
CHARACTER="CHARACTER"
CHARSET="CHARSET"
CHECK="CHECK"
CHECKSUM="CHECKSUM"
CIPHER="CIPHER"
CLASS_ORIGIN="CLASS_ORIGIN"
CLIENT="CLIENT"
CLONE="CLONE"
CLOSE="CLOSE"
COALESCE="COALESCE"
CODE="CODE"
COLLATE="COLLATE"
COLLATION="COLLATION"
COLUMN="COLUMN"
COLUMNS="COLUMNS"
COLUMN_FORMAT="COLUMN_FORMAT"
COLUMN_NAME="COLUMN_NAME"
COMMENT="COMMENT"
COMMIT="COMMIT"
COMMITTED="COMMITTED"
COMPACT="COMPACT"
COMPLETION="COMPLETION"
COMPONENT="COMPONENT"
COMPRESSED="COMPRESSED"
COMPRESSION="COMPRESSION"
CONCURRENT="CONCURRENT"
CONDITION="CONDITION"
CONNECTION="CONNECTION"
CONSISTENT="CONSISTENT"
CONSTRAINT="CONSTRAINT"
CONSTRAINT_CATALOG="CONSTRAINT_CATALOG"
CONSTRAINT_NAME="CONSTRAINT_NAME"
CONSTRAINT_SCHEMA="CONSTRAINT_SCHEMA"
CONTAINS="CONTAINS"
CONTEXT="CONTEXT"
CONTINUE="CONTINUE"
CONVERT="CONVERT"
CPU="CPU"
CREATE="CREATE"
CROSS="CROSS"
CUBE="CUBE"
CUME_DIST="CUME_DIST"
CURRENT="CURRENT"
CURRENT_DATE="CURRENT_DATE"
CURRENT_TIME="CURRENT_TIME"
CURRENT_TIMESTAMP="CURRENT_TIMESTAMP"
CURRENT_USER="CURRENT_USER"
CURSOR="CURSOR"
CURSOR_NAME="CURSOR_NAME"
DATA="DATA"
DATABASE="DATABASE"
DATABASES="DATABASES"
DATAFILE="DATAFILE"
DATE="DATE"
DATETIME="DATETIME"
DAY="DAY"
DAY_HOUR="DAY_HOUR"
DAY_MICROSECOND="DAY_MICROSECOND"
DAY_MINUTE="DAY_MINUTE"
DAY_SECOND="DAY_SECOND"
DEALLOCATE="DEALLOCATE"
DEC="DEC"
DECIMAL="DECIMAL"
DECLARE="DECLARE"
DEFAULT="DEFAULT"
DEFAULT_AUTH="DEFAULT_AUTH"
DEFINER="DEFINER"
DEFINITION="DEFINITION"
DELAYED="DELAYED"
DELAY_KEY_WRITE="DELAY_KEY_WRITE"
DELETE="DELETE"
DENSE_RANK="DENSE_RANK"
DESC="DESC"
DESCRIBE="DESCRIBE"
DESCRIPTION="DESCRIPTION"
DETERMINISTIC="DETERMINISTIC"
DIAGNOSTICS="DIAGNOSTICS"
DIRECTORY="DIRECTORY"
DISABLE="DISABLE"
DISCARD="DISCARD"
DISK="DISK"
DISTINCT="DISTINCT"
DISTINCTROW="DISTINCTROW"
DIV="DIV"
DO="DO"
DOUBLE="DOUBLE"
DROP="DROP"
DUAL="DUAL"
DUMPFILE="DUMPFILE"
DUPLICATE="DUPLICATE"
DYNAMIC="DYNAMIC"
EACH="EACH"
ELSE="ELSE"
ELSEIF="ELSEIF"
EMPTY="EMPTY"
ENABLE="ENABLE"
ENCLOSED="ENCLOSED"
ENCRYPTION="ENCRYPTION"
END="END"
ENDS="ENDS"
ENFORCED="ENFORCED"
ENGINE="ENGINE"
ENGINES="ENGINES"
ENUM="ENUM"
ERROR="ERROR"
ERRORS="ERRORS"
ESCAPE="ESCAPE"
ESCAPED="ESCAPED"
EVENT="EVENT"
EVENTS="EVENTS"
EVERY="EVERY"
EXCEPT="EXCEPT"
EXCHANGE="EXCHANGE"
EXCLUDE="EXCLUDE"
EXECUTE="EXECUTE"
EXISTS="EXISTS"
EXIT="EXIT"
EXPANSION="EXPANSION"
EXPIRE="EXPIRE"
EXPLAIN="EXPLAIN"
EXPORT="EXPORT"
EXTENDED="EXTENDED"
EXTENT_SIZE="EXTENT_SIZE"
FALSE="FALSE"
FAST="FAST"
FAULTS="FAULTS"
FETCH="FETCH"
FIELDS="FIELDS"
FILE="FILE"
FILE_BLOCK_SIZE="FILE_BLOCK_SIZE"
FILTER="FILTER"
FIRST="FIRST"
FIRST_VALUE="FIRST_VALUE"
FIXED="FIXED"
FLOAT="FLOAT"
FLOAT4="FLOAT4"
FLOAT8="FLOAT8"
FLUSH="FLUSH"
FOLLOWING="FOLLOWING"
FOLLOWS="FOLLOWS"
FOR="FOR"
FORCE="FORCE"
FOREIGN="FOREIGN"
FORMAT="FORMAT"
FOUND="FOUND"
FROM="FROM"
FULL="FULL"
FULLTEXT="FULLTEXT"
FUNCTION="FUNCTION"
GENERAL="GENERAL"
GENERATED="GENERATED"
GEOMCOLLECTION="GEOMCOLLECTION"
GEOMETRY="GEOMETRY"
GEOMETRYCOLLECTION="GEOMETRYCOLLECTION"
GET="GET"
GET_FORMAT="GET_FORMAT"
GET_MASTER_PUBLIC_KEY="GET_MASTER_PUBLIC_KEY"
GLOBAL="GLOBAL"
GRANT="GRANT"
GRANTS="GRANTS"
GROUP="GROUP"
GROUPING="GROUPING"
GROUPS="GROUPS"
GROUP_REPLICATION="GROUP_REPLICATION"
HANDLER="HANDLER"
HASH="HASH"
HAVING="HAVING"
HELP="HELP"
HIGH_PRIORITY="HIGH_PRIORITY"
HISTOGRAM="HISTOGRAM"
HISTORY="HISTORY"
HOST="HOST"
HOSTS="HOSTS"
HOUR="HOUR"
HOUR_MICROSECOND="HOUR_MICROSECOND"
HOUR_MINUTE="HOUR_MINUTE"
HOUR_SECOND="HOUR_SECOND"
IDENTIFIED="IDENTIFIED"
IF="IF"
IGNORE="IGNORE"
IGNORE_SERVER_IDS="IGNORE_SERVER_IDS"
IMPORT="IMPORT"
IN="IN"
INACTIVE="INACTIVE"
INDEX="INDEX"
INDEXES="INDEXES"
INFILE="INFILE"
INITIAL_SIZE="INITIAL_SIZE"
INNER="INNER"
INOUT="INOUT"
INSENSITIVE="INSENSITIVE"
INSERT="INSERT"
INSERT_METHOD="INSERT_METHOD"
INSTALL="INSTALL"
INSTANCE="INSTANCE"
INT="INT"
INT1="INT1"
INT2="INT2"
INT3="INT3"
INT4="INT4"
INT8="INT8"
INTEGER="INTEGER"
INTERVAL="INTERVAL"
INTO="INTO"
INVISIBLE="INVISIBLE"
INVOKER="INVOKER"
IO="IO"
IO_AFTER_GTIDS="IO_AFTER_GTIDS"
IO_BEFORE_GTIDS="IO_BEFORE_GTIDS"
IO_THREAD="IO_THREAD"
IPC="IPC"
IS="IS"
ISOLATION="ISOLATION"
ISSUER="ISSUER"
ITERATE="ITERATE"
JOIN="JOIN"
JSON="JSON"
JSON_TABLE="JSON_TABLE"
KEY="KEY"
KEYS="KEYS"
KEY_BLOCK_SIZE="KEY_BLOCK_SIZE"
KILL="KILL"
LAG="LAG"
LANGUAGE="LANGUAGE"
LAST="LAST"
LAST_VALUE="LAST_VALUE"
LATERAL="LATERAL"
LEAD="LEAD"
LEADING="LEADING"
LEAVE="LEAVE"
LEAVES="LEAVES"
LEFT="LEFT"
LESS="LESS"
LEVEL="LEVEL"
LIKE="LIKE"
LIMIT="LIMIT"
LINEAR="LINEAR"
LINES="LINES"
LINESTRING="LINESTRING"
LIST="LIST"
LOAD="LOAD"
LOCAL="LOCAL"
LOCALTIME="LOCALTIME"
LOCALTIMESTAMP="LOCALTIMESTAMP"
LOCK="LOCK"
LOCKED="LOCKED"
LOCKS="LOCKS"
LOGFILE="LOGFILE"
LOGS="LOGS"
LONG="LONG"
LONGBLOB="LONGBLOB"
LONGTEXT="LONGTEXT"
LOOP="LOOP"
LOW_PRIORITY="LOW_PRIORITY"
MASTER="MASTER"
MASTER_AUTO_POSITION="MASTER_AUTO_POSITION"
MASTER_BIND="MASTER_BIND"
MASTER_CONNECT_RETRY="MASTER_CONNECT_RETRY"
MASTER_DELAY="MASTER_DELAY"
MASTER_HEARTBEAT_PERIOD="MASTER_HEARTBEAT_PERIOD"
MASTER_HOST="MASTER_HOST"
MASTER_LOG_FILE="MASTER_LOG_FILE"
MASTER_LOG_POS="MASTER_LOG_POS"
MASTER_PASSWORD="MASTER_PASSWORD"
MASTER_PORT="MASTER_PORT"
MASTER_PUBLIC_KEY_PATH="MASTER_PUBLIC_KEY_PATH"
MASTER_RETRY_COUNT="MASTER_RETRY_COUNT"
MASTER_SERVER_ID="MASTER_SERVER_ID"
MASTER_SSL="MASTER_SSL"
MASTER_SSL_CA="MASTER_SSL_CA"
MASTER_SSL_CAPATH="MASTER_SSL_CAPATH"
MASTER_SSL_CERT="MASTER_SSL_CERT"
MASTER_SSL_CIPHER="MASTER_SSL_CIPHER"
MASTER_SSL_CRL="MASTER_SSL_CRL"
MASTER_SSL_CRLPATH="MASTER_SSL_CRLPATH"
MASTER_SSL_KEY="MASTER_SSL_KEY"
MASTER_SSL_VERIFY_SERVER_CERT="MASTER_SSL_VERIFY_SERVER_CERT"
MASTER_TLS_VERSION="MASTER_TLS_VERSION"
MASTER_USER="MASTER_USER"
MATCH="MATCH"
MAXVALUE="MAXVALUE"
MAX_CONNECTIONS_PER_HOUR="MAX_CONNECTIONS_PER_HOUR"
MAX_QUERIES_PER_HOUR="MAX_QUERIES_PER_HOUR"
MAX_ROWS="MAX_ROWS"
MAX_SIZE="MAX_SIZE"
MAX_UPDATES_PER_HOUR="MAX_UPDATES_PER_HOUR"
MAX_USER_CONNECTIONS="MAX_USER_CONNECTIONS"
MEDIUM="MEDIUM"
MEDIUMBLOB="MEDIUMBLOB"
MEDIUMINT="MEDIUMINT"
MEDIUMTEXT="MEDIUMTEXT"
MEMORY="MEMORY"
MERGE="MERGE"
MESSAGE_TEXT="MESSAGE_TEXT"
MICROSECOND="MICROSECOND"
MIDDLEINT="MIDDLEINT"
MIGRATE="MIGRATE"
MINUTE="MINUTE"
MINUTE_MICROSECOND="MINUTE_MICROSECOND"
MINUTE_SECOND="MINUTE_SECOND"
MIN_ROWS="MIN_ROWS"
MOD="MOD"
MODE="MODE"
MODIFIES="MODIFIES"
MODIFY="MODIFY"
MONTH="MONTH"
MULTILINESTRING="MULTILINESTRING"
MULTIPOINT="MULTIPOINT"
MULTIPOLYGON="MULTIPOLYGON"
MUTEX="MUTEX"
MYSQL_ERRNO="MYSQL_ERRNO"
NAME="NAME"
NAMES="NAMES"
NATIONAL="NATIONAL"
NATURAL="NATURAL"
NCHAR="NCHAR"
NDB="NDB"
NDBCLUSTER="NDBCLUSTER"
NESTED="NESTED"
NETWORK_NAMESPACE="NETWORK_NAMESPACE"
NEVER="NEVER"
NEW="NEW"
NEXT="NEXT"
NO="NO"
NODEGROUP="NODEGROUP"
NONE="NONE"
NOT="NOT"
NOWAIT="NOWAIT"
NO_WAIT="NO_WAIT"
NO_WRITE_TO_BINLOG="NO_WRITE_TO_BINLOG"
NTH_VALUE="NTH_VALUE"
NTILE="NTILE"
NULL="NULL"
NULLS="NULLS"
NUMBER="NUMBER"
NUMERIC="NUMERIC"
NVARCHAR="NVARCHAR"
OF="OF"
OFFSET="OFFSET"
OJ="OJ"
OLD="OLD"
ON="ON"
ONE="ONE"
ONLY="ONLY"
OPEN="OPEN"
OPTIMIZE="OPTIMIZE"
OPTIMIZER_COSTS="OPTIMIZER_COSTS"
OPTION="OPTION"
OPTIONAL="OPTIONAL"
OPTIONALLY="OPTIONALLY"
OPTIONS="OPTIONS"
OR="OR"
ORDER="ORDER"
ORDINALITY="ORDINALITY"
ORGANIZATION="ORGANIZATION"
OTHERS="OTHERS"
OUT="OUT"
OUTER="OUTER"
OUTFILE="OUTFILE"
OVER="OVER"
OWNER="OWNER"
PACK_KEYS="PACK_KEYS"
PAGE="PAGE"
PARSER="PARSER"
PARTIAL="PARTIAL"
PARTITION="PARTITION"
PARTITIONING="PARTITIONING"
PARTITIONS="PARTITIONS"
PASSWORD="PASSWORD"
PATH="PATH"
PERCENT_RANK="PERCENT_RANK"
PERSIST="PERSIST"
PERSIST_ONLY="PERSIST_ONLY"
PHASE="PHASE"
PLUGIN="PLUGIN"
PLUGINS="PLUGINS"
PLUGIN_DIR="PLUGIN_DIR"
POINT="POINT"
POLYGON="POLYGON"
PORT="PORT"
PRECEDES="PRECEDES"
PRECEDING="PRECEDING"
PRECISION="PRECISION"
PREPARE="PREPARE"
PRESERVE="PRESERVE"
PREV="PREV"
PRIMARY="PRIMARY"
PRIVILEGES="PRIVILEGES"
PROCEDURE="PROCEDURE"
PROCESS="PROCESS"
PROCESSLIST="PROCESSLIST"
PROFILE="PROFILE"
PROFILES="PROFILES"
PROXY="PROXY"
PURGE="PURGE"
QUARTER="QUARTER"
QUERY="QUERY"
QUICK="QUICK"
RANGE="RANGE"
RANK="RANK"
READ="READ"
READS="READS"
READ_ONLY="READ_ONLY"
READ_WRITE="READ_WRITE"
REAL="REAL"
REBUILD="REBUILD"
RECOVER="RECOVER"
RECURSIVE="RECURSIVE"
REDO_BUFFER_SIZE="REDO_BUFFER_SIZE"
REDUNDANT="REDUNDANT"
REFERENCE="REFERENCE"
REFERENCES="REFERENCES"
REGEXP="REGEXP"
RELAY="RELAY"
RELAYLOG="RELAYLOG"
RELAY_LOG_FILE="RELAY_LOG_FILE"
RELAY_LOG_POS="RELAY_LOG_POS"
RELAY_THREAD="RELAY_THREAD"
RELEASE="RELEASE"
RELOAD="RELOAD"
REMOVE="REMOVE"
RENAME="RENAME"
REORGANIZE="REORGANIZE"
REPAIR="REPAIR"
REPEAT="REPEAT"
REPEATABLE="REPEATABLE"
REPLACE="REPLACE"
REPLICATE_DO_DB="REPLICATE_DO_DB"
REPLICATE_DO_TABLE="REPLICATE_DO_TABLE"
REPLICATE_IGNORE_DB="REPLICATE_IGNORE_DB"
REPLICATE_IGNORE_TABLE="REPLICATE_IGNORE_TABLE"
REPLICATE_REWRITE_DB="REPLICATE_REWRITE_DB"
REPLICATE_WILD_DO_TABLE="REPLICATE_WILD_DO_TABLE"
REPLICATE_WILD_IGNORE_TABLE="REPLICATE_WILD_IGNORE_TABLE"
REPLICATION="REPLICATION"
REQUIRE="REQUIRE"
RESET="RESET"
RESIGNAL="RESIGNAL"
RESOURCE="RESOURCE"
RESPECT="RESPECT"
RESTART="RESTART"
RESTORE="RESTORE"
RESTRICT="RESTRICT"
RESUME="RESUME"
RETAIN="RETAIN"
RETURN="RETURN"
RETURNED_SQLSTATE="RETURNED_SQLSTATE"
RETURNS="RETURNS"
REUSE="REUSE"
REVERSE="REVERSE"
REVOKE="REVOKE"
RIGHT="RIGHT"
RLIKE="RLIKE"
ROLE="ROLE"
ROLLBACK="ROLLBACK"
ROLLUP="ROLLUP"
ROTATE="ROTATE"
ROUTINE="ROUTINE"
ROW="ROW"
ROWS="ROWS"
ROW_COUNT="ROW_COUNT"
ROW_FORMAT="ROW_FORMAT"
ROW_NUMBER="ROW_NUMBER"
RTREE="RTREE"
SAVEPOINT="SAVEPOINT"
SCHEDULE="SCHEDULE"
SCHEMA="SCHEMA"
SCHEMAS="SCHEMAS"
SCHEMA_NAME="SCHEMA_NAME"
SECOND="SECOND"
SECONDARY="SECONDARY"
SECONDARY_ENGINE="SECONDARY_ENGINE"
SECONDARY_LOAD="SECONDARY_LOAD"
SECONDARY_UNLOAD="SECONDARY_UNLOAD"
SECOND_MICROSECOND="SECOND_MICROSECOND"
SECURITY="SECURITY"
SELECT="SELECT"
SENSITIVE="SENSITIVE"
SEPARATOR="SEPARATOR"
SERIAL="SERIAL"
SERIALIZABLE="SERIALIZABLE"
SERVER="SERVER"
SESSION="SESSION"
SET="SET"
SHARE="SHARE"
SHOW="SHOW"
SHUTDOWN="SHUTDOWN"
SIGNAL="SIGNAL"
SIGNED="SIGNED"
SIMPLE="SIMPLE"
SKIP="SKIP"
SLAVE="SLAVE"
SLOW="SLOW"
SMALLINT="SMALLINT"
SNAPSHOT="SNAPSHOT"
SOCKET="SOCKET"
SOME="SOME"
SONAME="SONAME"
SOUNDS="SOUNDS"
SOURCE="SOURCE"
SPATIAL="SPATIAL"
SPECIFIC="SPECIFIC"
SQL="SQL"
SQLEXCEPTION="SQLEXCEPTION"
SQLSTATE="SQLSTATE"
SQLWARNING="SQLWARNING"
SQL_AFTER_GTIDS="SQL_AFTER_GTIDS"
SQL_AFTER_MTS_GAPS="SQL_AFTER_MTS_GAPS"
SQL_BEFORE_GTIDS="SQL_BEFORE_GTIDS"
SQL_BIG_RESULT="SQL_BIG_RESULT"
SQL_BUFFER_RESULT="SQL_BUFFER_RESULT"
SQL_CALC_FOUND_ROWS="SQL_CALC_FOUND_ROWS"
SQL_NO_CACHE="SQL_NO_CACHE"
SQL_SMALL_RESULT="SQL_SMALL_RESULT"
SQL_THREAD="SQL_THREAD"
SQL_TSI_DAY="SQL_TSI_DAY"
SQL_TSI_HOUR="SQL_TSI_HOUR"
SQL_TSI_MINUTE="SQL_TSI_MINUTE"
SQL_TSI_MONTH="SQL_TSI_MONTH"
SQL_TSI_QUARTER="SQL_TSI_QUARTER"
SQL_TSI_SECOND="SQL_TSI_SECOND"
SQL_TSI_WEEK="SQL_TSI_WEEK"
SQL_TSI_YEAR="SQL_TSI_YEAR"
SRID="SRID"
SSL="SSL"
STACKED="STACKED"
START="START"
STARTING="STARTING"
STARTS="STARTS"
STATS_AUTO_RECALC="STATS_AUTO_RECALC"
STATS_PERSISTENT="STATS_PERSISTENT"
STATS_SAMPLE_PAGES="STATS_SAMPLE_PAGES"
STATUS="STATUS"
STOP="STOP"
STORAGE="STORAGE"
STORED="STORED"
STRAIGHT_JOIN="STRAIGHT_JOIN"
STRING="STRING"
SUBCLASS_ORIGIN="SUBCLASS_ORIGIN"
SUBJECT="SUBJECT"
SUBPARTITION="SUBPARTITION"
SUBPARTITIONS="SUBPARTITIONS"
SUPER="SUPER"
SUSPEND="SUSPEND"
SWAPS="SWAPS"
SWITCHES="SWITCHES"
SYSTEM="SYSTEM"
TABLE="TABLE"
TABLES="TABLES"
TABLESPACE="TABLESPACE"
TABLE_CHECKSUM="TABLE_CHECKSUM"
TABLE_NAME="TABLE_NAME"
TEMPORARY="TEMPORARY"
TEMPTABLE="TEMPTABLE"
TERMINATED="TERMINATED"
TEXT="TEXT"
THAN="THAN"
THEN="THEN"
THREAD_PRIORITY="THREAD_PRIORITY"
TIES="TIES"
TIME="TIME"
TIMESTAMP="TIMESTAMP"
TIMESTAMPADD="TIMESTAMPADD"
TIMESTAMPDIFF="TIMESTAMPDIFF"
TINYBLOB="TINYBLOB"
TINYINT="TINYINT"
TINYTEXT="TINYTEXT"
TO="TO"
TRAILING="TRAILING"
TRANSACTION="TRANSACTION"
TRIGGER="TRIGGER"
TRIGGERS="TRIGGERS"
TRUE="TRUE"
TRUNCATE="TRUNCATE"
TYPE="TYPE"
TYPES="TYPES"
UNBOUNDED="UNBOUNDED"
UNCOMMITTED="UNCOMMITTED"
UNDEFINED="UNDEFINED"
UNDO="UNDO"
UNDOFILE="UNDOFILE"
UNDO_BUFFER_SIZE="UNDO_BUFFER_SIZE"
UNICODE="UNICODE"
UNINSTALL="UNINSTALL"
UNION="UNION"
UNIQUE="UNIQUE"
UNKNOWN="UNKNOWN"
UNLOCK="UNLOCK"
UNSIGNED="UNSIGNED"
UNTIL="UNTIL"
UPDATE="UPDATE"
UPGRADE="UPGRADE"
USAGE="USAGE"
USE="USE"
USER="USER"
USER_RESOURCES="USER_RESOURCES"
USE_FRM="USE_FRM"
USING="USING"
UTC_DATE="UTC_DATE"
UTC_TIME="UTC_TIME"
UTC_TIMESTAMP="UTC_TIMESTAMP"
VALIDATION="VALIDATION"
VALUE="VALUE"
VALUES="VALUES"
VARBINARY="VARBINARY"
VARCHAR="VARCHAR"
VARCHARACTER="VARCHARACTER"
VARIABLES="VARIABLES"
VARYING="VARYING"
VCPU="VCPU"
VIEW="VIEW"
VIRTUAL="VIRTUAL"
VISIBLE="VISIBLE"
WAIT="WAIT"
WARNINGS="WARNINGS"
WEEK="WEEK"
WEIGHT_STRING="WEIGHT_STRING"
WHEN="WHEN"
WHERE="WHERE"
WHILE="WHILE"
WINDOW="WINDOW"
WITH="WITH"
WITHOUT="WITHOUT"
WORK="WORK"
WRAPPER="WRAPPER"
WRITE="WRITE"
X509="X509"
XA="XA"
XID="XID"
XML="XML"
XOR="XOR"
YEAR="YEAR"
YEAR_MONTH="YEAR_MONTH"
ZEROFILL="ZEROFILL"

222
dictionaries/exif.dict Normal file
View File

@ -0,0 +1,222 @@
"\x00\x01"
"\x00\x02"
"\x00\x10"
"\x00\x90"
"\x00\xa0"
"\x00\xa3"
"\x00\xa5"
"\x00\xfe"
"\x01\x00"
"\x01\x01"
"\x01\x02"
"\x01\x03"
"\x01\x06"
"\x01\x0a"
"\x01\x0d"
"\x01\x0e"
"\x01\x0f"
"\x01\x10"
"\x01\x11"
"\x01\x12"
"\x01\x15"
"\x01\x16"
"\x01\x17"
"\x01\x1a"
"\x01\x1b"
"\x01\x1c"
"\x01\x28"
"\x01\x2d"
"\x01\x31"
"\x01\x32"
"\x01\x3b"
"\x01\x3e"
"\x01\x3f"
"\x01\x4a"
"\x01\x56"
"\x01\x91"
"\x01\x92"
"\x01\xa0"
"\x01\xa3"
"\x01\xa4"
"\x02\x00"
"\x02\x01"
"\x02\x02"
"\x02\x10"
"\x02\x11"
"\x02\x12"
"\x02\x13"
"\x02\x14"
"\x02\x91"
"\x02\x92"
"\x02\xa0"
"\x02\xa3"
"\x02\xa4"
"\x02\xbc"
"\x03\x01"
"\x03\x90"
"\x03\x92"
"\x03\xa0"
"\x03\xa4"
"\x04\x90"
"\x04\x92"
"\x04\xa0"
"\x04\xa4"
"\x05\x92"
"\x05\xa0"
"\x05\xa4"
"\x06\x01"
"\x06\x92"
"\x06\xa4"
"\x07\x92"
"\x07\xa4"
"\x08\x92"
"\x08\xa4"
"\x09\x92"
"\x09\xa4"
"\x0a\x01"
"\x0a\x92"
"\x0a\xa4"
"\x0b\xa2"
"\x0b\xa4"
"\x0c\xa2"
"\x0c\xa4"
"\x0d\x01"
"\x0e\x01"
"\x0e\xa2"
"\x0f\x01"
"\x0f\xa2"
"\x10\x00"
"\x10\x01"
"\x10\x02"
"\x10\xa2"
"\x11\x01"
"\x11\x02"
"\x12\x01"
"\x12\x02"
"\x13\x02"
"\x14\x02"
"\x14\x92"
"\x14\xa2"
"\x15\x01"
"\x15\xa2"
"\x16\x01"
"\x16\x92"
"\x17\x01"
"\x17\xa2"
"\x1a\x01"
"\x1b\x01"
"\x1c\x01"
"\x1c\xea"
"\x20\xa4"
"\x22\x88"
"\x24\x88"
"\x25\x88"
"\x27\x88"
"\x28\x01"
"\x28\x88"
"\x2a\x88"
"\x2d\x01"
"\x31\x01"
"\x32\x01"
"\x3b\x01"
"\x3e\x01"
"\x3f\x01"
"\x49\x86"
"\x4a\x01"
"\x56\x01"
"\x69\x87"
"\x73\x87"
"\x7c\x92"
"\x82\x8d"
"\x82\x8e"
"\x82\x8f"
"\x82\x98"
"\x82\x9a"
"\x82\x9d"
"\x83\xbb"
"\x86\x49"
"\x86\x92"
"\x87\x69"
"\x87\x73"
"\x88\x22"
"\x88\x24"
"\x88\x25"
"\x88\x27"
"\x88\x28"
"\x88\x2a"
"\x8d\x82"
"\x8e\x82"
"\x8f\x82"
"\x90\x00"
"\x90\x03"
"\x90\x04"
"\x90\x92"
"\x91\x01"
"\x91\x02"
"\x91\x92"
"\x92\x01"
"\x92\x02"
"\x92\x03"
"\x92\x04"
"\x92\x05"
"\x92\x06"
"\x92\x07"
"\x92\x08"
"\x92\x09"
"\x92\x0a"
"\x92\x14"
"\x92\x16"
"\x92\x7c"
"\x92\x86"
"\x92\x90"
"\x92\x91"
"\x92\x92"
"\x98\x82"
"\x9a\x82"
"\x9b\x9c"
"\x9c\x9b"
"\x9c\x9c"
"\x9c\x9d"
"\x9c\x9e"
"\x9c\x9f"
"\x9d\x82"
"\x9d\x9c"
"\x9e\x9c"
"\x9f\x9c"
"\xa0\x00"
"\xa0\x01"
"\xa0\x02"
"\xa0\x03"
"\xa0\x04"
"\xa0\x05"
"\xa2\x0b"
"\xa2\x0c"
"\xa2\x0e"
"\xa2\x0f"
"\xa2\x10"
"\xa2\x14"
"\xa2\x15"
"\xa2\x17"
"\xa3\x00"
"\xa3\x01"
"\xa3\x02"
"\xa4\x01"
"\xa4\x02"
"\xa4\x03"
"\xa4\x04"
"\xa4\x05"
"\xa4\x06"
"\xa4\x07"
"\xa4\x08"
"\xa4\x09"
"\xa4\x0a"
"\xa4\x0b"
"\xa4\x0c"
"\xa4\x20"
"\xa5\x00"
"\xa5\xc4"
"\xbb\x83"
"\xbc\x02"
"\xc4\xa5"
"\xea\x1c"
"\xfe\x00"

42
dictionaries/fbs.dict Normal file
View File

@ -0,0 +1,42 @@
# spec: https://google.github.io/flatbuffers/flatbuffers_grammar.html
attribute="attribute"
bool="bool"
byte="byte"
double="double"
enum="enum"
false="false"
file_extension="file_extension"
float32="float32"
float64="float64"
float="float"
include="include"
inf="inf"
infinity="infinity"
int16="int16"
int32="int32"
int64="int64"
int8="int8"
int="int"
long="long"
namespace="namespace"
nan="nan"
root_type="root_type"
root_type="root_type"
rpc_service="rpc_service"
short="short"
string="string"
struct="struct"
table="table"
true="true"
ubyte="ubyte"
uint16="uint16"
uint32="uint32"
uint64="uint64"
uint="uint"
ulong="ulong"
union="union"
ushort="ushort"
separator=":"
eol=";"

124
dictionaries/ftp.dict Normal file
View File

@ -0,0 +1,124 @@
# from https://github.com/antonio-morales/Fuzzing/Dictionaries/FTP/Example.dict.txt
#Parameters
#tls = {0,1,2,3}
#Input1
"user"
"pass"
"syst"
"acct"
"feat"
"noop"
"help"
"stat"
"stru"
"adat"
"site"
#Input2
"mkd"
"cwd"
"pwd"
"cdup"
#Input3
"port"
"list"
"mlst"
"nlst"
"mlsd"
#Input4
"rmd"
#Input5
"stor"
#Input6
"retr"
#Input7
"dele"
#Input8
"pasv"
#Input9
"epsv"
#Input10
"type"
"size"
#Input11
"mode"
#Input12
"rnfr"
"rnto"
#Input13
"appe"
#Input14
"allo"
"quit"
#Input15
"connect"
#Input16
"esta"
"estp"
#Input17
"mdtm"
"opts"
"eprt"
#Input18
"mfmt"
"pret"
"stou"
"rest"
#-------------------------------------
"\x00"
"\x0d\x0a"
"\x0d"
"\x0a"
"-"
"-a "
"-C "
"-d "
"-F "
"-l "
"-r "
"-R "
"-S "
"-t"
" "
"fuzzing"
"test"
"teste"
".txt"
"test.txt"
" UTC"
"C"
"E"
"P"
"S"
"abor"
#ifdef WITH_TLS
"pbsz"
"auth"
"prot"
"ccc"
#ifdef DEBUG
"xdbg"
# ifdef WITH_DIRALIASES
"alias"

373
dictionaries/graphviz.dict Normal file
View File

@ -0,0 +1,373 @@
# Semi-manually curated list of interesting words within a graphviz input file.
# TODO(robhart): Consider expanding from:
# - htmllex.c
# - ?
# Not included exhaustive list of colortables, fontnames, etc. that are unlikely
# to influence core graphviz behaviour.
# Attributes (from http://www.graphviz.org/doc/info/attrs.html)
"Damping"
"K"
"URL"
"_background"
"area"
"arrowhead"
"arrowsize"
"arrowtail"
"bb"
"bgcolor"
"colorList"
"center"
"charset"
"clusterrank"
"color"
"colorList"
"colorscheme"
"comment"
"compound"
"concentrate"
"constraint"
"decorate"
"defaultdist"
"dim"
"dimen"
"dir"
"diredgeconstraints"
"distortion"
"dpi"
"edgeURL"
"edgehref"
"edgetarget"
"edgetooltip"
"epsilon"
"esep"
"fillcolor"
"fixedsize"
"fontcolor"
"fontname"
"fontnames"
"fontpath"
"fontsize"
"forcelabels"
"gradientangle"
"group"
"headURL"
"head_lp"
"headclip"
"headhref"
"headlabel"
"headport"
"headtarget"
"headtooltip"
"height"
"href"
"id"
"image"
"imagepath"
"imagescale"
"inputscale"
"label"
"labelURL"
"label_scheme"
"labelangle"
"labeldistance"
"labelfloat"
"labelfontcolor"
"labelfontname"
"labelfontsize"
"labelhref"
"labeljust"
"labelloc"
"labeltarget"
"labeltooltip"
"landscape"
"layer"
"layerlistsep"
"layers"
"layerselect"
"layersep"
"layout"
"len"
"levels"
"levelsgap"
"lhead"
"lheight"
"lp"
"ltail"
"lwidth"
"margin"
"maxiter"
"mclimit"
"mindist"
"minlen"
"mode"
"model"
"mosek"
"newrank"
"nodesep"
"nojustify"
"normalize"
"notranslate"
"nslimit "
"nslimit1"
"ordering"
"orientation"
"OrientationGraph"
"outputorder"
"overlap"
"overlap_scaling"
"overlap_shrink"
"pack"
"packmode"
"pad"
"point"
"page"
"point"
"pagedir"
"pencolor"
"penwidth"
"peripheries"
"pin"
"pos"
"splineType"
"quadtree"
"quantum"
"rank"
"rankdir"
"ranksep"
"ratio"
"string"
"rects"
"regular"
"remincross"
"RemoveOverlaps"
"repulsiveforce"
"resolution"
"root"
"rotate"
"rotation"
"samehead"
"sametail"
"samplepoints"
"scale"
"searchsize"
"sep"
"setlinewidth"
"shape"
"shapefile"
"showboxes"
"sides"
"size"
"skew"
"smoothing"
"sortv"
"splines"
"string"
"start"
"style"
"stylesheet"
"tailURL"
"tail_lp"
"tailclip"
"tailhref"
"taillabel"
"tailport"
"tailtarget"
"tailtooltip"
"target"
"tooltip"
"truecolor"
"vertices"
"viewport"
"voro_margin"
"weight"
"width"
"xdotversion"
"xlabel"
"xlp"
"z"
# Shapes (from shapes.c)
"box"
"polygon"
"ellipse"
"oval"
"circle"
"point"
"egg"
"triangle"
"none"
"plaintext"
"plain"
"diamond"
"trapezium"
"parallelogram"
"house"
"pentagon"
"hexagon"
"septagon"
"octagon"
"note"
"tab"
"folder"
"box3d"
"component"
"cylinder"
"rect"
"rectangle"
"square"
"doublecircle"
"doubleoctagon"
"tripleoctagon"
"invtriangle"
"invtrapezium"
"invhouse"
"underline"
"Mdiamond"
"Msquare"
"Mcircle"
"DotGraphs"
"promoter"
"cds"
"terminator"
"utr"
"insulator"
"ribosite"
"rnastab"
"proteasesite"
"proteinstab"
"primersite"
"restrictionsite"
"fivepoverhang"
"threepoverhang"
"noverhang"
"assembly"
"signature"
"rpromoter"
"larrow"
"rarrow"
"lpromoter"
"record"
"Mrecord"
"epsf"
"star"
# styles
"bold"
"dashed"
"diagonals"
"dotted"
"filled"
"invis"
"radial"
"rounded"
"solid"
"striped"
"tapered"
"wedged"
# misc -- https://graphviz.gitlab.io/_pages/doc/info/lang.html
"node"
"edge"
"digraph"
"subgraph"
"strict"
"same"
"->"
"--"
" {A B} "
" a -- b "
# Special value for the "shape" attribute
"epsf"
# html
"=\""
"<table"
"<tr"
"<td"
"<font"
"<br"
"<img"
"<i"
"<b"
"<u"
"<o"
"<sub"
"<sup"
"<s"
"<hr"
"<vr"
# html attributes
"align"
"balign"
"bgcolor"
"border"
"cellborder"
"cellpadding"
"cellspacing"
"color"
"colspan"
"columns"
"face"
"fixedsize"
"gradientangle"
"height"
"href"
"id"
"point-size"
"port"
"rows"
"rowspan"
"scale"
"sides"
"src"
"style"
"target"
"title"
"tooltip"
"valign"
"width"
# arrow spaces
"box"
"crow"
"curve"
"icurve"
"diamond"
"dot"
"inv"
"none"
"normal"
"tee"
"vee"
# Examples of parameters
"%f"
"50,50,.5,'2.8 BSD'"
"100,100,2,450,-1"
"none"
"avg_dist"
"graph_dist"
"power_dist"
"rng"
"spring"
"triangle"
"same"
"min"
"source"
"max"
"sink"
"node"
"clust"
"graph"
"array_flags"
"%2x"
"%s"
"%99$p"
"%n"

76
dictionaries/heif.dict Normal file
View File

@ -0,0 +1,76 @@
# https://standards.iso.org/ittf/PubliclyAvailableStandards/c066067_ISO_IEC_23008-12_2017.zip
"altr"
"auxC"
"auxc"
"auxi"
"auxv"
"avcC"
"avci"
"avcs"
"ccst"
"cdsc"
"clap"
"colr"
"dimg"
"dinf"
"dref"
"elst"
"equi"
"free"
"frma"
"ftyp"
"grid"
"grp1"
"hdlr"
"heic"
"heim"
"heis"
"heix"
"hevc"
"hevx"
"hvc1"
"hvc2"
"hvcC"
"idat"
"iden"
"iinf"
"iloc"
"imir"
"infe"
"iovl"
"ipro"
"iprp"
"iref"
"irot"
"ispe"
"jpeg"
"jpgC"
"jpgs"
"lhv1"
"lhvC"
"lsel"
"mdat"
"meta"
"mif1"
"mime"
"mjpg"
"msf1"
"oinf"
"pasp"
"pict"
"pitm"
"pixi"
"refs"
"rloc"
"schi"
"schm"
"sgpd"
"sinf"
"skip"
"stsz"
"subs"
"thmb"
"tkhd"
"tols"
"trak"

View File

@ -0,0 +1,49 @@
asterisk="*"
attr_generic=" a=\"1\""
attr_href=" href=\"1\""
attr_xml_lang=" xml:lang=\"1\""
attr_xmlns=" xmlns=\"1\""
backslash="\\"
backtick="`"
colon=":"
dashes="---"
double_quote="\""
entity_builtin="&lt;"
entity_decimal="&#1;"
entity_external="&a;"
entity_hex="&#x1;"
equals="==="
exclamation="!"
greater_than=">"
hash="#"
hyphen="-"
indent=" "
left_bracket="["
left_paren="("
less_than="<"
plus="+"
right_bracket="]"
right_paren=")"
single_quote="'"
string_any="ANY"
string_brackets="[]"
string_cdata="CDATA"
string_dashes="--"
string_empty_dblquotes="\"\""
string_empty_quotes="''"
string_idrefs="IDREFS"
string_parentheses="()"
string_pcdata="#PCDATA"
tag_cdata="<![CDATA["
tag_close="</a>"
tag_doctype="<!DOCTYPE"
tag_element="<!ELEMENT"
tag_entity="<!ENTITY"
tag_notation="<!NOTATION"
tag_open="<a>"
tag_open_close="<a />"
tag_open_exclamation="<!"
tag_open_q="<?"
tag_sq2_close="]]>"
tag_xml_q="<?xml?>"
underscore="_"

119
dictionaries/http.dict Normal file
View File

@ -0,0 +1,119 @@
# Sources: https://en.wikipedia.org/wiki/List_of_HTTP_header_fields
# misc
"HTTP/1.1"
# verbs
"CONNECT"
"DELETE"
"GET"
"HEAD"
"OPTIONS"
"PATCH"
"POST"
"PUT"
"TRACE"
# Fields
"A-IM"
"Accept"
"Accept-Charset"
"Accept-Datetime"
"Accept-Encoding"
"Accept-Language"
"Accept-Patch"
"Accept-Ranges"
"Access-Control-Allow-Credentials"
"Access-Control-Allow-Headers"
"Access-Control-Allow-Methods"
"Access-Control-Allow-Origin"
"Access-Control-Expose-Headers"
"Access-Control-Max-Age"
"Access-Control-Request-Headers"
"Access-Control-Request-Method"
"Age"
"Allow"
"Alt-Svc"
"Authorization"
"Cache-Control"
"Connection"
"Connection:"
"Content-Disposition"
"Content-Encoding"
"Content-Language"
"Content-Length"
"Content-Location"
"Content-MD5"
"Content-Range"
"Content-Security-Policy"
"Content-Type"
"Cookie"
"DNT"
"Date"
"Delta-Base"
"ETag"
"Expect"
"Expires"
"Forwarded"
"From"
"Front-End-Https"
"HTTP2-Settings"
"Host"
"IM"
"If-Match"
"If-Modified-Since"
"If-None-Match"
"If-Range"
"If-Unmodified-Since"
"Last-Modified"
"Link"
"Location"
"Max-Forwards"
"Origin"
"P3P"
"Pragma"
"Proxy-Authenticate"
"Proxy-Authorization"
"Proxy-Connection"
"Public-Key-Pins"
"Range"
"Referer"
"Refresh"
"Retry-After"
"Save-Data"
"Server"
"Set-Cookie"
"Status"
"Strict-Transport-Security"
"TE"
"Timing-Allow-Origin"
"Tk"
"Trailer"
"Transfer-Encoding"
"Upgrade"
"Upgrade-Insecure-Requests"
"User-Agent"
"Vary"
"Via"
"WWW-Authenticate"
"Warning"
"X-ATT-DeviceId"
"X-Content-Duration"
"X-Content-Security-Policy"
"X-Content-Type-Options"
"X-Correlation-ID"
"X-Csrf-Token"
"X-Forwarded-For"
"X-Forwarded-Host"
"X-Forwarded-Proto"
"X-Frame-Options"
"X-Http-Method-Override"
"X-Powered-By"
"X-Request-ID"
"X-Requested-With"
"X-UA-Compatible"
"X-UIDH"
"X-Wap-Profile"
"X-WebKit-CSP"
"X-XSS-Protection"

591
dictionaries/icc.dict Normal file
View File

@ -0,0 +1,591 @@
# See http://www.color.org/specification/ICC.2-2019.pdf
magic="acsp"
# spectral encoding
"rs"
"ts"
"es"
"bs"
"sm"
"mc"
# Profile classes
"scnr"
"mntr"
"prtr"
"link"
"spac"
"abst"
"nmcl"
"cenc"
"mod "
"mlnk"
"mvis"
# Data colour space field
"XYZ "
"Lab "
"Luv "
"YVbr"
"Yxy "
"LMS "
"RGB "
"GRAY"
"HSV "
"HLS "
"CMYK"
"CMY "
"2CLR"
"3CLR"
"4CLR"
"5CLR"
"6CLR"
"7CLR"
"8CLR"
"9CLR"
"ACLR"
"BCLR"
"CCLR"
"DCLR"
"ECLR"
"FCLR"
"nc"
"YCC"
# primary platforms
"APPL"
"MSFT"
"SGI "
"SUNW"
# Tags
"A2B0"
"A2B1"
"A2B2"
"A2B3"
"A2M0"
"bcp0"
"bcp1"
"bcp2"
"bcp3"
"bsp0"
"bsp1"
"bsp2"
"bsp3"
"bAB0"
"bAB1"
"bAB2"
"bAB3"
"bBA0"
"bBA1"
"bBA2"
"bBA3"
"bBD0"
"bBD1"
"bBD2"
"bBD3"
"bDB0"
"bDB1"
"bDB2"
"bDB3"
"bMB0"
"bMB1"
"bMB2"
"bMB3"
"bMS0"
"bMS1"
"bMS2"
"bMS3"
"B2A0"
"B2A1"
"B2A2"
"B2A3"
"B2D0"
"B2D1"
"B2D2"
"B2D3"
"calt"
"targ"
"cept"
"csnm"
"clro"
"cloo"
"clin"
"clio"
"ciis"
"cprt"
"c2sp"
"cxF "
"dmnd"
"dmdd"
"dAB0"
"dAB2"
"dAB3"
"dAB4"
"dBA0"
"dBA1"
"dBA2"
"dBA3"
"dBD0"
"dBD1"
"dBD2"
"dBD3"
"dDB0"
"dDB1"
"dDB2"
"dDB3"
"d2B0"
"d2B1"
"d2B2"
"d2B3"
"gbd0"
"gbd1"
"gbd2"
"gbd3"
"mdv "
"mcta"
"minf"
"miin"
"wtpt"
"meta"
"M2A0"
"M2B0"
"M2B1"
"M2B2"
"M2B3"
"M2S0"
"M2S1"
"M2S2"
"M2S3"
"nmcl"
"rig0"
"desc"
"psin"
"rfnm"
"rig2"
"svcn"
"swpt"
"s2cp"
"smap"
"tech"
# tag types
"clro"
"curv"
"data"
"dtim"
"dict"
"ehim"
"enim"
"fl16"
"fl32"
"fl64"
"gbd "
"mAB "
"mBA "
"meas"
"mluc"
"mpet"
"para"
"sf32"
"sig "
"smat"
"tary"
"tstr"
"ui32"
"ui64"
"ui08"
"ut16"
"utf8"
"zut8"
"zxml"
# Function operands
"calc"
"func"
"true"
"ndef"
"env "
"in "
"out "
"tget"
"tput"
"tsav"
"curv"
"mtx "
"clut"
"tint"
"elem"
"copy"
"rotl"
"rotr"
"posd"
"flip"
"pop "
"solv"
"tran"
"sum "
"prod"
"min "
"max "
"and "
"or "
"pi "
"+INF"
"-INF"
"NaN "
"add "
"sub "
"mul "
"dic "
"mod "
"pow "
"gama"
"sadd"
"ssub"
"sdiv"
"smul"
"sq "
"sqrt"
"cb "
"cbrt"
"abs "
"neg "
"rond"
"flor"
"ceil"
"trnc"
"sign"
"exp "
"log "
"ln "
"sin "
"cos "
"tan "
"asin"
"acos"
"atan"
"atn2"
"ctop"
"ptoc"
"rnum"
"lt "
"le "
"eq"
"near"
"ge "
"gt "
"vmin"
"vmax"
"vand"
"vor "
"tLab"
"tXYZ"
"if "
"else"
"sel "
"case"
"dflt"
"cvst"
"sngf"
"curf"
"parf"
"smaf"
"clut"
"eclt"
"emtx"
"eobs"
"xclt"
"iemx"
"JtoX"
"matf"
"smet"
"rclt"
"robs"
"tint"
"XtoJ"
"bACS"
"eACS"
"brdf"
"type"
"func"
"nump"
"xfrm"
"BPh0"
"BPh1"
"CT10"
"CT20"
"CT30"
"CT11"
"CT21"
"CT31"
"War0"
"War1"
"La10"
"La20"
"La30"
"La11"
"La21"
"La31"
"name"
"lcnm"
"pcs "
"spec"
"spcb"
"spcg"
"ncol"
"pinf"
# from oss-fuzz, some duplicates
# Fuzzing dictionary for icc
# Extracted from lcms2.h of Little-CMS project 2.8.
magic="acsp"
sig="lcms"
# Base ICC type definitions
"chrm"
"clro"
"clrt"
"crdi"
"curv"
"data"
"dict"
"dtim"
"devs"
"mft2"
"mft1"
"mAB "
"mBA "
"meas"
"mluc"
"mpet"
"ncol"
"ncl2"
"para"
"pseq"
"psid"
"rcs2"
"sf32"
"scrn"
"sig "
"text"
"desc"
"uf32"
"bfd "
"ui16"
"ui32"
"ui64"
"ui08"
"vcgt"
"view"
"XYZ "
# Base ICC tag definitions
"A2B0"
"A2B1"
"A2B2"
"bXYZ"
"bXYZ"
"bTRC"
"B2A0"
"B2A1"
"B2A2"
"calt"
"targ"
"chad"
"chrm"
"clro"
"clrt"
"clot"
"ciis"
"cprt"
"crdi"
"data"
"dtim"
"dmnd"
"dmdd"
"devs"
"D2B0"
"D2B1"
"D2B2"
"D2B3"
"B2D0"
"B2D1"
"B2D2"
"B2D3"
"gamt"
"kTRC"
"gXYZ"
"gXYZ"
"gTRC"
"lumi"
"meas"
"bkpt"
"wtpt"
"ncol"
"ncl2"
"resp"
"rig0"
"pre0"
"pre1"
"pre2"
"desc"
"dscm"
"pseq"
"psid"
"psd0"
"psd1"
"psd2"
"psd3"
"ps2s"
"ps2i"
"rXYZ"
"rXYZ"
"rTRC"
"rig2"
"scrd"
"scrn"
"tech"
"bfd "
"vued"
"view"
"vcgt"
"meta"
"arts"
# ICC Technology tag
"dcam"
"fscn"
"rscn"
"ijet"
"twax"
"epho"
"esta"
"dsub"
"rpho"
"fprn"
"vidm"
"vidc"
"pjtv"
"CRT "
"PMD "
"AMD "
"KPCD"
"imgs"
"grav"
"offs"
"silk"
"flex"
"mpfs"
"mpfr"
"dmpc"
"dcpj"
# ICC Color spaces
"XYZ "
"Lab "
"Luv "
"YCbr"
"Yxy "
"RGB "
"GRAY"
"HSV "
"HLS "
"CMYK"
"CMY "
"MCH1"
"MCH2"
"MCH3"
"MCH4"
"MCH5"
"MCH6"
"MCH7"
"MCH8"
"MCH9"
"MCHA"
"MCHB"
"MCHC"
"MCHD"
"MCHE"
"MCHF"
"nmcl"
"1CLR"
"2CLR"
"3CLR"
"4CLR"
"5CLR"
"6CLR"
"7CLR"
"8CLR"
"9CLR"
"ACLR"
"BCLR"
"CCLR"
"DCLR"
"ECLR"
"FCLR"
"LuvK"
# ICC Profile Class
"scnr"
"mntr"
"prtr"
"link"
"abst"
"spac"
"nmcl"
# ICC Platforms
"APPL"
"MSFT"
"SUNW"
"SGI "
"TGNT"
"*nix"
# Reference gamut
"prmg"
# For cmsSigColorimetricIntentImageStateTag
"scoe"
"sape"
"fpce"
"rhoc"
"rpoc"
# Multi process elements types
"cvst"
"matf"
"clut"
"bACS"
"eACS"
"l2x "
"x2l "
"ncl "
"2 4 "
"4 2 "
"idn "
"d2l "
"l2d "
"d2x "
"x2d "
"clp "
# Types of CurveElements
"parf"
"samf"
"curf"
# Used in ResponseCurveType
"StaA"
"StaE"
"StaI"
"StaT"
"StaM"
"DN "
"DN P"
"DNN "
"DNNP"

View File

@ -0,0 +1,25 @@
# Dict for ICC profiles parsed by skcms.
"mft1"
"mft2"
"mAB "
"rXYZ"
"gXYZ"
"bXYZ"
"rTRC"
"gTRC"
"bTRC"
"kTRC"
"A2B0"
"curv"
"para"
"mluc"
"XYZ "
"Lab "
"RGB "
"CMYK"
"GRAY"
"mntr"
"scnr"
"prtr"
"spac"

43
dictionaries/icns.dict Normal file
View File

@ -0,0 +1,43 @@
# https://en.wikipedia.org/wiki/Apple_Icon_Image_format
"ICN#"
"ICON"
"TOC "
"h8mk"
"ic04"
"ic05"
"ic07"
"ic08"
"ic09"
"ic10"
"ic11"
"ic12"
"ic13"
"ic14"
"ich#"
"ich4"
"ich8"
"icl4"
"icl8"
"icm#"
"icm4"
"icm8"
"icnV"
"icns"
"icp4"
"icp5"
"icp6"
"ics#"
"ics4"
"ics8"
"icsB"
"icsb"
"ih32"
"il32"
"info"
"is32"
"it32"
"l8mk"
"name"
"s8mk"
"t8mk"

688
dictionaries/initfile.dict Normal file
View File

@ -0,0 +1,688 @@
#SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS;
ACCESSIBLE="ACCESSIBLE"
ACCOUNT="ACCOUNT"
ACTION="ACTION"
ACTIVE="ACTIVE"
ADD="ADD"
ADMIN="ADMIN"
AFTER="AFTER"
AGAINST="AGAINST"
AGGREGATE="AGGREGATE"
ALGORITHM="ALGORITHM"
ALL="ALL"
ALTER="ALTER"
ALWAYS="ALWAYS"
ANALYZE="ANALYZE"
AND="AND"
ANY="ANY"
AS="AS"
ASC="ASC"
ASCII="ASCII"
ASENSITIVE="ASENSITIVE"
AT="AT"
AUTOEXTEND_SIZE="AUTOEXTEND_SIZE"
AUTO_INCREMENT="AUTO_INCREMENT"
AVG="AVG"
AVG_ROW_LENGTH="AVG_ROW_LENGTH"
BACKUP="BACKUP"
BEFORE="BEFORE"
BEGIN="BEGIN"
BETWEEN="BETWEEN"
BIGINT="BIGINT"
BINARY="BINARY"
BINLOG="BINLOG"
BIT="BIT"
BLOB="BLOB"
BLOCK="BLOCK"
BOOL="BOOL"
BOOLEAN="BOOLEAN"
BOTH="BOTH"
BTREE="BTREE"
BUCKETS="BUCKETS"
BY="BY"
BYTE="BYTE"
CACHE="CACHE"
CALL="CALL"
CASCADE="CASCADE"
CASCADED="CASCADED"
CASE="CASE"
CATALOG_NAME="CATALOG_NAME"
CHAIN="CHAIN"
CHANGE="CHANGE"
CHANGED="CHANGED"
CHANNEL="CHANNEL"
CHAR="CHAR"
CHARACTER="CHARACTER"
CHARSET="CHARSET"
CHECK="CHECK"
CHECKSUM="CHECKSUM"
CIPHER="CIPHER"
CLASS_ORIGIN="CLASS_ORIGIN"
CLIENT="CLIENT"
CLONE="CLONE"
CLOSE="CLOSE"
COALESCE="COALESCE"
CODE="CODE"
COLLATE="COLLATE"
COLLATION="COLLATION"
COLUMN="COLUMN"
COLUMNS="COLUMNS"
COLUMN_FORMAT="COLUMN_FORMAT"
COLUMN_NAME="COLUMN_NAME"
COMMENT="COMMENT"
COMMIT="COMMIT"
COMMITTED="COMMITTED"
COMPACT="COMPACT"
COMPLETION="COMPLETION"
COMPONENT="COMPONENT"
COMPRESSED="COMPRESSED"
COMPRESSION="COMPRESSION"
CONCURRENT="CONCURRENT"
CONDITION="CONDITION"
CONNECTION="CONNECTION"
CONSISTENT="CONSISTENT"
CONSTRAINT="CONSTRAINT"
CONSTRAINT_CATALOG="CONSTRAINT_CATALOG"
CONSTRAINT_NAME="CONSTRAINT_NAME"
CONSTRAINT_SCHEMA="CONSTRAINT_SCHEMA"
CONTAINS="CONTAINS"
CONTEXT="CONTEXT"
CONTINUE="CONTINUE"
CONVERT="CONVERT"
CPU="CPU"
CREATE="CREATE"
CROSS="CROSS"
CUBE="CUBE"
CUME_DIST="CUME_DIST"
CURRENT="CURRENT"
CURRENT_DATE="CURRENT_DATE"
CURRENT_TIME="CURRENT_TIME"
CURRENT_TIMESTAMP="CURRENT_TIMESTAMP"
CURRENT_USER="CURRENT_USER"
CURSOR="CURSOR"
CURSOR_NAME="CURSOR_NAME"
DATA="DATA"
DATABASE="DATABASE"
DATABASES="DATABASES"
DATAFILE="DATAFILE"
DATE="DATE"
DATETIME="DATETIME"
DAY="DAY"
DAY_HOUR="DAY_HOUR"
DAY_MICROSECOND="DAY_MICROSECOND"
DAY_MINUTE="DAY_MINUTE"
DAY_SECOND="DAY_SECOND"
DEALLOCATE="DEALLOCATE"
DEC="DEC"
DECIMAL="DECIMAL"
DECLARE="DECLARE"
DEFAULT="DEFAULT"
DEFAULT_AUTH="DEFAULT_AUTH"
DEFINER="DEFINER"
DEFINITION="DEFINITION"
DELAYED="DELAYED"
DELAY_KEY_WRITE="DELAY_KEY_WRITE"
DELETE="DELETE"
DENSE_RANK="DENSE_RANK"
DESC="DESC"
DESCRIBE="DESCRIBE"
DESCRIPTION="DESCRIPTION"
DETERMINISTIC="DETERMINISTIC"
DIAGNOSTICS="DIAGNOSTICS"
DIRECTORY="DIRECTORY"
DISABLE="DISABLE"
DISCARD="DISCARD"
DISK="DISK"
DISTINCT="DISTINCT"
DISTINCTROW="DISTINCTROW"
DIV="DIV"
DO="DO"
DOUBLE="DOUBLE"
DROP="DROP"
DUAL="DUAL"
DUMPFILE="DUMPFILE"
DUPLICATE="DUPLICATE"
DYNAMIC="DYNAMIC"
EACH="EACH"
ELSE="ELSE"
ELSEIF="ELSEIF"
EMPTY="EMPTY"
ENABLE="ENABLE"
ENCLOSED="ENCLOSED"
ENCRYPTION="ENCRYPTION"
END="END"
ENDS="ENDS"
ENFORCED="ENFORCED"
ENGINE="ENGINE"
ENGINES="ENGINES"
ENUM="ENUM"
ERROR="ERROR"
ERRORS="ERRORS"
ESCAPE="ESCAPE"
ESCAPED="ESCAPED"
EVENT="EVENT"
EVENTS="EVENTS"
EVERY="EVERY"
EXCEPT="EXCEPT"
EXCHANGE="EXCHANGE"
EXCLUDE="EXCLUDE"
EXECUTE="EXECUTE"
EXISTS="EXISTS"
EXIT="EXIT"
EXPANSION="EXPANSION"
EXPIRE="EXPIRE"
EXPLAIN="EXPLAIN"
EXPORT="EXPORT"
EXTENDED="EXTENDED"
EXTENT_SIZE="EXTENT_SIZE"
FALSE="FALSE"
FAST="FAST"
FAULTS="FAULTS"
FETCH="FETCH"
FIELDS="FIELDS"
FILE="FILE"
FILE_BLOCK_SIZE="FILE_BLOCK_SIZE"
FILTER="FILTER"
FIRST="FIRST"
FIRST_VALUE="FIRST_VALUE"
FIXED="FIXED"
FLOAT="FLOAT"
FLOAT4="FLOAT4"
FLOAT8="FLOAT8"
FLUSH="FLUSH"
FOLLOWING="FOLLOWING"
FOLLOWS="FOLLOWS"
FOR="FOR"
FORCE="FORCE"
FOREIGN="FOREIGN"
FORMAT="FORMAT"
FOUND="FOUND"
FROM="FROM"
FULL="FULL"
FULLTEXT="FULLTEXT"
FUNCTION="FUNCTION"
GENERAL="GENERAL"
GENERATED="GENERATED"
GEOMCOLLECTION="GEOMCOLLECTION"
GEOMETRY="GEOMETRY"
GEOMETRYCOLLECTION="GEOMETRYCOLLECTION"
GET="GET"
GET_FORMAT="GET_FORMAT"
GET_MASTER_PUBLIC_KEY="GET_MASTER_PUBLIC_KEY"
GLOBAL="GLOBAL"
GRANT="GRANT"
GRANTS="GRANTS"
GROUP="GROUP"
GROUPING="GROUPING"
GROUPS="GROUPS"
GROUP_REPLICATION="GROUP_REPLICATION"
HANDLER="HANDLER"
HASH="HASH"
HAVING="HAVING"
HELP="HELP"
HIGH_PRIORITY="HIGH_PRIORITY"
HISTOGRAM="HISTOGRAM"
HISTORY="HISTORY"
HOST="HOST"
HOSTS="HOSTS"
HOUR="HOUR"
HOUR_MICROSECOND="HOUR_MICROSECOND"
HOUR_MINUTE="HOUR_MINUTE"
HOUR_SECOND="HOUR_SECOND"
IDENTIFIED="IDENTIFIED"
IF="IF"
IGNORE="IGNORE"
IGNORE_SERVER_IDS="IGNORE_SERVER_IDS"
IMPORT="IMPORT"
IN="IN"
INACTIVE="INACTIVE"
INDEX="INDEX"
INDEXES="INDEXES"
INFILE="INFILE"
INITIAL_SIZE="INITIAL_SIZE"
INNER="INNER"
INOUT="INOUT"
INSENSITIVE="INSENSITIVE"
INSERT="INSERT"
INSERT_METHOD="INSERT_METHOD"
INSTALL="INSTALL"
INSTANCE="INSTANCE"
INT="INT"
INT1="INT1"
INT2="INT2"
INT3="INT3"
INT4="INT4"
INT8="INT8"
INTEGER="INTEGER"
INTERVAL="INTERVAL"
INTO="INTO"
INVISIBLE="INVISIBLE"
INVOKER="INVOKER"
IO="IO"
IO_AFTER_GTIDS="IO_AFTER_GTIDS"
IO_BEFORE_GTIDS="IO_BEFORE_GTIDS"
IO_THREAD="IO_THREAD"
IPC="IPC"
IS="IS"
ISOLATION="ISOLATION"
ISSUER="ISSUER"
ITERATE="ITERATE"
JOIN="JOIN"
JSON="JSON"
JSON_TABLE="JSON_TABLE"
KEY="KEY"
KEYS="KEYS"
KEY_BLOCK_SIZE="KEY_BLOCK_SIZE"
KILL="KILL"
LAG="LAG"
LANGUAGE="LANGUAGE"
LAST="LAST"
LAST_VALUE="LAST_VALUE"
LATERAL="LATERAL"
LEAD="LEAD"
LEADING="LEADING"
LEAVE="LEAVE"
LEAVES="LEAVES"
LEFT="LEFT"
LESS="LESS"
LEVEL="LEVEL"
LIKE="LIKE"
LIMIT="LIMIT"
LINEAR="LINEAR"
LINES="LINES"
LINESTRING="LINESTRING"
LIST="LIST"
LOAD="LOAD"
LOCAL="LOCAL"
LOCALTIME="LOCALTIME"
LOCALTIMESTAMP="LOCALTIMESTAMP"
LOCK="LOCK"
LOCKED="LOCKED"
LOCKS="LOCKS"
LOGFILE="LOGFILE"
LOGS="LOGS"
LONG="LONG"
LONGBLOB="LONGBLOB"
LONGTEXT="LONGTEXT"
LOOP="LOOP"
LOW_PRIORITY="LOW_PRIORITY"
MASTER="MASTER"
MASTER_AUTO_POSITION="MASTER_AUTO_POSITION"
MASTER_BIND="MASTER_BIND"
MASTER_CONNECT_RETRY="MASTER_CONNECT_RETRY"
MASTER_DELAY="MASTER_DELAY"
MASTER_HEARTBEAT_PERIOD="MASTER_HEARTBEAT_PERIOD"
MASTER_HOST="MASTER_HOST"
MASTER_LOG_FILE="MASTER_LOG_FILE"
MASTER_LOG_POS="MASTER_LOG_POS"
MASTER_PASSWORD="MASTER_PASSWORD"
MASTER_PORT="MASTER_PORT"
MASTER_PUBLIC_KEY_PATH="MASTER_PUBLIC_KEY_PATH"
MASTER_RETRY_COUNT="MASTER_RETRY_COUNT"
MASTER_SERVER_ID="MASTER_SERVER_ID"
MASTER_SSL="MASTER_SSL"
MASTER_SSL_CA="MASTER_SSL_CA"
MASTER_SSL_CAPATH="MASTER_SSL_CAPATH"
MASTER_SSL_CERT="MASTER_SSL_CERT"
MASTER_SSL_CIPHER="MASTER_SSL_CIPHER"
MASTER_SSL_CRL="MASTER_SSL_CRL"
MASTER_SSL_CRLPATH="MASTER_SSL_CRLPATH"
MASTER_SSL_KEY="MASTER_SSL_KEY"
MASTER_SSL_VERIFY_SERVER_CERT="MASTER_SSL_VERIFY_SERVER_CERT"
MASTER_TLS_VERSION="MASTER_TLS_VERSION"
MASTER_USER="MASTER_USER"
MATCH="MATCH"
MAXVALUE="MAXVALUE"
MAX_CONNECTIONS_PER_HOUR="MAX_CONNECTIONS_PER_HOUR"
MAX_QUERIES_PER_HOUR="MAX_QUERIES_PER_HOUR"
MAX_ROWS="MAX_ROWS"
MAX_SIZE="MAX_SIZE"
MAX_UPDATES_PER_HOUR="MAX_UPDATES_PER_HOUR"
MAX_USER_CONNECTIONS="MAX_USER_CONNECTIONS"
MEDIUM="MEDIUM"
MEDIUMBLOB="MEDIUMBLOB"
MEDIUMINT="MEDIUMINT"
MEDIUMTEXT="MEDIUMTEXT"
MEMORY="MEMORY"
MERGE="MERGE"
MESSAGE_TEXT="MESSAGE_TEXT"
MICROSECOND="MICROSECOND"
MIDDLEINT="MIDDLEINT"
MIGRATE="MIGRATE"
MINUTE="MINUTE"
MINUTE_MICROSECOND="MINUTE_MICROSECOND"
MINUTE_SECOND="MINUTE_SECOND"
MIN_ROWS="MIN_ROWS"
MOD="MOD"
MODE="MODE"
MODIFIES="MODIFIES"
MODIFY="MODIFY"
MONTH="MONTH"
MULTILINESTRING="MULTILINESTRING"
MULTIPOINT="MULTIPOINT"
MULTIPOLYGON="MULTIPOLYGON"
MUTEX="MUTEX"
MYSQL_ERRNO="MYSQL_ERRNO"
NAME="NAME"
NAMES="NAMES"
NATIONAL="NATIONAL"
NATURAL="NATURAL"
NCHAR="NCHAR"
NDB="NDB"
NDBCLUSTER="NDBCLUSTER"
NESTED="NESTED"
NETWORK_NAMESPACE="NETWORK_NAMESPACE"
NEVER="NEVER"
NEW="NEW"
NEXT="NEXT"
NO="NO"
NODEGROUP="NODEGROUP"
NONE="NONE"
NOT="NOT"
NOWAIT="NOWAIT"
NO_WAIT="NO_WAIT"
NO_WRITE_TO_BINLOG="NO_WRITE_TO_BINLOG"
NTH_VALUE="NTH_VALUE"
NTILE="NTILE"
NULL="NULL"
NULLS="NULLS"
NUMBER="NUMBER"
NUMERIC="NUMERIC"
NVARCHAR="NVARCHAR"
OF="OF"
OFFSET="OFFSET"
OJ="OJ"
OLD="OLD"
ON="ON"
ONE="ONE"
ONLY="ONLY"
OPEN="OPEN"
OPTIMIZE="OPTIMIZE"
OPTIMIZER_COSTS="OPTIMIZER_COSTS"
OPTION="OPTION"
OPTIONAL="OPTIONAL"
OPTIONALLY="OPTIONALLY"
OPTIONS="OPTIONS"
OR="OR"
ORDER="ORDER"
ORDINALITY="ORDINALITY"
ORGANIZATION="ORGANIZATION"
OTHERS="OTHERS"
OUT="OUT"
OUTER="OUTER"
OUTFILE="OUTFILE"
OVER="OVER"
OWNER="OWNER"
PACK_KEYS="PACK_KEYS"
PAGE="PAGE"
PARSER="PARSER"
PARTIAL="PARTIAL"
PARTITION="PARTITION"
PARTITIONING="PARTITIONING"
PARTITIONS="PARTITIONS"
PASSWORD="PASSWORD"
PATH="PATH"
PERCENT_RANK="PERCENT_RANK"
PERSIST="PERSIST"
PERSIST_ONLY="PERSIST_ONLY"
PHASE="PHASE"
PLUGIN="PLUGIN"
PLUGINS="PLUGINS"
PLUGIN_DIR="PLUGIN_DIR"
POINT="POINT"
POLYGON="POLYGON"
PORT="PORT"
PRECEDES="PRECEDES"
PRECEDING="PRECEDING"
PRECISION="PRECISION"
PREPARE="PREPARE"
PRESERVE="PRESERVE"
PREV="PREV"
PRIMARY="PRIMARY"
PRIVILEGES="PRIVILEGES"
PROCEDURE="PROCEDURE"
PROCESS="PROCESS"
PROCESSLIST="PROCESSLIST"
PROFILE="PROFILE"
PROFILES="PROFILES"
PROXY="PROXY"
PURGE="PURGE"
QUARTER="QUARTER"
QUERY="QUERY"
QUICK="QUICK"
RANGE="RANGE"
RANK="RANK"
READ="READ"
READS="READS"
READ_ONLY="READ_ONLY"
READ_WRITE="READ_WRITE"
REAL="REAL"
REBUILD="REBUILD"
RECOVER="RECOVER"
RECURSIVE="RECURSIVE"
REDO_BUFFER_SIZE="REDO_BUFFER_SIZE"
REDUNDANT="REDUNDANT"
REFERENCE="REFERENCE"
REFERENCES="REFERENCES"
REGEXP="REGEXP"
RELAY="RELAY"
RELAYLOG="RELAYLOG"
RELAY_LOG_FILE="RELAY_LOG_FILE"
RELAY_LOG_POS="RELAY_LOG_POS"
RELAY_THREAD="RELAY_THREAD"
RELEASE="RELEASE"
RELOAD="RELOAD"
REMOVE="REMOVE"
RENAME="RENAME"
REORGANIZE="REORGANIZE"
REPAIR="REPAIR"
REPEAT="REPEAT"
REPEATABLE="REPEATABLE"
REPLACE="REPLACE"
REPLICATE_DO_DB="REPLICATE_DO_DB"
REPLICATE_DO_TABLE="REPLICATE_DO_TABLE"
REPLICATE_IGNORE_DB="REPLICATE_IGNORE_DB"
REPLICATE_IGNORE_TABLE="REPLICATE_IGNORE_TABLE"
REPLICATE_REWRITE_DB="REPLICATE_REWRITE_DB"
REPLICATE_WILD_DO_TABLE="REPLICATE_WILD_DO_TABLE"
REPLICATE_WILD_IGNORE_TABLE="REPLICATE_WILD_IGNORE_TABLE"
REPLICATION="REPLICATION"
REQUIRE="REQUIRE"
RESET="RESET"
RESIGNAL="RESIGNAL"
RESOURCE="RESOURCE"
RESPECT="RESPECT"
RESTART="RESTART"
RESTORE="RESTORE"
RESTRICT="RESTRICT"
RESUME="RESUME"
RETAIN="RETAIN"
RETURN="RETURN"
RETURNED_SQLSTATE="RETURNED_SQLSTATE"
RETURNS="RETURNS"
REUSE="REUSE"
REVERSE="REVERSE"
REVOKE="REVOKE"
RIGHT="RIGHT"
RLIKE="RLIKE"
ROLE="ROLE"
ROLLBACK="ROLLBACK"
ROLLUP="ROLLUP"
ROTATE="ROTATE"
ROUTINE="ROUTINE"
ROW="ROW"
ROWS="ROWS"
ROW_COUNT="ROW_COUNT"
ROW_FORMAT="ROW_FORMAT"
ROW_NUMBER="ROW_NUMBER"
RTREE="RTREE"
SAVEPOINT="SAVEPOINT"
SCHEDULE="SCHEDULE"
SCHEMA="SCHEMA"
SCHEMAS="SCHEMAS"
SCHEMA_NAME="SCHEMA_NAME"
SECOND="SECOND"
SECONDARY="SECONDARY"
SECONDARY_ENGINE="SECONDARY_ENGINE"
SECONDARY_LOAD="SECONDARY_LOAD"
SECONDARY_UNLOAD="SECONDARY_UNLOAD"
SECOND_MICROSECOND="SECOND_MICROSECOND"
SECURITY="SECURITY"
SELECT="SELECT"
SENSITIVE="SENSITIVE"
SEPARATOR="SEPARATOR"
SERIAL="SERIAL"
SERIALIZABLE="SERIALIZABLE"
SERVER="SERVER"
SESSION="SESSION"
SET="SET"
SHARE="SHARE"
SHOW="SHOW"
SHUTDOWN="SHUTDOWN"
SIGNAL="SIGNAL"
SIGNED="SIGNED"
SIMPLE="SIMPLE"
SKIP="SKIP"
SLAVE="SLAVE"
SLOW="SLOW"
SMALLINT="SMALLINT"
SNAPSHOT="SNAPSHOT"
SOCKET="SOCKET"
SOME="SOME"
SONAME="SONAME"
SOUNDS="SOUNDS"
SOURCE="SOURCE"
SPATIAL="SPATIAL"
SPECIFIC="SPECIFIC"
SQL="SQL"
SQLEXCEPTION="SQLEXCEPTION"
SQLSTATE="SQLSTATE"
SQLWARNING="SQLWARNING"
SQL_AFTER_GTIDS="SQL_AFTER_GTIDS"
SQL_AFTER_MTS_GAPS="SQL_AFTER_MTS_GAPS"
SQL_BEFORE_GTIDS="SQL_BEFORE_GTIDS"
SQL_BIG_RESULT="SQL_BIG_RESULT"
SQL_BUFFER_RESULT="SQL_BUFFER_RESULT"
SQL_CALC_FOUND_ROWS="SQL_CALC_FOUND_ROWS"
SQL_NO_CACHE="SQL_NO_CACHE"
SQL_SMALL_RESULT="SQL_SMALL_RESULT"
SQL_THREAD="SQL_THREAD"
SQL_TSI_DAY="SQL_TSI_DAY"
SQL_TSI_HOUR="SQL_TSI_HOUR"
SQL_TSI_MINUTE="SQL_TSI_MINUTE"
SQL_TSI_MONTH="SQL_TSI_MONTH"
SQL_TSI_QUARTER="SQL_TSI_QUARTER"
SQL_TSI_SECOND="SQL_TSI_SECOND"
SQL_TSI_WEEK="SQL_TSI_WEEK"
SQL_TSI_YEAR="SQL_TSI_YEAR"
SRID="SRID"
SSL="SSL"
STACKED="STACKED"
START="START"
STARTING="STARTING"
STARTS="STARTS"
STATS_AUTO_RECALC="STATS_AUTO_RECALC"
STATS_PERSISTENT="STATS_PERSISTENT"
STATS_SAMPLE_PAGES="STATS_SAMPLE_PAGES"
STATUS="STATUS"
STOP="STOP"
STORAGE="STORAGE"
STORED="STORED"
STRAIGHT_JOIN="STRAIGHT_JOIN"
STRING="STRING"
SUBCLASS_ORIGIN="SUBCLASS_ORIGIN"
SUBJECT="SUBJECT"
SUBPARTITION="SUBPARTITION"
SUBPARTITIONS="SUBPARTITIONS"
SUPER="SUPER"
SUSPEND="SUSPEND"
SWAPS="SWAPS"
SWITCHES="SWITCHES"
SYSTEM="SYSTEM"
TABLE="TABLE"
TABLES="TABLES"
TABLESPACE="TABLESPACE"
TABLE_CHECKSUM="TABLE_CHECKSUM"
TABLE_NAME="TABLE_NAME"
TEMPORARY="TEMPORARY"
TEMPTABLE="TEMPTABLE"
TERMINATED="TERMINATED"
TEXT="TEXT"
THAN="THAN"
THEN="THEN"
THREAD_PRIORITY="THREAD_PRIORITY"
TIES="TIES"
TIME="TIME"
TIMESTAMP="TIMESTAMP"
TIMESTAMPADD="TIMESTAMPADD"
TIMESTAMPDIFF="TIMESTAMPDIFF"
TINYBLOB="TINYBLOB"
TINYINT="TINYINT"
TINYTEXT="TINYTEXT"
TO="TO"
TRAILING="TRAILING"
TRANSACTION="TRANSACTION"
TRIGGER="TRIGGER"
TRIGGERS="TRIGGERS"
TRUE="TRUE"
TRUNCATE="TRUNCATE"
TYPE="TYPE"
TYPES="TYPES"
UNBOUNDED="UNBOUNDED"
UNCOMMITTED="UNCOMMITTED"
UNDEFINED="UNDEFINED"
UNDO="UNDO"
UNDOFILE="UNDOFILE"
UNDO_BUFFER_SIZE="UNDO_BUFFER_SIZE"
UNICODE="UNICODE"
UNINSTALL="UNINSTALL"
UNION="UNION"
UNIQUE="UNIQUE"
UNKNOWN="UNKNOWN"
UNLOCK="UNLOCK"
UNSIGNED="UNSIGNED"
UNTIL="UNTIL"
UPDATE="UPDATE"
UPGRADE="UPGRADE"
USAGE="USAGE"
USE="USE"
USER="USER"
USER_RESOURCES="USER_RESOURCES"
USE_FRM="USE_FRM"
USING="USING"
UTC_DATE="UTC_DATE"
UTC_TIME="UTC_TIME"
UTC_TIMESTAMP="UTC_TIMESTAMP"
VALIDATION="VALIDATION"
VALUE="VALUE"
VALUES="VALUES"
VARBINARY="VARBINARY"
VARCHAR="VARCHAR"
VARCHARACTER="VARCHARACTER"
VARIABLES="VARIABLES"
VARYING="VARYING"
VCPU="VCPU"
VIEW="VIEW"
VIRTUAL="VIRTUAL"
VISIBLE="VISIBLE"
WAIT="WAIT"
WARNINGS="WARNINGS"
WEEK="WEEK"
WEIGHT_STRING="WEIGHT_STRING"
WHEN="WHEN"
WHERE="WHERE"
WHILE="WHILE"
WINDOW="WINDOW"
WITH="WITH"
WITHOUT="WITHOUT"
WORK="WORK"
WRAPPER="WRAPPER"
WRITE="WRITE"
X509="X509"
XA="XA"
XID="XID"
XML="XML"
XOR="XOR"
YEAR="YEAR"
YEAR_MONTH="YEAR_MONTH"
ZEROFILL="ZEROFILL"

98
dictionaries/jbig2.dict Normal file
View File

@ -0,0 +1,98 @@
# AFL dictionary for jbig2 images
# by Sebastian Rasmussen <sebras@gmail.com>
id_string="\x97\x4a\x42\x32\x0d\x0a\x1a\x0a"
# segments
noretain_allpages_symbol_dictionary="\x00"
noretain_allpages_intermediate_text_region="\x04"
noretain_allpages_immediate_text_region="\x06"
noretain_allpages_immediate_lossless_text_region="\x07"
noretain_allpages_pattern_dictionary="\x10"
noretain_allpages_intermediate_halftone_region="\x14"
noretain_allpages_immediate_halftone_region="\x16"
noretain_allpages_immediate_lossless_halftone_region="\x17"
noretain_allpages_intermediate_generic_region="\x24"
noretain_allpages_immediate_generic_region="\x26"
noretain_allpages_immediate_lossless_generic_region="\x27"
noretain_allpages_intermediate_generic_refinement_region="\x28"
noretain_allpages_immediate_generic_refinement_region="\x2a"
noretain_allpages_immediate_lossless_generic_refinement_region="\x2b"
noretain_allpages_page_information="\x30"
noretain_allpages_end_of_page="\x31"
noretain_allpages_end_of_stripe="\x32"
noretain_allpages_end_of_file="\x33"
noretain_allpages_profiles="\x34"
noretain_allpages_tables="\x35"
noretain_allpages_color_palette="\x36"
noretain_allpages_extension="\x3e"
noretain_specificpage_symbol_dictionary="\x40"
noretain_specificpage_intermediate_text_region="\x44"
noretain_specificpage_immediate_text_region="\x46"
noretain_specificpage_immediate_lossless_text_region="\x47"
noretain_specificpage_pattern_dictionary="\x50"
noretain_specificpage_intermediate_halftone_region="\x54"
noretain_specificpage_immediate_halftone_region="\x56"
noretain_specificpage_immediate_lossless_halftone_region="\x57"
noretain_specificpage_intermediate_generic_region="\x64"
noretain_specificpage_immediate_generic_region="\x66"
noretain_specificpage_immediate_lossless_generic_region="\x67"
noretain_specificpage_intermediate_generic_refinement_region="\x68"
noretain_specificpage_immediate_generic_refinement_region="\x6a"
noretain_specificpage_immediate_lossless_generic_refinement_regio6="\x6b"
noretain_specificpage_page_information="\x70"
noretain_specificpage_end_of_page="\x71"
noretain_specificpage_end_of_stripe="\x72"
noretain_specificpage_end_of_file="\x73"
noretain_specificpage_profiles="\x74"
noretain_specificpage_tables="\x75"
noretain_specificpage_color_palette="\x76"
noretain_specificpage_extension="\x7e"
retain_allpages_symbol_dictionary="\x80"
retain_allpages_intermediate_text_region="\x84"
retain_allpages_immediate_text_region="\x86"
retain_allpages_immediate_lossless_text_region="\x87"
retain_allpages_pattern_dictionary="\x90"
retain_allpages_intermediate_halftone_region="\x94"
retain_allpages_immediate_halftone_region="\x96"
retain_allpages_immediate_lossless_halftone_region="\x97"
retain_allpages_intermediate_generic_region="\xa4"
retain_allpages_immediate_generic_region="\xa6"
retain_allpages_immediate_lossless_generic_region="\xa7"
retain_allpages_intermediate_generic_refinement_region="\xa8"
retain_allpages_immediate_generic_refinement_region="\xaa"
retain_allpages_immediate_lossless_generic_refinement_regio6="\xab"
retain_allpages_page_information="\xb0"
retain_allpages_end_of_page="\xb1"
retain_allpages_end_of_stripe="\xb2"
retain_allpages_end_of_file="\xb3"
retain_allpages_profiles="\xb4"
retain_allpages_tables="\xb5"
retain_allpages_color_palette="\xb6"
retain_allpages_extension="\xbe"
retain_specificpage_symbol_dictionary="\xc0"
retain_specificpage_intermediate_text_region="\xc4"
retain_specificpage_immediate_text_region="\xc6"
retain_specificpage_immediate_lossless_text_region="\xc7"
retain_specificpage_pattern_dictionary="\xd0"
retain_specificpage_intermediate_halftone_region="\xd4"
retain_specificpage_immediate_halftone_region="\xd6"
retain_specificpage_immediate_lossless_halftone_region="\xd7"
retain_specificpage_intermediate_generic_region="\xe4"
retain_specificpage_immediate_generic_region="\xe6"
retain_specificpage_immediate_lossless_generic_region="\xe7"
retain_specificpage_intermediate_generic_refinement_region="\xe8"
retain_specificpage_immediate_generic_refinement_region="\xea"
retain_specificpage_immediate_lossless_generic_refinement_regio6="\xeb"
retain_specificpage_page_information="\xf0"
retain_specificpage_end_of_page="\xf1"
retain_specificpage_end_of_stripe="\xf2"
retain_specificpage_end_of_file="\xf3"
retain_specificpage_profiles="\xf4"
retain_specificpage_tables="\xf5"
retain_specificpage_color_palette="\xf6"
retain_specificpage_extension="\xfe"

View File

@ -0,0 +1,22 @@
type="jP "
ftyp="ftyp"
subtype1="jp2 "
subtype2="jp20"
subtype3="jpm "
subtype4="jpx "
subtype5="jp2h"
subtype6="jpxb"
subtype7="mjp2"
subtype8="mj2s"
subtype9="jp2c"
subtype10="jpch"
subtype11="jplh"
codestream="\xFF\x4F\xFF\x51"
signature="\x0d\x0a\x87\x0a"
tag1="hdr"
tag2="colr"
tag3="url"
tag4="req"
tag5="res"
tag6="page"
tag7="obj"

View File

@ -50,3 +50,12 @@
"\"\":0"
"//"
"/**/"
"$ref"
"type"
"coordinates"
"@context"
"@id"
","
":"

60
dictionaries/jsonnet.dict Normal file
View File

@ -0,0 +1,60 @@
# https://jsonnet.org/ref/spec.html
# Keywords
"assert"
"else"
"error"
"false"
"for"
"function"
"if"
"import"
"importstr"
"in"
"local"
"null"
"self"
"super"
"tailstrict"
"then"
"true"
"super"
"local"
# operators
"|||"
"@\""
"@'"
"!="
"=="
"[::]"
"+:::"
# functions
"std.acos("
"std.asin("
"std.atan("
"std.ceil("
"std.char("
"std.codepoint("
"std.cos("
"std.equals("
"std.exp("
"std.exponent("
"std.floor("
"std.join("
"std.length("
"std.log("
"std.makeArray("
"std.mantissa("
"std.mod"
"std.modulo("
"std.objectFiledsEx("
"std.objectsHasEx("
"std.pow("
"std.primitiveEquals("
"std.sin("
"std.slice("
"std.sqrt("
"std.tan("
"std.type("

View File

@ -0,0 +1,28 @@
strike="~~"
list="2."
link="[a]("
link_without_ref="[a]["
image="![b]("
bold="**"
separator="---"
title="# "
fence="```"
link_bottom="[a]:"
link_inline="<http://"
link_bottom_title="[1]: http://a.com"
checklist="- [x"
toc="[TOC]"
highlight_rst=":::python"
# GFM - https://github.github.com/gfm/
"| ---"
leaf1="***"
leaf2="___"
code_hl="```html"
task="- [ ]"
# Extended syntax: https://www.markdownguide.org/extended-syntax/
footnote="[^a]"
title_id="#a {#b}"

20
dictionaries/math.dict Normal file
View File

@ -0,0 +1,20 @@
"{"
"}"
","
"["
"]"
","
":"
"e"
"e+"
"e-"
"E"
"E+"
"E-"
"\""
"\\"
" "
"null"
"1"
"1.234"
"3e4"

279
dictionaries/mathml.dict Normal file
View File

@ -0,0 +1,279 @@
#https://developer.mozilla.org/en-US/docs/Web/MathML/Element
# https://www.w3.org/TR/MathML3/chapter4.html
header="<math xmlns='http://www.w3.org/1998/Math/MathML'>"
# presentation mathml
"<annotation-xml>"
"<annotation>"
"<apply>"
"<maction>"
"<maligngroup>"
"<malignmark>"
"<math>"
"<menclose>"
"<merror>"
"<mfenced> "
"<mfrac>"
"<mglyph>"
"<mi>"
"<mlabeledtr>"
"<mlongdiv>"
"<mmultiscripts>"
"<mn>"
"<mo>"
"<mover>"
"<mpadded>"
"<mphantom>"
"<mprescripts>"
"<mroot>"
"<mrow>"
"<ms>"
"<mscarries>"
"<mscarry>"
"<msgroup>"
"<msline>"
"<mspace>"
"<msqrt>"
"<msrow>"
"<mstack>"
"<mstyle>"
"<msub>"
"<msubsup>"
"<msup>"
"<mtable>"
"<mtd>"
"<mtext>"
"<mtr>"
"<munder>"
"<munderover>"
"<none>"
"<semantics>"
# attributes
"accent"
"accentunder"
"actiontype"
"align"
"alignmentscope"
"altimg"
"altimg-height"
"alttext"
"bevelled"
"charalign"
"close"
"columnalign"
"columnlines"
"columnspacing"
"columnspan"
"columnwidth"
"crossout"
"decimalpoint"
"denomalign"
"depth"
"dir"
"display"
"displaystyle"
"edge"
"equalcolumns"
"equalrows"
"fence"
"form"
"frame"
"framespacing"
"groupalign"
"height"
"href"
"id"
"indentalign"
"indentalignfirst"
"indentalignlast"
"indentshift"
"indentshiftfirst"
"indentshiftlast"
"indenttarget"
"infixlinebreakstyle"
"largeop"
"length"
"linebreak"
"linebreakmultchar"
"linebreakstyle"
"lineleading"
"linethickness"
"location"
"longdivstyle"
"lquote"
"lspace"
"mathbackground"
"mathcolor"
"mathsize"
"mathvariant"
"maxsize"
"minlabelspacing"
"minsize"
"movablelimits"
"notation"
"numalign"
"open"
"overflow"
"position"
"rowalign"
"rowlines"
"rowspacing"
"rowspan"
"rquote"
"rspace"
"scriptlevel"
"scriptminsize"
"scriptsizemultiplier"
"selection"
"separator"
"separators"
"shift"
"side"
"src"
"stackalign"
"stretchy"
"subscriptshift"
"supscriptshift"
"symmetric"
"voffset"
"width"
"xlink:href"
"xmlns"
# content mathml
"<interval>"
"<inverse>"
"<lambda>"
"<compose/>"
"<ident/>"
"<domain/>"
"<codomain/>"
"<image/>"
"<piecewise>"
"<piece>"
"<otherwise>"
"<quotient/>"
"<factorial/>"
"<divide/>"
"<max/>"
"<min/>"
"<minus/>"
"<plus/>"
"<power/>"
"<rem/>"
"<times/>"
"<root/>"
"<gcd/>"
"<and/>"
"<or/>"
"<xor/>"
"<not/>"
"<implies/>"
"<forall/>"
"<exists/>"
"<abs/>"
"<conjugate/>"
"<arg/>"
"<real/>"
"<imaginary/>"
"<lcm/>"
"<floor/>"
"<ceiling/>"
"Relations"
"<eq/>"
"<neq/>"
"<gt/>"
"<lt/>"
"<geq/>"
"<leq/>"
"<equivalent/>"
"<approx/>"
"<factorof/>"
"<int/>"
"<diff/>"
"<partialdiff/>"
"<divergence/>"
"<grad/>"
"<curl/>"
"<laplacian/>"
"<set>"
"<list>"
"<union/>"
"<intersect/>"
"<in/>"
"<notin/>"
"<subset/>"
"<prsubset/>"
"<notsubset/>"
"<notprsubset/>"
"<setdiff/>"
"<card/>"
"<cartesianproduct/>"
"<sum/>"
"<product/>"
"<limit/>"
"<tendsto/>"
"<sin/>"
"<cos/>"
"<tan/>"
"<sec/>"
"<csc/>"
"<cot/>"
"<arcsin/>"
"<arccos/>"
"<arctan/>"
"<arcsec/>"
"<arccsc/>"
"<arccot/>"
"<sinh/>"
"<cosh/>"
"<tanh/>"
"<sech/>"
"<csch/>"
"<coth/>"
"<arcsinh/>"
"<arccosh/>"
"<arctanh/>"
"<arcsech/>"
"<arccsch/>"
"<arccoth/>"
"<exp/>"
"<ln/>"
"<log/>"
"<logbase>"
"<mean/>"
"<sdev/>"
"<variance/>"
"<median/>"
"<mode/>"
"<moment/>"
"<momentabout>"
"<vector>"
"<matrix>"
"<matrixrow>"
"<determinant/>"
"<transpose/>"
"<selector/>"
"<vectorproduct/>"
"<scalarproduct/>"
"<outerproduct/>"
"<integers/>"
"<reals/>"
"<rationals/>"
"<naturalnumbers/>"
"<complexes/>"
"<primes/>"
"<exponentiale/>"
"<imaginaryi/>"
"<notanumber/>"
"<true/>"
"<false/>"
"<emptyset/>"
"<pi/>"
"<eulergamma/>"
"<infinity/>"
"<declare>"
"<reln>"
"<fn>"

82
dictionaries/mp4.dict Normal file
View File

@ -0,0 +1,82 @@
# Taken from https://chromium.googlesource.com/chromium/src/+/master/media/test/mp4.dict
FOURCC_NULL="\x00\x00\x00\x00"
FOURCC_AC3 ="\x61\x63\x2d\x33"
FOURCC_EAC3="\x65\x63\x2d\x33"
FOURCC_AVC1="\x61\x76\x63\x31"
FOURCC_AVC3="\x61\x76\x63\x33"
FOURCC_AVCC="\x61\x76\x63\x43"
FOURCC_BLOC="\x62\x6C\x6F\x63"
FOURCC_CENC="\x63\x65\x6e\x63"
FOURCC_CO64="\x63\x6f\x36\x34"
FOURCC_CTTS="\x63\x74\x74\x73"
FOURCC_DINF="\x64\x69\x6e\x66"
FOURCC_EDTS="\x65\x64\x74\x73"
FOURCC_EMSG="\x65\x6d\x73\x67"
FOURCC_ELST="\x65\x6c\x73\x74"
FOURCC_ENCA="\x65\x6e\x63\x61"
FOURCC_ENCV="\x65\x6e\x63\x76"
FOURCC_ESDS="\x65\x73\x64\x73"
FOURCC_FREE="\x66\x72\x65\x65"
FOURCC_FRMA="\x66\x72\x6d\x61"
FOURCC_FTYP="\x66\x74\x79\x70"
FOURCC_HDLR="\x68\x64\x6c\x72"
FOURCC_HINT="\x68\x69\x6e\x74"
FOURCC_HVC1="\x68\x76\x63\x31"
FOURCC_HVCC="\x68\x76\x63\x43"
FOURCC_IODS="\x69\x6f\x64\x73"
FOURCC_MDAT="\x6d\x64\x61\x74"
FOURCC_MDHD="\x6d\x64\x68\x64"
FOURCC_MDIA="\x6d\x64\x69\x61"
FOURCC_MECO="\x6d\x65\x63\x6f"
FOURCC_MEHD="\x6d\x65\x68\x64"
FOURCC_META="\x6d\x65\x74\x61"
FOURCC_MFHD="\x6d\x66\x68\x64"
FOURCC_MFRA="\x6d\x66\x72\x61"
FOURCC_MINF="\x6d\x69\x6e\x66"
FOURCC_MOOF="\x6d\x6f\x6f\x66"
FOURCC_MOOV="\x6d\x6f\x6f\x76"
FOURCC_MP4A="\x6d\x70\x34\x61"
FOURCC_MP4V="\x6d\x70\x34\x76"
FOURCC_MVEX="\x6d\x76\x65\x78"
FOURCC_MVHD="\x6d\x76\x68\x64"
FOURCC_PASP="\x70\x61\x73\x70"
FOURCC_PDIN="\x70\x64\x69\x6e"
FOURCC_PRFT="\x70\x72\x66\x74"
FOURCC_PSSH="\x70\x73\x73\x68"
FOURCC_SAIO="\x73\x61\x69\x6f"
FOURCC_SAIZ="\x73\x61\x69\x7a"
FOURCC_SBGP="\x73\x62\x67\x70"
FOURCC_SCHI="\x73\x63\x68\x69"
FOURCC_SCHM="\x73\x63\x68\x6d"
FOURCC_SDTP="\x73\x64\x74\x70"
FOURCC_SEIG="\x73\x65\x69\x67"
FOURCC_SENC="\x73\x65\x6e\x63"
FOURCC_SGPD="\x73\x67\x70\x64"
FOURCC_SIDX="\x73\x69\x64\x78"
FOURCC_SINF="\x73\x69\x6e\x66"
FOURCC_SKIP="\x73\x6b\x69\x70"
FOURCC_SMHD="\x73\x6d\x68\x64"
FOURCC_SOUN="\x73\x6f\x75\x6e"
FOURCC_SSIX="\x73\x73\x69\x78"
FOURCC_STBL="\x73\x74\x62\x6c"
FOURCC_STCO="\x73\x74\x63\x6f"
FOURCC_STSC="\x73\x74\x73\x63"
FOURCC_STSD="\x73\x74\x73\x64"
FOURCC_STSS="\x73\x74\x73\x73"
FOURCC_STSZ="\x73\x74\x73\x7a"
FOURCC_STTS="\x73\x74\x74\x73"
FOURCC_STYP="\x73\x74\x79\x70"
FOURCC_TENC="\x74\x65\x6e\x63"
FOURCC_TFDT="\x74\x66\x64\x74"
FOURCC_TFHD="\x74\x66\x68\x64"
FOURCC_TKHD="\x74\x6b\x68\x64"
FOURCC_TRAF="\x74\x72\x61\x66"
FOURCC_TRAK="\x74\x72\x61\x6b"
FOURCC_TREX="\x74\x72\x65\x78"
FOURCC_TRUN="\x74\x72\x75\x6e"
FOURCC_UDTA="\x75\x64\x74\x61"
FOURCC_UUID="\x75\x75\x69\x64"
FOURCC_VIDE="\x76\x69\x64\x65"
FOURCC_VMHD="\x76\x6d\x68\x64"
FOURCC_WIDE="\x77\x69\x64\x65"

1
dictionaries/mysqld.dict Normal file
View File

@ -0,0 +1 @@
user="root"

36
dictionaries/ogg.dict Normal file
View File

@ -0,0 +1,36 @@
# https://xiph.org/vorbis/doc/Vorbis_I_spec.html
header="OggS"
# Codecs
"BBCD\x00"
"\x7fFLAC"
"\x80theora"
"\x01vorbis"
"CELT "
"CMML\x00\x00\x00\x00"
"\x8bJNG\x0d\x0a\x1a\x0a"
"\x80kate\x00\x00\x00"
"OggMIDI\x00"
"\x8aMNG\x0d\x0a\x1a\x0a"
"PCM "
"\x89PNG\x0d\x0a\x1a\x0a"
"Speex "
"YUV4MPEG"
# Metadata
"TITLE="
"VERSION="
"ALBUM="
"TRACKNUMBER="
"ARTIST="
"PERFORMER="
"COPYRIGHT="
"LICENSE="
"ORGANIZATION="
"DESCRIPTION="
"GENRE="
"DATE="
"LOCATION="
"CONTACT="
"ISRC="

57
dictionaries/openexr.dict Normal file
View File

@ -0,0 +1,57 @@
# specs:
# - https://www.openexr.com/documentation/openexrfilelayout.pdf
# - https://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/OpenEXR.html
lay="_lay"
ver="_ver"
adoptNeutral="AdoptNeutral"
altitude="altitude"
aperture="aperture"
box2f="box2f"
box2i="box2i"
capdate="capDate"
channels="channels"
chlist="chlist"
chromaticities="chromaticities"
comments="comments"
compression="compression"
dataWindow="dataWindow"
displayWindow="displayWindow"
double="double"
envmap="envmap"
expTime="expTime"
focus="focus"
framesPerSecond="framesPerSecond"
float="float"
header="\x76\x2F\x31\x01"
int="int"
isoSpeed="isoSpeed"
keycode="keyCode"
latitude="latitude"
lineOrder="lineOrder"
longitude="longitude"
lookModTransform="lookModTransform"
m33f="m33f"
m44f="m44f"
owner="owner"
pixelAspectRatio="pixelAspectRatio"
preview="preview"
renderingTransform="renderingTransform"
rational="rational"
screenWindowCenter="screenWindowCenter"
screenWindowWidth="screenWindowWidth"
string="string"
stringvector="stringvector"
tiles="tiles"
tiledesc="tileDesc"
timecode="timeCode"
utcOffset="itcOffset"
whiteLuminance="whiteLuminance"
worldToCamera="worldToCamera"
worldToNDC="worldToNDC"
v2f="v2f"
v2i="v2i"
v3f="v3f"
v3i="v3i"
wrapmodes="wrapmodes"
xDensity="xDensity"

963
dictionaries/otf.dict Normal file
View File

@ -0,0 +1,963 @@
# https://docs.microsoft.com/en-us/typography/opentype/spec/
# magic
"ttcf"
# feature tags
"aalt"
"abvf"
"abvm"
"abvs"
"afrc"
"akhn"
"blwf"
"blwm"
"blws"
"calt"
"case"
"ccmp"
"cfar"
"cjct"
"clig"
"cpct"
"cpsp"
"cswh"
"curs"
"cv01"
"c2pc"
"c2sc"
"dist"
"dlig"
"dnom"
"dtls"
"expt"
"falt"
"fin2"
"fin3"
"fina"
"flac"
"frac"
"fwid"
"half"
"haln"
"halt"
"hist"
"hkna"
"hlig"
"hngl"
"hojo"
"hwid"
"init"
"isol"
"ital"
"jalt"
"jp78"
"jp83"
"jp90"
"jp04"
"kern"
"lfbd"
"liga"
"ljmo"
"lnum"
"locl"
"ltra"
"ltrm"
"mark"
"med2"
"medi"
"mgrk"
"mkmk"
"mset"
"nalt"
"nlck"
"nukt"
"numr"
"onum"
"opbd"
"ordn"
"ornm"
"palt"
"pcap"
"pkna"
"pnum"
"pref"
"pres"
"pstf"
"psts"
"pwid"
"qwid"
"rand"
"rclt"
"rlig"
"rkrf"
"rphf"
"rtbd"
"rtla"
"rtlm"
"ruby"
"rvrn"
"salt"
"sinf"
"size"
"smcp"
"smpl"
"ss01"
"ssty"
"stch"
"subs"
"sups"
"swsh"
"titl"
"tjmo"
"tnam"
"tnum"
"trad"
"twid"
"unic"
"valt"
"vatu"
"vert"
"vhal"
"vjmo"
"vkna"
"vkrn"
"vpal"
"vrt2"
"vrtr"
"zero"
# baseline tags
"hang"
"icfb"
"ictf"
"ideo"
"idtp"
"math"
"romn"
# axis tags
"ital"
"opsz"
"slnt"
"wdth"
"wght"
# tables
"BASE"
"CBDT"
"CBLC"
"CFF"
"CFF2"
"COLR"
"CPAL"
"DSIG"
"EBDT"
"EBLC"
"EBSC"
"GDEF"
"GPOS"
"GSUB"
"HVAR"
"JSTF"
"LTSH"
"MATH"
"MERG"
"MVAR"
"OTTO"
"PCLT"
"STAT"
"SVG"
"VDMX"
"VORG"
"VVAR"
"avar"
"cmap"
"cmat"
"cvar"
"cvt"
"fpgm"
"fvar"
"gasp"
"glyf"
"gvar"
"hdmx"
"head"
"hhea"
"hmtx"
"kern"
"loca"
"maxp"
"meta"
"name"
"post"
"prep"
"sbix"
"vhea"
"vmtx"
# script tags
"adlm"
"ahom"
"hluw"
"arab"
"armn"
"avst"
"bali"
"bamu"
"bass"
"batk"
"beng"
"bng2"
"bhks"
"bopo"
"brah"
"brai"
"bugi"
"buhd"
"byzm"
"cans"
"cari"
"aghb"
"cakm"
"cham"
"cher"
"hani"
"copt"
"cprt"
"cyrl"
"dsrt"
"deva"
"dev2"
"dogr"
"dupl"
"egyp"
"elba"
"ethi"
"geor"
"glag"
"goth"
"gran"
"grek"
"gujr"
"gjr2"
"gong"
"guru"
"gur2"
"hang"
"jamo"
"rohg"
"hano"
"hatr"
"hebr"
"kana"
"armi"
"phli"
"prti"
"java"
"kthi"
"knda"
"knd2"
"kana"
"kali"
"khar"
"khmr"
"khoj"
"sind"
"lao "
"latn"
"lepc"
"limb"
"lina"
"linb"
"lisu"
"lyci"
"lydi"
"mahj"
"maka"
"mlym"
"mlm2"
"mand"
"mani"
"marc"
"gonm"
"math"
"medf"
"mtei"
"mend"
"merc"
"mero"
"plrd"
"modi"
"mong"
"mroo"
"mult"
"musc"
"mymr"
"mym2"
"nbat"
"newa"
"talu"
"nko "
"nshu"
"orya"
"ory2"
"ogam"
"olck"
"ital"
"hung"
"narb"
"perm"
"xpeo"
"sogo"
"sarb"
"orkh"
"osge"
"osma"
"hmng"
"palm"
"pauc"
"phag"
"phnx"
"phlp"
"rjng"
"runr"
"samr"
"saur"
"shrd"
"shaw"
"sidd"
"sgnw"
"sinh"
"sogd"
"sora"
"soyo"
"xsux"
"sund"
"sylo"
"syrc"
"tglg"
"tagb"
"tale"
"lana"
"tavt"
"takr"
"taml"
"tml2"
"tang"
"telu"
"tel2"
"thaa"
"thai"
"tibt"
"tfng"
"tirh"
"ugar"
"vai "
"wara"
"yi "
"zanb"
# language tags
"ABA "
"ABK "
"ACH "
"ACR "
"ADY "
"AFK "
"AFR "
"AGW "
"AIO "
"AKA "
"ALS "
"ALT "
"AMH "
"ANG "
"APPH"
"ARA "
"ARG "
"ARI "
"ARK "
"ASM "
"AST "
"ATH "
"AVR "
"AWA "
"AYM "
"AZB "
"AZE "
"BAD "
"BAD0"
"BAG "
"BAL "
"BAN "
"BAR "
"BAU "
"BBC "
"BBR "
"BCH "
"BCR "
"BDY "
"BEL "
"BEM "
"BEN "
"BGC "
"BGQ "
"BGR "
"BHI "
"BHO "
"BIK "
"BIL "
"BIS "
"BJJ "
"BKF "
"BLI "
"BLK "
"BLN "
"BLT "
"BMB "
"BML "
"BOS "
"BPY "
"BRE "
"BRH "
"BRI "
"BRM "
"BRX "
"BSH "
"BSK "
"BTI "
"BTS "
"BUG "
"BYV "
"CAK "
"CAT "
"CBK "
"CCHN"
"CEB "
"CHE "
"CHG "
"CHH "
"CHI "
"CHK "
"CHK0"
"CHO "
"CHP "
"CHR "
"CHA "
"CHU "
"CHY "
"CGG "
"CJA "
"CJM "
"CMR "
"COP "
"COR "
"COS "
"CPP "
"CRE "
"CRR "
"CRT "
"CSB "
"CSL "
"CSY "
"CTG "
"CUK "
"DAN "
"DAR "
"DAX "
"DCR "
"DEU "
"DGO "
"DGR "
"DHG "
"DHV "
"DIQ "
"DIV "
"DJR "
"DJR0"
"DNG "
"DNJ "
"DNK "
"DRI "
"DUJ "
"DUN "
"DZN "
"EBI "
"ECR "
"EDO "
"EFI "
"ELL "
"EMK "
"ENG "
"ERZ "
"ESP "
"ESU "
"ETI "
"EUQ "
"EVK "
"EVN "
"EWE "
"FAN "
"FAN0"
"FAR "
"FAT "
"FIN "
"FJI "
"FLE "
"FMP "
"FNE "
"FON "
"FOS "
"FRA "
"FRC "
"FRI "
"FRL "
"FRP "
"FTA "
"FUL "
"FUV "
"GAD "
"GAE "
"GAG "
"GAL "
"GAR "
"GAW "
"GEZ "
"GIH "
"GIL "
"GIL0"
"GKP "
"GLK "
"GMZ "
"GNN "
"GOG "
"GON "
"GRN "
"GRO "
"GUA "
"GUC "
"GUF "
"GUJ "
"GUZ "
"HAI "
"HAL "
"HAR "
"HAU "
"HAW "
"HAY "
"HAZ "
"HBN "
"HER "
"HIL "
"HIN "
"HMA "
"HMN "
"HMO "
"HND "
"HO "
"HRI "
"HRV "
"HUN "
"HYE "
"HYE0"
"IBA "
"IBB "
"IBO "
"IJO "
"IDO "
"ILE "
"ILO "
"INA "
"IND "
"ING "
"INU "
"IPK "
"IPPH"
"IRT "
"ISL "
"ISM "
"ITA "
"IWR "
"JAM "
"JAN "
"JAV "
"JBO "
"JCT "
"JII "
"JUD "
"JUL "
"KAB "
"KAB0"
"KAC "
"KAL "
"KAN "
"KAR "
"KAT "
"KAZ "
"KDE "
"KEA "
"KEB "
"KEK "
"KGE "
"KHA "
"KHK "
"KHM "
"KHS "
"KHT "
"KHV "
"KHW "
"KIK "
"KIR "
"KIS "
"KIU "
"KJD "
"KJP "
"KJZ "
"KKN "
"KLM "
"KMB "
"KMN "
"KMO "
"KMS "
"KMZ "
"KNR "
"KOD "
"KOH "
"KOK "
"KON "
"KOM "
"KON0"
"KOP "
"KOR "
"KOS "
"KOZ "
"KPL "
"KRI "
"KRK "
"KRL "
"KRM "
"KRN "
"KRT "
"KSH "
"KSH0"
"KSI "
"KSM "
"KSW "
"KUA "
"KUI "
"KUL "
"KUM "
"KUR "
"KUU "
"KUY "
"KYK "
"KYU "
"LAD "
"LAH "
"LAK "
"LAM "
"LAO "
"LAT "
"LAZ "
"LCR "
"LDK "
"LEZ "
"LIJ "
"LIM "
"LIN "
"LIS "
"LJP "
"LKI "
"LMA "
"LMB "
"LMO "
"LMW "
"LOM "
"LRC "
"LSB "
"LSM "
"LTH "
"LTZ "
"LUA "
"LUB "
"LUG "
"LUH "
"LUO "
"LVI "
"MAD "
"MAG "
"MAH "
"MAJ "
"MAK "
"MAL "
"MAM "
"MAN "
"MAP "
"MAR "
"MAW "
"MBN "
"MBO "
"MCH "
"MCR "
"MDE "
"MDR "
"MEN "
"MER "
"MFA "
"MFE "
"MIN "
"MIZ "
"MKD "
"MKR "
"MKW "
"MLE "
"MLG "
"MLN "
"MLR "
"MLY "
"MND "
"MNG "
"MNI "
"MNK "
"MNX "
"MOH "
"MOK "
"MOL "
"MON "
"MOR "
"MOS "
"MRI "
"MTH "
"MTS "
"MUN "
"MUS "
"MWL "
"MWW "
"MYN "
"MZN "
"NAG "
"NAH "
"NAN "
"NAP "
"NAS "
"NAU "
"NAV "
"NCR "
"NDB "
"NDC "
"NDG "
"NDS "
"NEP "
"NEW "
"NGA "
"NGR "
"NHC "
"NIS "
"NIU "
"NKL "
"NKO "
"NLD "
"NOE "
"NOG "
"NOR "
"NOV "
"NSM "
"NSO "
"NTA "
"NTO "
"NYM "
"NYN "
"NZA "
"OCI "
"OCR "
"OJB "
"ORI "
"ORO "
"OSS "
"PAA "
"PAG "
"PAL "
"PAM "
"PAN "
"PAP "
"PAP0"
"PAS "
"PAU "
"PCC "
"PCD "
"PDC "
"PGR "
"PHK "
"PIH "
"PIL "
"PLG "
"PLK "
"PMS "
"PNB "
"POH "
"PON "
"PRO "
"PTG "
"PWO "
"QIN "
"QUC "
"QUH "
"QUZ "
"QVI "
"QWH "
"RAJ "
"RAR "
"RBU "
"RCR "
"REJ "
"RIA "
"RIF "
"RIT "
"RKW "
"RMS "
"RMY "
"ROM "
"ROY "
"RSY "
"RTM "
"RUA "
"RUN "
"RUP "
"RUS "
"SAD "
"SAN "
"SAS "
"SAT "
"SAY "
"SCN "
"SCO "
"SEK "
"SEL "
"SGA "
"SGO "
"SGS "
"SHI "
"SHN "
"SIB "
"SID "
"SIG "
"SKS "
"SKY "
"SCS "
"SLA "
"SLV "
"SML "
"SMO "
"SNA "
"SNA0"
"SND "
"SNH "
"SNK "
"SOG "
"SOP "
"SOT "
"SQI "
"SRB "
"SRD "
"SRK "
"SRR "
"SSL "
"SSM "
"STQ "
"SUK "
"SUN "
"SUR "
"SVA "
"SVE "
"SWA "
"SWK "
"SWZ "
"SXT "
"SXU "
"SYL "
"SYR "
"SYRE"
"SYRJ"
"SYRN"
"SZL "
"TAB "
"TAJ "
"TAM "
"TAT "
"TCR "
"TDD "
"TEL "
"TET "
"TGL "
"TGN "
"TGR "
"TGY "
"THA "
"THT "
"TIB "
"TIV "
"TKM "
"TMH "
"TMN "
"TNA "
"TNE "
"TNG "
"TOD "
"TOD0"
"TPI "
"TRK "
"TSG "
"TSJ "
"TUA "
"TUM "
"TUL "
"TUV "
"TVL "
"TWI "
"TYZ "
"TZM "
"TZO "
"UDM "
"UKR "
"UMB "
"URD "
"USB "
"UYG "
"UZB "
"VEC "
"VEN "
"VIT "
"VOL "
"VRO "
"WA "
"WAG "
"WAR "
"WCR "
"WEL "
"WLN "
"WLF "
"WTM "
"XBD "
"XKF "
"XHS "
"XJB "
"XOG "
"XPE "
"YAK "
"YAO "
"YAP "
"YBA "
"YCR "
"YIC "
"YIM "
"ZEA "
"ZGH "
"ZHA "
"ZHH "
"ZHP "
"ZHS "
"ZHT "
"ZND "
"ZUL "
"ZZA "

29
dictionaries/pbm.dict Normal file
View File

@ -0,0 +1,29 @@
# https://en.wikipedia.org/wiki/Netpbm_format
header1="P1"
header2="P2"
header3="P3"
header4="P4"
header5="P5"
header6="P6"
zero="0"
one="1"
comment="#"
max="255"
overflow="256"
# PAM - https://en.wikipedia.org/wiki/Netpbm#PAM_graphics_format
header7="P7"
width="WIDTH"
height="HEIGHT"
depth="DEPTH"
maxval="MAXVAL"
enhdr="ENDHDR"
tupltype="TUPLTYPE"
tupltype1="RGB_ALPHA"
tupltype2="RGB"
typltype3="BLACKANDWHITE"
typltype4="BLACKANDWHITE_ALPHA"
typltype5="GRAYSCALE"
typltype6="GRAYSCALE_ALPHA"
maxval_num="65535"
maxval_overlfow="65536"

10
dictionaries/pcap.dict Normal file
View File

@ -0,0 +1,10 @@
# https://www.tcpdump.org/pcap/pcap.html
# Headers
"\xa1\xb2\xc3\xd4"
"\xd4\xc3\xb2\xa1"
"\xa1\xb2\x3c\x4d"
"\x4d\x3c\xb2\xa1"
current_version="\x02\x00\x04\x00"

16
dictionaries/perl.dict Normal file
View File

@ -0,0 +1,16 @@
#
# AFL dictionary for fuzzing Perl
# --------------------------------
#
# Created by @RandomDhiraj
#
"<:crlf"
"fwrite()"
"fread()"
":raw:utf8"
":raw:eol(LF)"
"Perl_invert()"
":raw:eol(CRLF)"
"Perl_PerlIO_eof()"

249
dictionaries/proj4.dict Normal file
View File

@ -0,0 +1,249 @@
# Dictionary developed for proj4 standard_fuzzer.cpp
# valid proj types (lines 1,2), generated from seeds
# $ grep -hoe 'proj=\w*' -o seeds/* | sort -u
"+proj=aea"
"+proj=aeqd"
"+proj=calcofi"
"+proj=cass"
"+proj=cea"
"+proj=comill"
"+proj=eck4"
"+proj=eck6"
"+proj=eqc"
"+proj=eqdc"
"+proj=etmerc"
"+proj=gall"
"+proj=geocent"
"+proj=geos"
"+proj=gstmerc"
"+proj=hammer"
"+proj=healpix"
"+proj=helmert"
"+proj=kav5"
"+proj=krovak"
"+proj=labrd"
"+proj=laea"
"+proj=latlong"
"+proj=lcc"
"+proj=longlat"
"+proj=merc"
"+proj=mill"
"+proj=misrsom"
"+proj=moll"
"+proj=natearth"
"+proj=natearth2"
"+proj=nzmg"
"+proj=ob_tran"
"+proj=omerc"
"+proj=omerc"
"+proj=patterson"
"+proj=pconic"
"+proj=poly"
"+proj=qsc"
"+proj=rhealpix"
"+proj=robin"
"+proj=sch"
"+proj=sinu"
"+proj=somerc"
"+proj=stere"
"+proj=sterea"
"+proj=tmerc"
"+proj=utm"
"+proj=vandg"
# valid datum types (lines 1,2), generated from seeds
# $ grep -hoe 'datum=\w*' -o seeds/* | sort -u
"+datum=GGRS87"
"+datum=NAD27"
"+datum=NAD83"
"+datum=OSGB36"
"+datum=WGS84"
"+datum=carthage"
"+datum=hermannskogel"
"+datum=ire65"
"+datum=nzgd49"
"+datum=potsdam"
# valid ellps types
# $ grep -hoe 'elps=\w*' -o seeds/* | sort -u
"+ellps=GRS67"
"+ellps=GRS80"
"+ellps=WGS66"
"+ellps=WGS72"
"+ellps=WGS84"
"+ellps=airy"
"+ellps=aust_SA"
"+ellps=bess_nam"
"+ellps=bessel"
"+ellps=clrk66"
"+ellps=clrk80"
"+ellps=everest"
"+ellps=evrstSS"
"+ellps=fschr60m"
"+ellps=helmert"
"+ellps=intl"
"+ellps=krass"
"+ellps=mod_airy"
"+ellps=sphere"
# other various valid types
"+epoch=1988"
"+gamma=53d7"
"+geoidgrids=egm08_25"
"+geoidgrids=g2012a_conus"
"+lastupdate=1993"
"+lat_0=44d00"
"+lat_0=46"
"+lat_1=18d49"
"+lat_2=40d43"
"+lat_ts=33"
"+llps=bessel"
"+llps=clrk66"
"+lon_0=7"
"+lon_1=62"
"+lon_2=53"
"+lonc=78d00"
"+lpha=55d40"
"+nadgrids=MD"
"+nadgrids=chenyx06etrs"
"+nadgrids=conus"
"+nadgrids=ntf_r93"
"+nadgrids=ntv1_can"
"+nadgrids=ntv2_0"
"+nadgrids=null"
"+north=0"
"+north_square=0"
"+o_lat_p=LAT_POLE"
"+o_lon_p=LON_POLE"
"+o_proj=moll"
"+origin=EPSG"
"+origin=Esri"
"+origin=IGNF"
"+origin=Swisstopo"
"+origin=ftp"
"+origin=http"
"+pm=jakarta"
"+pm=lisbon"
"+pm=madrid"
"+pm=oslo"
"+pm=paris"
"+pm=rome"
"+pm=stockholm"
"+title=Amsterdam"
"+towgs84=103"
"+units=ft"
"+units=km"
"+units=link"
"+units=m"
"+units=us"
"+vunits=m"
"+vunits=us"
# binary prefix for line 3
"BINARY2D:"
"BINARY3D:"
# floating point numbers
"-0.100000 "
"0.000000 "
"0.100000 "
"1.100000 "
"4294967295.000000 "
"9007199254740992.000000 "
"\x9a\x99\x99\x99\x99\x99\xf1\xbf"
"\x9a\x99\x99\x99\x99\x99\xb9\xbf"
"\x00\x00\x00\x00\x00\x00\x00\x00"
"\x9a\x99\x99\x99\x99\x99\xb9\x3f"
"\x9a\x99\x99\x99\x99\x99\xf1\x3f"
"\x00\x00\xe0\xff\xff\xff\xef\x41"
"\x00\x00\x00\x00\x00\x00\x40\x43"
# valid prefixes
"+R="
"+RES="
"+W="
"+a="
"+alpha="
"+axis="
"+azi="
"+b="
"+bs="
"+d="
"+datum="
"+depmode="
"+dest="
"+dir="
"+drx="
"+dry="
"+drz="
"+ds="
"+dx="
"+dy="
"+dz="
"+e="
"+ellps="
"+epoch="
"+es="
"+f="
"+files="
"+flg="
"+gamma="
"+geoidgrids="
"+h="
"+has_opt="
"+init="
"+k="
"+k_0="
"+lastupdate="
"+lat_0="
"+lat_1="
"+lat_2="
"+lat_ts="
"+lib="
"+list="
"+lon_0="
"+lon_1="
"+lon_2="
"+lon_wrap="
"+lonc="
"+nadgrids="
"+north="
"+north_square="
"+o_lat_p="
"+o_lon_p="
"+o_proj="
"+origin="
"+path="
"+phdg_0="
"+plat_0="
"+plon_0="
"+pm="
"+prefix="
"+proj="
"+r_a="
"+rf="
"+rx="
"+ry="
"+rz="
"+s="
"+skip_next="
"+south="
"+south_square="
"+srcdirstrip="
"+sweep="
"+target_option="
"+title="
"+to_meter="
"+topsrcdirstrip="
"+towgs84="
"+units="
"+version="
"+vunits="
"+x="
"+x_0="
"+y="
"+y_0="
"+z="
"+zone="

View File

@ -0,0 +1,40 @@
# Keywords taken from https://developers.google.com/protocol-buffers/docs/reference/proto2-spec
bool="bool"
bytes="bytes"
double="double"
enum="enum"
extend="extend"
extension="extension"
false="false"
fixed32="fixed32"
fixed64="fixed64"
float="float"
group="group"
import="import"
inner="inner"
int32="int32"
int64="int64"
map="map<"
message="message"
option="option"
optional="optional"
package="package"
public="public"
repeated="repeated"
required="required"
reserved="reserved"
returns="returns"
rpc="rpc"
service="service"
sfixed32="sfixed32"
sfixed64="sfixed64"
sint32="sint32"
sint64="sint64"
stream="stream"
string="string"
syntax="syntax"
true="true"
uint32="uint32"
uint64="uint64"
weak="weak"

433
dictionaries/ps.dict Normal file
View File

@ -0,0 +1,433 @@
# https://web.archive.org/web/20170218093716/https://www.adobe.com/products/postscript/pdfs/PLRM.pdf
# TODO(jvoisin) Add more, starting from page 318
header="%!PS"
#types
"array"
"packedarray"
"dict"
"string"
"userdict"
"$error"
"statusdict"
"FontDirectory"
"globaldict"
"systemdict"
"GlobalFontDirectory"
"Order"
"DateSource"
"BitsPerSample"
"Encode"
"Decode"
"Size"
# Stack operators
"dup"
"exch"
"pop"
"copy"
"roll"
"index"
"mark"
"clear"
"count"
"counttomark"
"cleartomark"
# maths
"add"
"sub"
"mul"
"div"
"idiv"
"mod"
"abs"
"neg"
"ceiling"
"floor"
"round"
"truncate"
"sqrt"
"exp"
"ln"
"log"
"rand"
"srang"
"rrand"
# arrays
"get"
"put"
"copy"
"length"
"forall"
"getinterval"
"putinterval"
"aload"
"astore"
"mark"
"setpacking"
"currentpacking"
"begin"
"end"
"def"
"store"
"load"
"where"
"countdictstack"
"cleardictstack"
"dictstack"
"known"
"maxlength"
"undef"
"<<"
">>"
"search"
"anchorsearch"
"token"
# relational operators
"eq"
"ne"
"gt"
"ge"
"lt"
"le"
"and"
"or"
"xor"
"true"
"false"
"bitshift"
#control operators
"if"
"else"
"ifelse"
"exec"
"for"
"repeat"
"loop"
"forall"
"pathforall"
"kshow"
"exit"
"countexecstack"
"execstack"
"stop"
"errordict"
"stopped"
# type
"type"
"xcheck"
"rcheck"
"wcheck"
"cvlit"
"cvx"
"readonly"
"executeonly"
"noacces"
"cvi"
"cvr"
"cns"
"cvs"
"cvrs"
#misc
"print"
"invalidaccess"
"gcheck"
"showpage"
"currentgstate"
"currentfile"
"status"
"byteavailable"
"setdevparams"
"currentdevparams"
"Predictor"
"Columns"
"Colors"
"BitsPerComponent"
"Uncompressed"
"EndOfLine"
"EncodedByteAlign"
"EndOfBlock"
"Blackls1"
"DamagedRowsBeforeError"
"CloseTarget"
"HuffTables"
"ColorTransform"
# vm
"load"
"save"
"restore"
"setglobal"
"grestoreall"
"invalidrestore"
"startjob"
"exitserver"
# User objects
"defineuserobject"
"undefineuserobject"
"execuserobject"
"UserObjects"
#i/o
"read"
"write"
"readstring"
"readline"
"writestring"
"readhexstring"
"writehexstring"
"token"
"flush"
"flushfile"
# files
"file"
"deletefile"
"renamefile"
"status"
"filenameforall"
"setfileposition"
"fileposition"
"%stdin"
"%stdout"
"%stderr"
"%statementedit"
"%lineedit"
# Filters
"ASCII85Decode"
"ASCII85Encode"
"ASCIIHexDecode"
"ASCIIHexEncode"
"Decode"
"Encode"
"RunLengthEncode"
"RunLengthDecode"
"CCITTFaxEncode"
"CCITTFaxDecode"
"DCTEncode"
"DCTDecode"
"ReusableStreamDecode"
"NullEncode"
"SubFileDecode"
"filter"
"LWZEncode"
"LWZDecode"
"FlateEncode"
"FlateDecode"
"EODCount"
"EODString"
"CloseSource"
# Resources
"findresource"
"resourcestatus"
"resourceforall"
"definerresource"
"undefineresource"
"findfont"
"definefont"
"resourcestatsu"
"Font"
"CIDFont"
"CMap"
"FontSet"
"Encoding"
"Form"
"Pattern"
"ProcSet"
"ColorSpace"
"Halftone"
"ColorRendering"
"IdiomSet"
"Inkparam"
"TrapParams"
"OutputDevice"
"Controllangue"
"Localization"
"PDL"
"HWOptions"
"Filter"
"ColorSpaceFamily"
"Emulator"
"IODevice"
"ColorRenderingType"
"FMapType"
"FontType"
"FormType"
"HalftoneType"
"ImageType"
"PatternType"
"FunctionType"
"ShadingType"
"TrappingType"
"Category"
"Generic"
"BitMapFontInit"
"CIDInit"
"ColorRendering"
"FontSetInit"
"Trapping"
"ColorSpace"
"ColorSpaceFamily"
"sethalftone"
"DefineResource"
"UndefineResource"
"FindResource"
"ResourceStatus"
"ResourceForAll"
"Category"
"InstaceType"
"ResourceFileName"
"Intent"
"AsyncRead"
"Times-Roman"
# Error handling
"errorname"
"errorinfo"
"command"
"newerror"
"ostack"
"estack"
"dstack"
"recordstacks"
"binary"
"bind"
"average"
# Image models
"CTM"
"DeviceGray"
"arc"
"arcn"
"artct"
"clip"
"cliprestore"
"clipsave"
"closepath"
"currentlinewidth"
"curveto"
"fill"
"grestone"
"gsave"
"image"
"ineofill"
"infill"
"instroke"
"inueofill"
"inustroke"
"lineto"
"moveto"
"newpath"
"nocurrentpoint"
"path"
"position"
"rcurveto"
"rlineto"
"setbox"
"setlinewidth"
"show"
"stroke"
"ucache"
"ufill"
"ustroke"
"cvlit"
"ufill"
"ueofill"
"rectfill"
"rectstoke"
"rectclip"
"execform"
"FormType"
"XIUD"
"BBox"
"Matrix"
"PaintProc"
"Implementation"
# Colorspace
"setcolorspace"
"setgray"
"setrgbcolor"
"setcmykcolor"
"image"
"colorimage"
"sethsbcolor"
"CIEBasedABC"
"CIEBasedA"
"CIEBaseDEF"
"CIEBaseDEFG"
"Pattern"
"Indexed"
"Separation"
"DeviceN"
"setpattern"
"currentgray"
"currentrgbcolor"
"currentcmykcolor"
"setcachedevice"
"setcachedevice2"
"BuildGlyph"
"BuildChar"
"CharString"
"shfill"
"setundercolorremoval"
"settransfer"
"setscreen"
"sethalftone"
"setcolortransfer"
"DeviceRGB"
"DeviceCMYK"
"DeviceGray"
"RangeABC"
"DecodeABC"
"MatrixABC"
"RangeLMN"
"DecodeLMN"
"MatrixLMN"
"WhitePoint"
"BlackPoint"
# Patterns
"PatternType"
"XUID"
"PaintProc"
"BBox"
"XStep"
"YStep"
"PaintType"
"TilingType"
"Implementation"
"Shading"
"ShadingType"
"AntiAlias"
"Coords"
"BitsPerFlag"
"BitsPerCoordinate"
"MultipleDataSources"
# Misc things
"[-1, 1, -1, 1]"
"[-1 1]"
"1337"
"<</"

180
dictionaries/psd.dict Normal file
View File

@ -0,0 +1,180 @@
# https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
"8BPS"
"8BIM"
"8B64"
# blend mode keys
"pass"
"norm"
"diss"
"dark"
"mul "
"idiv"
"lbrn"
"dkCl"
"lite"
"scrn"
"deiv"
"lddg"
"lgCl"
"over"
"sLit"
"hLit"
"vLit"
"lLit"
"pLit"
"hMix"
"diff"
"smud"
"fsub"
"fdiv"
"hue "
"sat "
"colr"
"lum "
# adjustment layers
"SoCo"
"GdFl"
"PtFl"
"brit"
"levl"
"curv"
"expA"
"vibA"
"hue "
"hue2"
"blnc"
"blwh"
"phfl"
"mixr"
"clrL"
"nvrt"
"post"
"thrs"
"grdm"
"selc"
# effect signatures
"cmnS"
"dsdw"
"isdw"
"oglw"
"iglw"
"bevl"
"sofi"
# keys
"Layr"
"Lr16"
"Lr32"
"TySh"
"tySt"
"lrFX"
"luni"
"lyid"
"lfx2"
"Patt"
"Pat2"
"Pat3"
"Anno"
"clbl"
"infx"
"knko"
"lspf"
"lclr"
"fxrp"
"grdm"
"lsct"
"brst"
"SoCo"
"PtFl"
"GdFl"
"vmsk"
"vsms"
"vscg"
"ffxi"
"lnsr"
"shpa"
"shmd"
"lyvr"
"tsly"
"lmgm"
"vmgm"
"brit"
"mixr"
"clrL"
"plLd"
"lnkD"
"lnk2"
"lnk3"
"phfl"
"blwh"
"CgEd"
"Txt2"
"vibA"
"pths"
"anFX"
"FMsk"
"SoLd"
"vstk"
"vscg"
"sn2P"
"vogk"
"PxSc"
"cinf"
"PxSD"
"artb"
"artd"
"abdd"
"SoLE"
"Mtrn"
"Mt16"
"Mt32"
"LMsk"
"expA"
"FXid"
"FEid"
# color handling
"conv"
"avod"
"lumi"
# descriptor structure
"obj "
"Objc"
"VlLs"
"doub"
"UntF"
"TEXT"
"enum"
"long"
"comp"
"bool"
"GlbO"
"type"
"GlbC"
"alis"
"tdta"
# reference structure
"prop"
"Clss"
"Enmr"
"rele"
"Idnt"
"indx"
"name"
# misc
"txtA"
"sndA"
"txtC"
"sndM"
"plcL"
"liFD"
"liFE"
"lifA"
"soLD"

View File

@ -8,249 +8,237 @@
#
# Contributed by Dhiraj Mishra <dhiraj@inputzero.io>
#
"?"
"abc"
"()"
"(?<!)"
"(?<=)"
"(?=)"
"?"
"[\\[\\]\\{\\}\\(\\)\\%\\^\\#\\ ]"
"[]"
"abc|def"
"abc|def|ghi"
"^xxx$"
"ab\\b\\d\\bcd"
"\\w|\\d"
"\\[\\]\\{\\}\\(\\)\\%\\^\\#\\ "
"]"
"{"
"{,}"
"{}"
"}"
"[\\0]"
"[\\00011]"
"[\\011]"
"\\011"
"?:\\1"
"[\\11]"
"\\11"
"[\\111]"
"\\111"
"[\\1111]"
"\\1111"
"\\1112"
"[\\118]"
"\\118"
"[\\11a]"
"\\11a"
"{12,"
"[-123]"
"[^123]"
"{12,3b"
"\\1\\2(a(?:\\1\\2))\\2)\\1"
"\\1\\2(a(?:\\1(b\\1\\2))\\2)\\1"
"\\1\\2(b\\1\\2))\\2)\\1"
"\\1(a)"
"(\\1a)"
"(?!\\1(a\\1)\\1)\\1"
"\\1(b\\1\\2))\\2)\\1"
"{1z}"
"(\\2)(\\1)"
"\\8"
"\\9"
"{93}"
"(?:a*)*"
"(?:a*)+"
"(?:a+)*"
"(?:a+)+"
"(?:a+)?"
"(?:a?)*"
"(?:a?)+"
"(?:a?)?"
"(?:a?)??"
"(?<!a)"
"(?<=a)"
"(?<a>)"
"(?<a>.)"
"(a)"
"a"
"a*?"
"a+"
"a+?"
"a."
"a?"
"a??"
"a{"
"a{,}"
"a{}"
"a$"
"a{0}"
"(?:a+){0,0}"
"a{0,1}?"
"(?=a){0,10}a"
"(?!(a))\\1"
"(a)\\1"
"(a\\1)"
"(?=a){1,10}a"
"a{1,2}?"
"a{12,"
"a{12,3b"
"a{12z}"
"a{12za?)?"
"(?:a{5,1000000}){3,1000000}"
"(?=a){9,10}a"
"(?!a)?a"
"a[^a]"
"a[a]"
"(?!a)?a\\1"
"(?:(?=a))a\\1"
"a[a-z]"
"(?:ab)"
"(?:ab)+"
"(?:ab)?"
"(ab)"
"a(?!b)"
"a(?:b)"
"a(?=b)"
"a*b"
"a+b"
"a\\b!"
"a|b"
"a*b\\+\\|[0-9]\\|\\d{1,9}"
"(ab)\\1"
"(?:ab){4,7}"
"a\\Bb"
"a(?!bbb|bb)c"
"a(?=bbb|bb)c"
"ab\\b\\d\\bcd"
"[a-b-c]"
"a(?=b)c"
"a*b|c"
"a+b|c"
"a\\bc"
"a||bc"
"a|bc"
"ab|c"
"abc"
"abc+"
"abc+?"
"a[bc]d"
"(?:ab)|cde"
"(?:ab|cde)"
"(ab|cde)"
"(ab|cde)\\1"
"abc|def"
"abc|def|ghi"
"a\\D"
"a\\fb\\nc\\rd\\te\\vf"
"(?<a>.)\\k<a>"
"a\\n"
"a\\nb\\bc"
"a\\q"
"a\\s"
"a\\S"
"a\\sc"
"a\\Sc"
"a\\w"
"a\\W"
"a?)"xyz{93}"
"a{z}"
"[a-zA-Z0-9]"
"[\\c!]"
"[\\c_]"
"[\\c~]"
"\\c!"
"\\c"
"\\c_"
"\\c~"
"[\\c1]"
"[\\ca]"
"[\\cA]"
"\\cA"
"\\cj\\cJ\\ci\\cI\\ck\\cK"
"[\\cz]"
"[\\cZ]"
"/^\\d*\\./"
"/\\d{1,2}\\/\\d{1,2}\\/\\d{4}/"
"\\[DataMember\\((.+?)\\)\\]"
"[\\d-\\d]"
"[\\d-z]"
"(?: foo )"
"(?:foo)"
"foo(?=bar)bar)az"
"foo(?=bar)bar)baz"
"foo(?!bar)baz"
"foo(?<!bar)baz"
"foo(?<=bar)baz"
"foo(?=bar)baz"
"foo|(bar|baz)|quux"
"fo(?o(?o(?o(?=bar)baz"
"foo[z]*"
"\\P{Any}"
"\\p{Changes_When_NFKC_Casefolded}"
"\\P{Decimal_Number}"
"\\P{gc=Decimal_Number}"
"\\p{gc=Nd}"
"\\p{General_Category=Decimal_Number}"
"\\p{Nd}"
"\\P{sc=Greek}"
"\\p{Script_Extensions=Greek}"
"\\p{Script=Greek}"
"\\P{scx=Greek}"
"\\q"
"\\u0034"
"\\u003z"
"\\u0060"
"\\u{12345}"
"\\u{12345}*"
"\\u{12345}{3}"
"\\u{12345}\\u{23456}"
"\\ud808\\udf45*"
"[\\ud808\\udf45-\\ud809\\udccc]"
"\\w|\\d"
"[x]"
"\x01"
"\x0f"
"\\x3z"
"\\x60"
"[\x8f]"
"[\x92\xa9-\xf4\x8f\xbf\xbf]"
"[x\\dz]"
"[\xe2\x81\xa3]"
"\xe2\x81\xa3"
"\xed\xa0\x80"
"((\xed\xa0\x80))\x02"
"\xed\xb0\x80"
"(\xed\xb0\x80)\x01"
"[-\xf0\x9f\x92\xa9]+"
"\xf0\x9f\x92\xa9"
"[\xf0\x9f\x92\xa9-\xf4\x8f\xbf\x92\xa9-\xf4\x8f\xbf\xbf]"
"[\xf0\x9f\x92\xa9-\xf4\x8f\xbf\xbf]"
"^xxx$"
"(x)(x)(x)\\1"
"(x)(x)(x)\\1*"
"(x)(x)(x)\\2"
"(x)(x)(x)\\3"
"(x)(x)(x)\\3*"
"(x)(x)(x)\\4"
"(x)(x)(x)\\4*"
"(x)(x)(x)(x)(x)(x)(x)(x)(x)(x)\\10"
"(x)(x)(x)(x)(x)(x)(x)(x)(x)(x)\\11"
"[xyz]"
"xyz?"
"xyz??"
"xyz{0,1}"
"xyz{0,1}?"
"xyz{93}"
"xyz{1,32}"
"xyz{1,32}?"
"xyz{1,}"
"xyz{1,}?"
"a\\fb\\nc\\rd\\te\\vf"
"a\\nb\\bc"
"(?:foo)"
"(?: foo )"
"foo|(bar|baz)|quux"
"foo(?=bar)baz"
"foo(?!bar)baz"
"foo(?<=bar)baz"
"foo(?<!bar)baz"
"()"
"(?=)"
"[]"
"[x]"
"[xyz]"
"[a-zA-Z0-9]"
"[-123]"
"[^123]"
"]"
"}"
"[a-b-c]"
"[x\\dz]"
"[\\d-z]"
"[\\d-\\d]"
"[z-\\d]"
"\\cj\\cJ\\ci\\cI\\ck\\cK"
"\\c!"
"\\c_"
"\\c~"
"[\\c!]"
"[\\c_]"
"[\\c~]"
"[\\ca]"
"[\\cz]"
"[\\cA]"
"[\\cZ]"
"[\\c1]"
"\\[\\]\\{\\}\\(\\)\\%\\^\\#\\ "
"[\\[\\]\\{\\}\\(\\)\\%\\^\\#\\ ]"
"\\8"
"\\9"
"\\11"
"\\11a"
"\\011"
"\\118"
"\\111"
"\\1111"
"(x)(x)(x)\\1"
"(x)(x)(x)\\2"
"(x)(x)(x)\\3"
"(x)(x)(x)\\4"
"(x)(x)(x)\\1*"
"(x)(x)(x)\\3*"
"(x)(x)(x)\\4*"
"(x)(x)(x)(x)(x)(x)(x)(x)(x)(x)\\10"
"(x)(x)(x)(x)(x)(x)(x)(x)(x)(x)\\11"
"(a)\\1"
"(a\\1)"
"(\\1a)"
"(\\2)(\\1)"
"(?=a){0,10}a"
"(?=a){1,10}a"
"(?=a){9,10}a"
"(?!a)?a"
"\\1(a)"
"(?!(a))\\1"
"(?!\\1(a\\1)\\1)\\1"
"\\1\\2(a(?:\\1(b\\1\\2))\\2)\\1"
"[\\0]"
"[\\11]"
"[\\11a]"
"[\\011]"
"[\\00011]"
"[\\118]"
"[\\111]"
"[\\1111]"
"\\x60"
"\\x3z"
"\\c"
"\\u0034"
"\\u003z"
"foo[z]*"
"\\u{12345}"
"\\u{12345}\\u{23456}"
"\\u{12345}{3}"
"\\u{12345}*"
"\\ud808\\udf45*"
"[\\ud808\\udf45-\\ud809\\udccc]"
"a"
"a|b"
"a\\n"
"a$"
"a\\b!"
"a\\Bb"
"a*?"
"a?"
"a??"
"a{0,1}?"
"a{1,2}?"
"a+?"
"(a)"
"(a)\\1"
"(\\1a)"
"\\1(a)"
"a\\s"
"a\\S"
"a\\D"
"a\\w"
"a\\W"
"a."
"a\\q"
"a[a]"
"a[^a]"
"a[a-z]"
"a(?:b)"
"a(?=b)"
"a(?!b)"
"\\x60"
"\\u0060"
"\\cA"
"\\q"
"\\1112"
"(a)\\1"
"(?!a)?a\\1"
"(?:(?=a))a\\1"
"a{}"
"a{,}"
"a{"
"a{z}"
"a{12z}"
"a{12,"
"a{12,3b"
"{}"
"{,}"
"{"
"xyz{1,32}"
"xyz{1,32}?"
"xyz{93}"
"{z}"
"{1z}"
"{12,"
"{12,3b"
"a"
"abc"
"a[bc]d"
"a|bc"
"ab|c"
"a||bc"
"(?:ab)"
"(?:ab|cde)"
"(?:ab)|cde"
"(ab)"
"(ab|cde)"
"(ab)\\1"
"(ab|cde)\\1"
"(?:ab)?"
"(?:ab)+"
"a?"
"a+"
"a??"
"a*?"
"a+?"
"(?:a?)?"
"(?:a+)?"
"(?:a?)+"
"(?:a*)+"
"(?:a+)+"
"(?:a?)*"
"(?:a*)*"
"(?:a+)*"
"a{0}"
"(?:a+){0,0}"
"a*b"
"a+b"
"a*b|c"
"a+b|c"
"(?:a{5,1000000}){3,1000000}"
"(?:ab){4,7}"
"a\\bc"
"a\\sc"
"a\\Sc"
"a(?=b)c"
"a(?=bbb|bb)c"
"a(?!bbb|bb)c"
"\xe2\x81\xa3"
"[\xe2\x81\xa3]"
"\xed\xb0\x80"
"\xed\xa0\x80"
"(\xed\xb0\x80)\x01"
"((\xed\xa0\x80))\x02"
"\xf0\x9f\x92\xa9"
"\x01"
"\x0f"
"[-\xf0\x9f\x92\xa9]+"
"[\xf0\x9f\x92\xa9-\xf4\x8f\xbf\xbf]"
"(?<=)"
"(?<=a)"
"(?<!)"
"(?<!a)"
"(?<a>)"
"(?<a>.)"
"(?<a>.)\\k<a>"
"\\p{Script=Greek}"
"\\P{sc=Greek}"
"\\p{Script_Extensions=Greek}"
"\\P{scx=Greek}"
"\\p{General_Category=Decimal_Number}"
"\\P{gc=Decimal_Number}"
"\\p{gc=Nd}"
"\\P{Decimal_Number}"
"\\p{Nd}"
"\\P{Any}"
"\\p{Changes_When_NFKC_Casefolded}"
"(?:a?)??"
"a?)"xyz{93}"
"{93}"
"a{12za?)?"
"[\x8f]"
"[\xf0\x9f\x92\xa9-\xf4\x8f\xbf\x92\xa9-\xf4\x8f\xbf\xbf]"
"[\x92\xa9-\xf4\x8f\xbf\xbf]"
"\\1\\2(b\\1\\2))\\2)\\1"
"\\1\\2(a(?:\\1\\2))\\2)\\1"
"?:\\1"
"\\1(b\\1\\2))\\2)\\1"
"\\1\\2(a(?:\\1(b\\1\\2))\\2)\\1"
"foo(?=bar)bar)baz"
"fo(?o(?o(?o(?=bar)baz"
"foo(?=bar)baz"
"foo(?=bar)bar)az"
"[z-\\d]"

17
dictionaries/riff.dict Normal file
View File

@ -0,0 +1,17 @@
# https://developers.google.com/speed/webp/docs/riff_container
# FourCC
"ALPH"
"ANIM"
"ANMF"
"EXIF"
"ICCP"
"RIFF"
"VP8 "
"VP8L"
"VP8X"
"WEBP"
"XMP "
# VP8 signature
"\x9D\x01\x2A"

31
dictionaries/rss.dict Normal file
View File

@ -0,0 +1,31 @@
# https://en.wikipedia.org/wiki/RSS
"<?xml version='1.0' encoding='UTF-8' ?>"
"<rss version='2.0'>"
"<author>"
"<category>"
"<channel>"
"<cloud>"
"<comments>"
"<copyright>"
"<description>"
"<docs>"
"<enclosure>"
"<generator>"
"<guid>"
"<image>"
"<item>"
"<language>"
"<lastBuildDate>"
"<link>"
"<managingEditor>"
"<pubDate>"
"<rating>"
"<skipDays>"
"<skipHours>"
"<source>"
"<textInput>"
"<title>"
"<ttl>"
"<url>"
"<webMaster>"

21
dictionaries/rst.dict Normal file
View File

@ -0,0 +1,21 @@
# https://docutils.readthedocs.io/en/sphinx-docs/ref/rst/restructuredtext.html
bold="**"
list1="1. "
list2="(1) "
list3="1) "
list4="I. "
list5="i. "
list6="* "
list7="- "
list8="+ "
end_of_paragraph="::"
title="====="
image=".. image:: "
image_attr=" :a: 1"
doctest=">>>"
table1="+--+""
table2="+==+""
footnote_and_citation=".. [a] "
hyperlink=".. _a: http://a "
macro=".. |b| a"

419
dictionaries/rtf.dict Normal file
View File

@ -0,0 +1,419 @@
# http://latex2rtf.sourceforge.net/RTF-Spec-1.0.txt
# charset
"\\ansi"
"\\mac"
"\\pca"
# font table
"\\fnil"
"\\fswiss"
"\\fmodern"
"\\fscript"
"\\fdecor"
"\\ftech"
# stylesheet
"\\sbasedon"
"\\snext"
"\\keycode"
# colors
"\\red"
"\\green"
"\\blue"
"\\cf"
"\\cb"
# pictures
"\\macpict"
"\\pmmetafile"
"\\wmetafile"
"\\dibitmap"
"\\wbitmap"
"\\wbmbitspixel"
"\\wbmplanes"
"\\wbmwidthbytes"
"\\picw"
"\\pich"
"\\picwgoal"
"\\pichgoal"
"\\picscaley"
"\\picscaled"
"\\piccropt"
"\\piccropb"
"\\piccropl"
"\\piccropr"
"\\brdrs"
"\\brdrdb"
"\\brdrth"
"\\brdrsh"
"\\brdrdot"
"\\brdrhair"
"\\brdrw"
"\\brdrcf"
"\\shading"
"\\bghoriz"
"\\bgvert"
"\\bgfdiag"
"\\bgbdiag"
"\\bgcross"
"\\bgdcross"
"\\bgdkhoriz"
"\\bgdkvert"
"\\bgdkfdiag"
"\\bgdkbdiag"
"\\bgdkcross"
"\\bgdkdcross"
"\\cfpat"
"\\cbpat"
"\\bin"
"MM_TEXT"
"MM_LOMETRIC"
"MM_HIMETRIC"
"MM_LOENGLISH"
"MM_HIENGLISH"
"MM_TWIPS"
"MM_ISOTROPIC"
"MM_ANISOTROPIC"
"PU_ARBITRARY"
"PU_PELS"
"PU_LOMETRIC"
"PU_HIMETRIC"
"PU_LOENGLISH"
"PU_HIENGLISH"
"PU_TWIPS"
# headers and gooters
"\headerr"
"\headerf"
"\footerl"
"\footerr"
"\footerf"
# misc
"\\chftn"
"\\*\\footnote"
"\\*\\annotation"
"\\bxe"
"\\ixe"
"\\tcf"
"\\tcl"
"\\*\\bkmkstart"
"\\*\\bkmkend"
# metadata
"\\title"
"\\subject"
"\\author"
"\\operator"
"\\keywords"
"\\comment"
"\\version"
"\\doccomm"
"\\vern"
"\\creatim"
"\\revtim"
"\\printim"
"\\buptim"
"\\edmins"
"\\yr"
"\\mo"
"\\dy"
"\\hr"
"\\min"
"\\nofpages"
"\\nofwords"
"\\nofchars"
"\\id"
"\\flddirty"
"\\fldedit"
"\\fldlock"
"\\fldpriv"
# objects
"\\objemb"
"\\objlink"
"\\objautlink"
"\\objsub"
"\\objicemb"
"\\linkself"
"\\objlock"
"\\objclass"
"\\objname"
"\\objh"
"\\objw"
"\\objsetsize"
"\\objtransy"
"\\objcropt"
"\\objcropb"
"\\objcropl"
"\\objcropr"
"\\objscalex"
"\\objscaley"
"\\objdata"
"\\objalias"
"\\objsect"
"\\rsltrtf"
"\\rsltpict"
"\\rsltbmp"
"\\rslttxt"
"\\rsltmerge"
"\\result"
# macintosh editor
"\\bkmkpub"
"\\pubauto"
"\\objalias"
"\\objsect"
# formating
"\\deftab"
"\\hyphhotz"
"\\linestart"
"\\fracwidth"
"\\*\nextfile"
"\\*\template"
"\\makebackup"
"\\defformat"
"\\psover"
"\\deflang"
"\\ftnsep"
"\\ftnsepc"
"\\ftncn"
"\\endnotes"
"\\enddoc"
"\\ftntj"
"\\ftnbj"
"\\ftnstart"
"\\ftnrestart"
"\\paperw"
"\\paperh"
"\\margl"
"\\margr"
"\\margt"
"\\margb"
"\\facingp"
"\\gutter"
"\\margmirror"
"\\landscape"
"\\pgnstart"
"\\widowctrl"
"\\revisions"
"\\revprop"
"\\revbar"
"\\sectd"
"\\endnhere"
"\\binfsxn"
"\\binsxn"
"\\sbknone"
"\\sbkcol"
"\\sbkpage"
"\\sbkeven"
"\\sbkodd"
"\\cols"
"\\colsx"
"\\linebetcol"
"\\linemod"
"\\linex"
"\\linestarts"
"\\linerestart"
"\\lineppage"
"\\linecont"
"\\pgwsxn"
"\\pghsxn"
"\\marglsxn"
"\\margrsxn"
"\\margtsxn"
"\\margbsxn"
"\\guttersxn"
"\\lndscpsxn"
"\\titlepg"
"\\headery"
"\\footery"
"\\pgnstarts"
"\\pgncont"
"\\pgnrestart"
"\\pgnx"
"\\pgny"
"\\pgndec"
"\\pgnucrm"
"\\pgnlcrm"
"\\pgnucltr"
"\\pgnlcltr"
"\\vertalt"
"\\vertal"
"\\vertalc"
"\\vertalj"
"\\pard"
"\\s"
"\\intbl"
"\\keep"
"\\keepn"
"\\noline"
"\\pagebb"
"\\sbys"
"\\ql"
"\\qr"
"\\qj"
"\\qc"
"\\fi"
"\\li"
"\\ri"
"\\sb"
"\\sa"
"\\sl"
"\\tx"
"\\tqr"
"\\tqc"
"\\tqdec"
"\\tb"
"\\tldot"
"\\tlhyph"
"\\tlul"
"\\tlth"
"\\tleq"
"\\brdrt"
"\\brdrb"
"\\brdrl"
"\\brdrr"
"\\brdrbtw"
"\\brdrbar"
"\\box"
"\\brdrs"
"\\brdrth"
"\\brdrsh"
"\\brdrdb"
"\\brdrdot"
"\\brdrhair"
"\\brdrw"
"\\brdrcf"
"\\brsp"
"\\shading"
"\\bghoriz"
"\\bgvert"
"\\bgfdiag"
"\\bgbdiag"
"\\bgcross"
"\\bgdcross"
"\\bgdkhoriz"
"\\bgdkvert"
"\\bgdkfdiag"
"\\bgdkbdiag"
"\\bgdkcross"
"\\bgdkdcross"
"\\cfpat"
"\\cbpat"
"\\absw"
"\\absh"
"\\phmrg"
"\\phpg"
"\\phcol"
"\\posx"
"\\posxc"
"\\posxi"
"\\posxo"
"\\posxr"
"\\posxl"
"\\pvmrg"
"\\pvpg"
"\\pvpara"
"\\posy"
"\\posyil"
"\\posyt"
"\\posyc"
"\\posyb"
"\\dxfrtext"
"\\dyfrtext"
#tables
"\\trowd"
"\\trgaph"
"\\cellx"
"\\clmgf"
"\\clmrg"
"\\clbrdrt"
"\\clbrdrl"
"\\clbrdrr"
"\\trql"
"\\trqr"
"\\trqc"
"\\trleft"
"\\trrh"
"\\clshdng"
"\\clbghoriz"
"\\clbgvert"
"\\clbgfdiag"
"\\clbgbdiag"
"\\clbgcross"
"\\clbgdcross"
"\\clbgdkhor"
"\\clbgdkvert"
"\\clbgdkfdiag"
"\\clbgdkbdiag"
"\\clbgdkcross"
"\\clbgdkdcross"
"\\clcfpat"
"\\clcbpat"
# char format
"\\plain"
"\\b"
"\\caps"
"\\deleted"
"\\dn"
"\\expnd"
"\\f"
"\\fs"
"\\i"
"\\outl"
"\\revised"
"\\scaps"
"\\shad"
"\\strike"
"\\ul"
"\\uld"
"\\uldb"
"\\ulnone"
"\\ulw"
"\\up"
"\\v"
"\\lang"
# special chars
"\\chdate"
"\\chdpl"
"\\chdpa"
"\\chtime"
"\\chpgn"
"\\chftn"
"\\chatn"
"\\chftnsep"
"\\chftnsepc"
"\\cell"
"\\row"
"\\par"
"\\sect"
"\\page"
"\\column"
"\\line"
"\\tab"
"\\emdash"
"\\endash"
"\\bullet"
"\\lquote"
"\\rquote"
"\\ldblquote"
"\\rdblquote"
"\\|"
"\\~"
"\\-"
"\\_"
"\\:"
"\\*"
"\\'hh"
"\\alt"
"\\shift"
"\\ctrl"

37
dictionaries/sas.dict Normal file
View File

@ -0,0 +1,37 @@
" "
"#"
"$"
"$CHAR"
"%LET"
"("
")"
"*/"
"/*"
";"
"@"
"ATTRIB"
"CLEAR"
"CONTENTS"
"DATA"
"DATE"
"FILENAME"
"FOOTNOTE"
"FORMAT"
"IF"
"INFILE"
"INPUT"
"INVALUE"
"LABEL"
"LENGTH"
"LIBNAME"
"LIST"
"MISSING"
"OPTIONS"
"OTHER"
"PRINT"
"PROC"
"RUN"
"VALUE"
"_ALL_"
"dlm"
"firstobs"

46
dictionaries/spss.dict Normal file
View File

@ -0,0 +1,46 @@
"("
"(NOMINAL)"
"(ORDINAL)"
"(SCALE)"
")"
"."
"/"
"/VARIABLES"
"="
" "
"A"
"ADATE"
"COMMENT"
"DATA"
"DATASET"
"DATE"
"DELIMITERS"
"DICTIONARY"
"DISPLAY"
"END"
"EXECUTE"
"F"
"FILE"
"FIRSTCASE"
"FIXED"
"FORMATS"
"HANDLE"
"IF"
"INPUT"
"LABEL"
"LABELS"
"LEVEL"
"LIST"
"NAME"
"OUTFILE"
"PROGRAM"
"RECODE"
"RECORD"
"SAVE"
"SELECT"
"SET"
"SYSMIS"
"TABLE"
"VALUE"
"VARIABLE"
"WINDOW"

22
dictionaries/stata.dict Normal file
View File

@ -0,0 +1,22 @@
" "
")"
"*/"
"/*"
"_column("
"_firstlineoffile("
"_line("
"_lines("
"_lrecl("
"_newline"
"_skip("
"byte"
"dictionary"
"double"
"float"
"infile"
"int"
"long"
"str"
"using"
"{"
"}"

170
dictionaries/svg.dict Normal file
View File

@ -0,0 +1,170 @@
# Keywords taken from
# - https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Introduction
# - https://css-tricks.com/svg-properties-and-css/
"<?xml version=\"1.0\" encoding=\"utf-8\"?>"
"standalone="
"version="
"encoding="
"<?xml"
"?>"
"/>"
"<![CDATA["
# tags
"<svg"
"xmlns=\"http://www.w3.org/2000/svg\""
"<a"
"<animate"
"<animateMotion"
"<animateTransform"
"<circle"
"<clipPath"
"<color-profile"
"<defs"
"<desc"
"<discard"
"<ellipse"
"<feBlend"
"<feColorMatrix"
"<feComponentTransfer"
"<feComposite"
"<feConvolveMatrix"
"<feDiffuseLighting"
"<feDisplacementMap"
"<feDistantLight"
"<feDropShadow"
"<feFlood"
"<feFuncA"
"<feFuncB"
"<feFuncG"
"<feFuncR"
"<feGaussianBlur"
"<feImage"
"<feMerge"
"<feMergeNode"
"<feMorphology"
"<feOffset"
"<fePointLight"
"<feSpecularLighting"
"<feSpotLight"
"<feTile"
"<feTurbulence"
"<filter"
"<foreignObject"
"<g"
"<hatch"
"<hatchpath"
"<image"
"<line"
"<linearGradient"
"<marker"
"<mask"
"<mesh"
"<meshgradient"
"<meshpatch"
"<meshrow"
"<metadata"
"<mpath"
"<path"
"<pattern"
"<polygon"
"<polyline"
"<radialGradient"
"<rect"
"<rect"
"<script"
"<script>"
"<set"
"<solidcolor"
"<stop"
"<style"
"<svg"
"<switch"
"<symbol"
"<text"
"<textArea"
"<textPath"
"<title"
"<title>"
"<tspan"
"<unknown"
"<use"
"<view"
# attributes
"alignment-baseline"
"baseline-shift"
"class"
"color"
"cursor"
"cx"
"cy"
"direction"
"display"
"dominant-baseline"
"editable"
"fill"
"fill-opacity"
"font-family"
"font-size"
"font-size-adjust"
"font-stretch"
"font-style"
"font-variant"
"font-weight"
"glyph-orientation-horizontal"
"glyph-orientation-vertical"
"gradientUnits"
"height"
"kerning""
"letter-spacing"
"offset"
"overflow"
"patternContentUnits"
"pointer-events"
"points"
"rotate"
"rx"
"ry"
"spreadMethod"
"stop-color"
"stop-opacity"
"stroke"
"stroke-dasharray"
"stroke-linecap"
"stroke-linejoin"
"stroke-opacity"
"stroke-width"
"style"
"text-anchor"
"text-decoration"
"textlength"
"transform"
"unicode-bidi"
"visibility"
"width"
"word-spacing"
"writing-mode"
"x1"
"x2"
"y1"
"y2"
# attributes' values
"bounding-Box"
"repeat"
"display"
"transparent"
"orange"
"round"
"butt"
"userSpaceOnUse"
"objectBoundingBox"
"square"
"miter"
"bevel"
"translate("
"rotate("
"matrix("

122
dictionaries/tex.dict Normal file
View File

@ -0,0 +1,122 @@
# main keywords
"@article{"
"@conference{"
"@misc{"
"\\@."
"\\Huge"
"\\LARGE"
"\\LaTeX\\"
"\\Large"
"\\author{"
"\\begin{"
"\\caption"
"\\centering"
"\\chapter{"
"\\citeA{"
"\\citeNP"
"\\citeN{"
"\\citeyear{"
"\\cite{"
"\\cline{"
"\\date{"
"\\documentclass{"
"\\emph{"
"\\end{"
"\\footnotesize"
"\\footnote{"
"\\frac{"
"\\hline"
"\\hspace{"
"\\huge"
"\\includegraphics"
"\\item{"
"\\kill"
"\\label{"
"\\large"
"\\ldots"
"\\leq"
"\\linespread"
"\\maketitle{}"
"\\multicolumn{"
"\\newcommand{"
"\\noindent"
"\\normalfont{"
"\\normalsize"
"\\pagebreak"
"\\pageref{"
"\\pagestyle{"
"\\part{"
"\\prod_{"
"\\raggedleft"
"\\raggedright"
"\\ref{"
"\\rule{"
"\\scriptsize"
"\\section{"
"\\setcounter{"
"\\shortciteA{"
"\\shortciteNP"
"\\shortciteN{"
"\\shortcite{"
"\\small"
"\\sqrt{"
"\\subsection{"
"\\sum_{"
"\\tableofcontents"
"\\textbackslash"
"\\textbar"
"\\textbf{"
"\\textgreater"
"\\textit{"
"\\textless"
"\\textmd{"
"\\textnormal{"
"\\textrm{"
"\\textsc{"
"\\textsf{"
"\\textsl{"
"\\texttt{"
"\\textup{"
"\\tiny"
"\\title{"
"\\today"
"\\underline{"
"\\usepackage"
"\\vspace{"
# misc
"abbrv"
"addres"
"article"
"book"
"center"
"description"
"document"
"draft"
"em"
"enumerate"
"equation"
"figure"
"flushleft"
"flushright"
"hyperref"
"itemize"
"landscape"
"letter"
"letterpaper"
"plain"
"publisher"
"quotation"
"quote"
"report"
"slides"
"tabular*"
"twocolumn"
"twoside"
"unsrt"
"verbatim*"
"verse"
"year"

View File

@ -0,0 +1,9 @@
"{"
"}"
"\""
";"
"="
"formats"
"replaces"
"abstracts"
"timestamp"

View File

@ -0,0 +1,18 @@
"{"
"}"
","
"["
"]"
","
":"
"e"
"e+"
"e-"
"E"
"E+"
"E-"
"\""
"null"
"1"
"1.234"
"3e4"

22
dictionaries/toml.dict Normal file
View File

@ -0,0 +1,22 @@
# https://github.com/toml-lang/toml
key_value="a.b=\"c\""
unicode="\\u1234"
unicode_long="\\u12345678"
true="true"
false="false"
multiline_literal="'''"
multiline="\"\"\""
integer="+1_2_3_4"
negative_integer="-1"
hex="0xde_ad"
oct="0o6"
bin="0b1"
float="-6_3.6e-05"
nan="nan"
inf="inf"
time="1979-05-27T07:32:00Z"
array="[1,2]"
table="[a]"
inline_table="a={1=2,3=4}"
array_table="[[a]]"

25
dictionaries/type42.dict Normal file
View File

@ -0,0 +1,25 @@
# https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5012.Type42_Spec.pdf
# This format is a super-set of postscript, so don't forget to use ps.dict as well
magic="%!PS-TrueTypeFont"
"%%VMUsage:"
"/FontType"
"/FontMatrix"
"/FontName"
"/FontInfo"
"/Encoding"
"/FontBBox"
"/UniqueID"
"/XUID"
"/PaintType"
"/StrokeWidth"
"/Metrics"
"/Metrics2"
"/CDevProc"
"/CharStrings"
"/sfnts"
"/CIDMap"
"/GDBytes"
"/GlyphDirectory"
"/MetricsCount"
"/WMode"

62
dictionaries/url.dict Normal file
View File

@ -0,0 +1,62 @@
# https://en.wikipedia.org/wiki/Uniform_Resource_Identifier
# scheme
"aim"
"callto"
"cvs"
"data"
"facetime"
"feed"
"file"
"ftp"
"git"
"gopher"
"gtalk"
"h323"
"hdl"
"http"
"https"
"imap"
"irc"
"irc6"
"ircs"
"itms"
"javascript"
"magnet"
"mailto"
"mms"
"msnim"
"news"
"nntp"
"prospero"
"rsync"
"rtsp"
"rtspu"
"sftp"
"shttp"
"sip"
"sips"
"skype"
"smb"
"snews"
"ssh"
"svn"
"svn"
"svn+ssh"
"telnet"
"tel"
"wais"
"ymsg"
# encoded characters
"%2f"
"%40"
"%26"
# misc
"://"
"//"
"\\"
"../"
";type=a"
"xn--"

73
dictionaries/utf8.dict Normal file
View File

@ -0,0 +1,73 @@
# https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt
# Defines byteorder and endianess
byte_order="\xFE\xFF"
# Reorder the display of text for RTL reading
right_to_left="\x20\x2E"
# Mongolian Vowel Separator: invisible and has the whitespace property
invisible_separator="\x18\x03"
# Invisible zero-width character.
word_join="\x20\x60"
# Reserved code point
reserved="\xfe\xfe"
# Invalid code point
invalid1="\xff\xff"
invalid2="\x01\xff\xff"
invalid3="\xfdd0"
# unassigned code point
unassigned="\x0f\xed"
# illegal low half-surrogate
illegal_low="\xde\xad"
# illegal high half-surrogate
illegal_high="\xda\xad"
# private use area code usbed by apple for its logo
apple="\xf8\xff"
# hostname normalization
fullwidth_solidus="\xff\x0f"
# numerical mapping and a value
bold_eight="\x01\xd7\xd6"
# # U+00DF normalizes to "ss" during IDNA2003's mapping phase,
# different from its IDNA2008 mapping. See http://www.unicode.org/reports/tr46/
weird="\x00\xdf"
# U+FDFD expands by 11x (UTF-8) and 18x (UTF-16) under NFKC/NFKC
expansion="\xfd\xfd"
# U+0390 expands by 3x (UTF-8) under NFD
expansion2="\x03\x90"
# U+1F82 expands by 4x (UTF-16) under NFD
expansion3= "\x1F\x82"
# U+FB2C expands by 3x (UTF-16) under NFC
expansion4="\xFB\x2C"
# Lowecaser expansion: https://twitter.com/jifa/status/625776454479970304
low_exp1="\x02\x3a"
low_exp2="\x02\x3e"
low_exp3="\x00\xdf"
low_exp4="\x1e\x9e"
# Null byte
null="\x00\x00"
"\xfc\x80\x80\x80\x80\x80"
"fc\x80\x80\x80\x80\xaf"
# Confusing new lines
"\x00\x1b"
"\x00\x85"
"\x20\x28"
"\x20\x29"

119
dictionaries/vcf.dict Normal file
View File

@ -0,0 +1,119 @@
# https://en.wikipedia.org/wiki/VCard
# Properties
"ADR;"
"AGENT:"
"ANNIVERSARY:"
"BDAY:"
"BEGIN:VCARD"
"BIRTHPLACE;"
"CALADRURI:"
"CALURI:"
"CATEGORIES:"
"CLASS:"
"CLIENTPIDMAP:"
"DEATHDATE:"
"DEATHPLACE;"
"EMAIL:"
"END:VCARD"
"EXPERTISE;"
"FBURL:"
"FN:"
"GENDER:"
"GEO:"
"HOBBY;"
"IMPP:"
"INTEREST;"
"KEY"
"KIND"
"LABEL;"
"LANG"
"LOGO"
"MAILER"
"N:"
"NAME:"
"NICKNAME:"
"NOTE:"
"ORG:"
"ORG-DIRECTORY:"
"PHOTO;"
"PRODID:"
"PROFILE:VCARD"
"RELATED;"
"REV:"
"ROLE:"
"SHORT-STRING:"
"SOUND;"
"SOURCES:"
"TEL;"
"TITLE:"
"TZ:"
"UID:"
"URL:"
"VERSION:3.0"
"XML:"
# Extensions
"X-ABUID"
"X-AIM"
"X-ANNIVERSARY"
"X-ASSISTANT"
"X-EVOLUTION-ANNIVERSARY"
"X-EVOLUTION-ASSISTANT"
"X-EVOLUTION-BLOG-URL"
"X-EVOLUTION-CALLBACK"
"X-EVOLUTION-FILE-AS"
"X-EVOLUTION-LIST"
"X-EVOLUTION-LIST-SHOW_ADDRESSES"
"X-EVOLUTION-MANAGER"
"X-EVOLUTION-RADIO"
"X-EVOLUTION-SPOUSE"
"X-EVOLUTION-TELEX"
"X-EVOLUTION-TTYTDD"
"X-EVOLUTION-VIDEO-URL"
"X-GADUGADU"
"X-GENDER"
"X-GOOGLE-TALK,"
"X-GROUPWISE"
"X-ICQ"
"X-JABBER"
"X-KADDRESSBOOK-BlogFeed"
"X-KADDRESSBOOK-OPENPGPFP"
"X-KADDRESSBOOK-X-Anniversary"
"X-KADDRESSBOOK-X-AssistantsName"
"X-KADDRESSBOOK-X-IMAddress"
"X-KADDRESSBOOK-X-ManagersName"
"X-KADDRESSBOOK-X-Office"
"X-KADDRESSBOOK-X-Profession"
"X-KADDRESSBOOK-X-SpouseName"
"X-MANAGER"
"X-MOZILLA-HTML"
"X-MOZILLA-PROPERTY"
"X-MS-CARDPICTURE"
"X-MS-IMADDRESS"
"X-MS-OL-DESIGN"
"X-MSN"
"X-PHONETIC-FIRST-NAME,"
"X-SKYPE,"
"X-SPOUSE"
"X-TWITTER"
"X-WAB-GENDER"
"X-WEBMONEY-ID"
"X-YAHOO"
# Misc
"MEDIATYPE="
"uri:tel"
"TYPE=HOME,PREF:"
"TYPE=PNG;"
"TYPE=WORK,VOICE:"
"x-qq:"
"ENCODING=b:"
"ENCODING=BASE64:"
"MEDIATYPE="
"data:"
"application/gpg-keys;"
"image/png;"
"base64,"
"audio/ogg"
"LEVEL=expert:"

10
dictionaries/vhd.dict Normal file
View File

@ -0,0 +1,10 @@
# https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-VHDX/%5bMS-VHDX%5d.pdf
magic="\x65\x6C\x69\x66\x78\x64\x68\x76"
head="\x64\x61\x65\x68"
regi="\x69\x67\x65\x72"
loge="\x65\x67\x6F\x6C"
zero="\x6F\x72\x65\x7A"
desc="\x63\x73\x65\x64"
data="\x61\x74\x61\x64"
metadata="\x61\x74\x61\x64\x61\x74\x65\x6D"

View File

@ -0,0 +1,8 @@
# IVF Signature + version (bytes 0-5)
kw1="DKIF\x00\x00"
# VP9 codec fourCC (bytes 8-11)
kw2="VP90"
# VP8 codec fourCC (bytes 8-11)
kw3="VP80"

25
dictionaries/wav.dict Normal file
View File

@ -0,0 +1,25 @@
header="RIFF"
header_id="WAVE"
fmt_chunk="fmt "
fact_chunk="fact"
data_chunk="data"
cue_chunk="cue "
playlist_chunk="plst"
list_chunk="list"
label_chunk="labl"
note_chunk="note"
labeled_text_chunk="ltxt"
sampler_chunk="smpl"
instrument_chunk="inst"
# IFF extension: https://web.archive.org/web/20080114200405/http://www.borg.com/~jglatt/tech/aboutiff.htm
"FORM"
"LIST"
"CAT "
"ILBM"
"AIFF"
"ANIM"
"CMAP"
"MIDI"
"MThd"

152
dictionaries/webm.dict Normal file
View File

@ -0,0 +1,152 @@
# Element IDs.
IdEbml = "\x1A\x45\xDF\xA3"
IdEbmlVersion = "\x42\x86"
IdEbmlReadVersion = "\x42\xF7"
IdEbmlMaxIdLength = "\x42\xF2"
IdEbmlMaxSizeLength = "\x42\xF3"
IdDocType = "\x42\x82"
IdDocTypeVersion = "\x42\x87"
IdDocTypeReadVersion = "\x42\x85"
IdVoid = "\xEC"
IdSegment = "\x18\x53\x80\x67"
IdSeekHead = "\x11\x4D\x9B\x74"
IdSeek = "\x4D\xBB"
IdSeekId = "\x53\xAB"
IdSeekPosition = "\x53\xAC"
IdInfo = "\x15\x49\xA9\x66"
IdTimecodeScale = "\x2A\xD7\xB1"
IdDuration = "\x44\x89"
IdDateUtc = "\x44\x61"
IdTitle = "\x7B\xA9"
IdMuxingApp = "\x4D\x80"
IdWritingApp = "\x57\x41"
IdCluster = "\x1F\x43\xB6\x75"
IdTimecode = "\xE7"
IdPrevSize = "\xAB"
IdSimpleBlock = "\xA3"
IdBlockGroup = "\xA0"
IdBlock = "\xA1"
IdBlockVirtual = "\xA2"
IdBlockAdditions = "\x75\xA1"
IdBlockMore = "\xA6"
IdBlockAddId = "\xEE"
IdBlockAdditional = "\xA5"
IdBlockDuration = "\x9B"
IdReferenceBlock = "\xFB"
IdDiscardPadding = "\x75\xA2"
IdSlices = "\x8E"
IdTimeSlice = "\xE8"
IdLaceNumber = "\xCC"
IdTracks = "\x16\x54\xAE\x6B"
IdTrackEntry = "\xAE"
IdTrackNumber = "\xD7"
IdTrackUid = "\x73\xC5"
IdTrackType = "\x83"
IdFlagEnabled = "\xB9"
IdFlagDefault = "\x88"
IdFlagForced = "\x55\xAA"
IdFlagLacing = "\x9C"
IdDefaultDuration = "\x23\xE3\x83"
IdName = "\x53\x6E"
IdLanguage = "\x22\xB5\x9C"
IdCodecId = "\x86"
IdCodecPrivate = "\x63\xA2"
IdCodecName = "\x25\x86\x88"
IdCodecDelay = "\x56\xAA"
IdSeekPreRoll = "\x56\xBB"
IdVideo = "\xE0"
IdFlagInterlaced = "\x9A"
IdStereoMode = "\x53\xB8"
IdAlphaMode = "\x53\xC0"
IdPixelWidth = "\xB0"
IdPixelHeight = "\xBA"
IdPixelCropBottom = "\x54\xAA"
IdPixelCropTop = "\x54\xBB"
IdPixelCropLeft = "\x54\xCC"
IdPixelCropRight = "\x54\xDD"
IdDisplayWidth = "\x54\xB0"
IdDisplayHeight = "\x54\xBA"
IdDisplayUnit = "\x54\xB2"
IdAspectRatioType = "\x54\xB3"
IdFrameRate = "\x23\x83\xE3"
IdColour = "\x55\xB0"
IdMatrixCoefficients = "\x55\xB1"
IdBitsPerChannel = "\x55\xB2"
IdChromaSubsamplingHorz = "\x55\xB3"
IdChromaSubsamplingVert = "\x55\xB4"
IdCbSubsamplingHorz = "\x55\xB5"
IdCbSubsamplingVert = "\x55\xB6"
IdChromaSitingHorz = "\x55\xB7"
IdChromaSitingVert = "\x55\xB8"
IdRange = "\x55\xB9"
IdTransferCharacteristics = "\x55\xBA"
IdPrimaries = "\x55\xBB"
IdMaxCll = "\x55\xBC"
IdMaxFall = "\x55\xBD"
IdMasteringMetadata = "\x55\xD0"
IdPrimaryRChromaticityX = "\x55\xD1"
IdPrimaryRChromaticityY = "\x55\xD2"
IdPrimaryGChromaticityX = "\x55\xD3"
IdPrimaryGChromaticityY = "\x55\xD4"
IdPrimaryBChromaticityX = "\x55\xD5"
IdPrimaryBChromaticityY = "\x55\xD6"
IdWhitePointChromaticityX = "\x55\xD7"
IdWhitePointChromaticityY = "\x55\xD8"
IdLuminanceMax = "\x55\xD9"
IdLuminanceMin = "\x55\xDA"
IdProjection = "\x76\x70"
IdProjectionType = "\x76\x71"
IdProjectionPrivate = "\x76\x72"
IdProjectionPoseYaw = "\x76\x73"
IdProjectionPosePitch = "\x76\x74"
IdProjectionPoseRoll = "\x76\x75"
IdAudio = "\xE1"
IdSamplingFrequency = "\xB5"
IdOutputSamplingFrequency = "\x78\xB5"
IdChannels = "\x9F"
IdBitDepth = "\x62\x64"
IdContentEncodings = "\x6D\x80"
IdContentEncoding = "\x62\x40"
IdContentEncodingOrder = "\x50\x31"
IdContentEncodingScope = "\x50\x32"
IdContentEncodingType = "\x50\x33"
IdContentEncryption = "\x50\x35"
IdContentEncAlgo = "\x47\xE1"
IdContentEncKeyId = "\x47\xE2"
IdContentEncAesSettings = "\x47\xE7"
IdAesSettingsCipherMode = "\x47\xE8"
IdCues = "\x1C\x53\xBB\x6B"
IdCuePoint = "\xBB"
IdCueTime = "\xB3"
IdCueTrackPositions = "\xB7"
IdCueTrack = "\xF7"
IdCueClusterPosition = "\xF1"
IdCueRelativePosition = "\xF0"
IdCueDuration = "\xB2"
IdCueBlockNumber = "\x53\x78"
IdChapters = "\x10\x43\xA7\x70"
IdEditionEntry = "\x45\xB9"
IdChapterAtom = "\xB6"
IdChapterUid = "\x73\xC4"
IdChapterStringUid = "\x56\x54"
IdChapterTimeStart = "\x91"
IdChapterTimeEnd = "\x92"
IdChapterDisplay = "\x80"
IdChapString = "\x85"
IdChapLanguage = "\x43\x7C"
IdChapCountry = "\x43\x7E"
IdTags = "\x12\x54\xC3\x67"
IdTag = "\x73\x73"
IdTargets = "\x63\xC0"
IdTargetTypeValue = "\x68\xCA"
IdTargetType = "\x63\xCA"
IdTagTrackUid = "\x63\xC5"
IdSimpleTag = "\x67\xC8"
IdTagName = "\x45\xA3"
IdTagLanguage = "\x44\x7A"
IdTagDefault = "\x44\x84"
IdTagString = "\x44\x87"
IdTagBinary = "\x44\x85"
# Interesting sizes.
SizeUnknown = "\xFF"

35
dictionaries/wkt.dict Normal file
View File

@ -0,0 +1,35 @@
# https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry
"AFFINEPLACEMENT"
"BREPSOLID"
"CIRCLE"
"CIRCULARSTRING"
"CLOTHOID"
"COMPOUNDCURVE"
"CURVE"
"CURVEPOLYGON"
"ELLIPTICALCURVE"
"EMPTY"
"GEODESICSTRING"
"GEOMETRY"
"GEOMETRYCOLLECTION"
"LINESTRING"
"MULTICURVE"
"MULTILINESTRING"
"MULTIPOINT"
"MULTIPOLYGON"
"MULTISURFACE"
"NURBSCURVE"
"POINT"
"PATCHES"
"POLYGON"
"POLYHEDRALSURFACE"
"SPIRALCURVE"
"SRID"
"SURFACE"
"TIN"
"TRIANGLE"
"ZM"
# misc
"(1,2)"

1885
dictionaries/x86.dict Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,103 @@
# xml.dict converted to UTF-16 encoding.
"\xff\xfe \x00e\x00n\x00c\x00o\x00d\x00i\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
"\xff\xfe \x00a\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
"\xff\xfe \x00h\x00r\x00e\x00f\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
"\xff\xfe \x00s\x00t\x00a\x00n\x00d\x00a\x00l\x00o\x00n\x00e\x00=\x00\\\x00"\x00n\x00o\x00\\\x00"\x00"
"\xff\xfe \x00v\x00e\x00r\x00s\x00i\x00o\x00n\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
"\xff\xfe \x00x\x00m\x00l\x00:\x00b\x00a\x00s\x00e\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
"\xff\xfe \x00x\x00m\x00l\x00:\x00i\x00d\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
"\xff\xfe \x00x\x00m\x00l\x00:\x00l\x00a\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
"\xff\xfe \x00x\x00m\x00l\x00:\x00s\x00p\x00a\x00c\x00e\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
"\xff\xfe \x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
"\xff\xfe&\x00l\x00t\x00;\x00"
"\xff\xfe&\x00#\x001\x00;\x00"
"\xff\xfe&\x00a\x00;\x00"
"\xff\xfe&\x00#\x00x\x001\x00;\x00"
"\xff\xfeA\x00N\x00Y\x00"
"\xff\xfeA\x00T\x00T\x00L\x00I\x00S\x00T\x00"
"\xff\xfeC\x00D\x00A\x00T\x00A\x00"
"\xff\xfeD\x00O\x00C\x00T\x00Y\x00P\x00E\x00"
"\xff\xfeE\x00L\x00E\x00M\x00E\x00N\x00T\x00"
"\xff\xfeE\x00M\x00P\x00T\x00Y\x00"
"\xff\xfeE\x00N\x00T\x00I\x00T\x00I\x00E\x00S\x00"
"\xff\xfeE\x00N\x00T\x00I\x00T\x00Y\x00"
"\xff\xfeF\x00I\x00X\x00E\x00D\x00"
"\xff\xfeI\x00D\x00"
"\xff\xfeI\x00D\x00R\x00E\x00F\x00"
"\xff\xfeI\x00D\x00R\x00E\x00F\x00S\x00"
"\xff\xfeI\x00G\x00N\x00O\x00R\x00E\x00"
"\xff\xfeI\x00M\x00P\x00L\x00I\x00E\x00D\x00"
"\xff\xfeI\x00N\x00C\x00L\x00U\x00D\x00E\x00"
"\xff\xfeN\x00D\x00A\x00T\x00A\x00"
"\xff\xfeN\x00M\x00T\x00O\x00K\x00E\x00N\x00"
"\xff\xfeN\x00M\x00T\x00O\x00K\x00E\x00N\x00S\x00"
"\xff\xfeN\x00O\x00T\x00A\x00T\x00I\x00O\x00N\x00"
"\xff\xfeP\x00C\x00D\x00A\x00T\x00A\x00"
"\xff\xfeP\x00U\x00B\x00L\x00I\x00C\x00"
"\xff\xfeR\x00E\x00Q\x00U\x00I\x00R\x00E\x00D\x00"
"\xff\xfeS\x00Y\x00S\x00T\x00E\x00M\x00"
"\xff\xfe<\x00"
"\xff\xfe>\x00"
"\xff\xfe/\x00>\x00"
"\xff\xfe<\x00/\x00"
"\xff\xfe<\x00?\x00"
"\xff\xfe?\x00>\x00"
"\xff\xfe<\x00!\x00"
"\xff\xfe!\x00>\x00"
"\xff\xfe[\x00]\x00"
"\xff\xfe]\x00]\x00"
"\xff\xfe<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00[\x00"
"\xff\xfe<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00[\x00]\x00]\x00>\x00"
"\xff\xfe\\\x00"\x00\\\x00"\x00"
"\xff\xfe'\x00'\x00"
"\xff\xfe=\x00\\\x00"\x00\\\x00"\x00"
"\xff\xfe=\x00'\x00'\x00"
"\xff\xfe<\x00!\x00A\x00T\x00T\x00L\x00I\x00S\x00T\x00"
"\xff\xfe<\x00!\x00D\x00O\x00C\x00T\x00Y\x00P\x00E\x00"
"\xff\xfe<\x00!\x00E\x00L\x00E\x00M\x00E\x00N\x00T\x00"
"\xff\xfe<\x00!\x00E\x00N\x00T\x00I\x00T\x00Y\x00"
"\xff\xfe<\x00!\x00[\x00I\x00G\x00N\x00O\x00R\x00E\x00[\x00"
"\xff\xfe<\x00!\x00[\x00I\x00N\x00C\x00L\x00U\x00D\x00E\x00[\x00"
"\xff\xfe<\x00!\x00N\x00O\x00T\x00A\x00T\x00I\x00O\x00N\x00"
"\xff\xfe#\x00C\x00D\x00A\x00T\x00A\x00"
"\xff\xfe#\x00F\x00I\x00X\x00E\x00D\x00"
"\xff\xfe#\x00I\x00M\x00P\x00L\x00I\x00E\x00D\x00"
"\xff\xfe#\x00P\x00C\x00D\x00A\x00T\x00A\x00"
"\xff\xfe#\x00R\x00E\x00Q\x00U\x00I\x00R\x00E\x00D\x00"
"\xff\xfeI\x00S\x00O\x00-\x008\x008\x005\x009\x00-\x001\x00"
"\xff\xfeU\x00S\x00-\x00A\x00S\x00C\x00I\x00I\x00"
"\xff\xfeU\x00T\x00F\x00-\x008\x00"
"\xff\xfeU\x00T\x00F\x00-\x001\x006\x00"
"\xff\xfeU\x00T\x00F\x00-\x001\x006\x00B\x00E\x00"
"\xff\xfeU\x00T\x00F\x00-\x001\x006\x00L\x00E\x00"
"\xff\xfex\x00m\x00l\x00n\x00s\x00"
"\xff\xfex\x00m\x00l\x00n\x00s\x00:\x00"
"\xff\xfex\x00m\x00l\x00n\x00s\x00:\x00x\x00h\x00t\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x001\x009\x009\x009\x00/\x00x\x00h\x00t\x00m\x00l\x00\\\x00"\x00"
"\xff\xfex\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x00X\x00M\x00L\x00/\x001\x009\x009\x008\x00/\x00n\x00a\x00m\x00e\x00s\x00p\x00a\x00c\x00e\x00\\\x00"\x00"
"\xff\xfex\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x002\x000\x000\x000\x00/\x00x\x00m\x00l\x00n\x00s\x00\\\x00"\x00"
"\xff\xfe:\x00f\x00a\x00l\x00l\x00b\x00a\x00c\x00k\x00"
"\xff\xfe:\x00a\x00"
"\xff\xfe:\x00i\x00n\x00c\x00l\x00u\x00d\x00e\x00"
"\xff\xfe-\x00-\x00"
"\xff\xfe(\x00)\x00"
"\xff\xfe%\x00a\x00"
"\xff\xfe:\x00s\x00c\x00h\x00e\x00m\x00a\x00"
"\xff\xfeU\x00C\x00S\x00-\x004\x00"
"\xff\xfe<\x00/\x00a\x00>\x00"
"\xff\xfe<\x00a\x00>\x00"
"\xff\xfe<\x00a\x00 \x00/\x00>\x00"
"\xff\xfe<\x00?\x00x\x00m\x00l\x00?\x00>\x00"
"\xff\xfeh\x00t\x00t\x00p\x00:\x00/\x00/\x00d\x00o\x00c\x00b\x00o\x00o\x00"
"\xff\xfeh\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x00"
"\xff\xfeh\x00e\x003\x000\x00"
"\xff\xfeh\x00e\x002\x00"
"\xff\xfeI\x00E\x00T\x00"
"\xff\xfeF\x00D\x00F\x00-\x001\x000\x00"
"\xff\xfea\x00D\x00U\x00C\x00S\x00-\x004\x00O\x00P\x00v\x00e\x00b\x00:\x00"
"\xff\xfea\x00>\x00"
"\xff\xfeU\x00T\x00"
"\xff\xfex\x00M\x00l\x00"
"\xff\xfe/\x00u\x00s\x00r\x00/\x00s\x00h\x00a\x00r\x00e\x00/\x00s\x00g\x00"
"\xff\xfeh\x00a\x000\x007\x00"
"\xff\xfeh\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00o\x00a\x00"
"\xff\xfec\x00l\x00e\x00"

View File

@ -0,0 +1,103 @@
# xml.dict converted to UTF-16BE encoding.
"\x00 \x00e\x00n\x00c\x00o\x00d\x00i\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00""
"\x00 \x00a\x00=\x00\\\x00"\x001\x00\\\x00""
"\x00 \x00h\x00r\x00e\x00f\x00=\x00\\\x00"\x001\x00\\\x00""
"\x00 \x00s\x00t\x00a\x00n\x00d\x00a\x00l\x00o\x00n\x00e\x00=\x00\\\x00"\x00n\x00o\x00\\\x00""
"\x00 \x00v\x00e\x00r\x00s\x00i\x00o\x00n\x00=\x00\\\x00"\x001\x00\\\x00""
"\x00 \x00x\x00m\x00l\x00:\x00b\x00a\x00s\x00e\x00=\x00\\\x00"\x001\x00\\\x00""
"\x00 \x00x\x00m\x00l\x00:\x00i\x00d\x00=\x00\\\x00"\x001\x00\\\x00""
"\x00 \x00x\x00m\x00l\x00:\x00l\x00a\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00""
"\x00 \x00x\x00m\x00l\x00:\x00s\x00p\x00a\x00c\x00e\x00=\x00\\\x00"\x001\x00\\\x00""
"\x00 \x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x001\x00\\\x00""
"\x00&\x00l\x00t\x00;"
"\x00&\x00#\x001\x00;"
"\x00&\x00a\x00;"
"\x00&\x00#\x00x\x001\x00;"
"\x00A\x00N\x00Y"
"\x00A\x00T\x00T\x00L\x00I\x00S\x00T"
"\x00C\x00D\x00A\x00T\x00A"
"\x00D\x00O\x00C\x00T\x00Y\x00P\x00E"
"\x00E\x00L\x00E\x00M\x00E\x00N\x00T"
"\x00E\x00M\x00P\x00T\x00Y"
"\x00E\x00N\x00T\x00I\x00T\x00I\x00E\x00S"
"\x00E\x00N\x00T\x00I\x00T\x00Y"
"\x00F\x00I\x00X\x00E\x00D"
"\x00I\x00D"
"\x00I\x00D\x00R\x00E\x00F"
"\x00I\x00D\x00R\x00E\x00F\x00S"
"\x00I\x00G\x00N\x00O\x00R\x00E"
"\x00I\x00M\x00P\x00L\x00I\x00E\x00D"
"\x00I\x00N\x00C\x00L\x00U\x00D\x00E"
"\x00N\x00D\x00A\x00T\x00A"
"\x00N\x00M\x00T\x00O\x00K\x00E\x00N"
"\x00N\x00M\x00T\x00O\x00K\x00E\x00N\x00S"
"\x00N\x00O\x00T\x00A\x00T\x00I\x00O\x00N"
"\x00P\x00C\x00D\x00A\x00T\x00A"
"\x00P\x00U\x00B\x00L\x00I\x00C"
"\x00R\x00E\x00Q\x00U\x00I\x00R\x00E\x00D"
"\x00S\x00Y\x00S\x00T\x00E\x00M"
"\x00<"
"\x00>"
"\x00/\x00>"
"\x00<\x00/"
"\x00<\x00?"
"\x00?\x00>"
"\x00<\x00!"
"\x00!\x00>"
"\x00[\x00]"
"\x00]\x00]"
"\x00<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00["
"\x00<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00[\x00]\x00]\x00>"
"\x00\\\x00"\x00\\\x00""
"\x00'\x00'"
"\x00=\x00\\\x00"\x00\\\x00""
"\x00=\x00'\x00'"
"\x00<\x00!\x00A\x00T\x00T\x00L\x00I\x00S\x00T"
"\x00<\x00!\x00D\x00O\x00C\x00T\x00Y\x00P\x00E"
"\x00<\x00!\x00E\x00L\x00E\x00M\x00E\x00N\x00T"
"\x00<\x00!\x00E\x00N\x00T\x00I\x00T\x00Y"
"\x00<\x00!\x00[\x00I\x00G\x00N\x00O\x00R\x00E\x00["
"\x00<\x00!\x00[\x00I\x00N\x00C\x00L\x00U\x00D\x00E\x00["
"\x00<\x00!\x00N\x00O\x00T\x00A\x00T\x00I\x00O\x00N"
"\x00#\x00C\x00D\x00A\x00T\x00A"
"\x00#\x00F\x00I\x00X\x00E\x00D"
"\x00#\x00I\x00M\x00P\x00L\x00I\x00E\x00D"
"\x00#\x00P\x00C\x00D\x00A\x00T\x00A"
"\x00#\x00R\x00E\x00Q\x00U\x00I\x00R\x00E\x00D"
"\x00I\x00S\x00O\x00-\x008\x008\x005\x009\x00-\x001"
"\x00U\x00S\x00-\x00A\x00S\x00C\x00I\x00I"
"\x00U\x00T\x00F\x00-\x008"
"\x00U\x00T\x00F\x00-\x001\x006"
"\x00U\x00T\x00F\x00-\x001\x006\x00B\x00E"
"\x00U\x00T\x00F\x00-\x001\x006\x00L\x00E"
"\x00x\x00m\x00l\x00n\x00s"
"\x00x\x00m\x00l\x00n\x00s\x00:"
"\x00x\x00m\x00l\x00n\x00s\x00:\x00x\x00h\x00t\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x001\x009\x009\x009\x00/\x00x\x00h\x00t\x00m\x00l\x00\\\x00""
"\x00x\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x00X\x00M\x00L\x00/\x001\x009\x009\x008\x00/\x00n\x00a\x00m\x00e\x00s\x00p\x00a\x00c\x00e\x00\\\x00""
"\x00x\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x002\x000\x000\x000\x00/\x00x\x00m\x00l\x00n\x00s\x00\\\x00""
"\x00:\x00f\x00a\x00l\x00l\x00b\x00a\x00c\x00k"
"\x00:\x00a"
"\x00:\x00i\x00n\x00c\x00l\x00u\x00d\x00e"
"\x00-\x00-"
"\x00(\x00)"
"\x00%\x00a"
"\x00:\x00s\x00c\x00h\x00e\x00m\x00a"
"\x00U\x00C\x00S\x00-\x004"
"\x00<\x00/\x00a\x00>"
"\x00<\x00a\x00>"
"\x00<\x00a\x00 \x00/\x00>"
"\x00<\x00?\x00x\x00m\x00l\x00?\x00>"
"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00d\x00o\x00c\x00b\x00o\x00o"
"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w"
"\x00h\x00e\x003\x000"
"\x00h\x00e\x002"
"\x00I\x00E\x00T"
"\x00F\x00D\x00F\x00-\x001\x000"
"\x00a\x00D\x00U\x00C\x00S\x00-\x004\x00O\x00P\x00v\x00e\x00b\x00:"
"\x00a\x00>"
"\x00U\x00T"
"\x00x\x00M\x00l"
"\x00/\x00u\x00s\x00r\x00/\x00s\x00h\x00a\x00r\x00e\x00/\x00s\x00g"
"\x00h\x00a\x000\x007"
"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00o\x00a"
"\x00c\x00l\x00e"

View File

@ -0,0 +1,103 @@
# xml.dict converted to UTF-16LE encoding.
" \x00e\x00n\x00c\x00o\x00d\x00i\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
" \x00a\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
" \x00h\x00r\x00e\x00f\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
" \x00s\x00t\x00a\x00n\x00d\x00a\x00l\x00o\x00n\x00e\x00=\x00\\\x00"\x00n\x00o\x00\\\x00"\x00"
" \x00v\x00e\x00r\x00s\x00i\x00o\x00n\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
" \x00x\x00m\x00l\x00:\x00b\x00a\x00s\x00e\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
" \x00x\x00m\x00l\x00:\x00i\x00d\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
" \x00x\x00m\x00l\x00:\x00l\x00a\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
" \x00x\x00m\x00l\x00:\x00s\x00p\x00a\x00c\x00e\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
" \x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
"&\x00l\x00t\x00;\x00"
"&\x00#\x001\x00;\x00"
"&\x00a\x00;\x00"
"&\x00#\x00x\x001\x00;\x00"
"A\x00N\x00Y\x00"
"A\x00T\x00T\x00L\x00I\x00S\x00T\x00"
"C\x00D\x00A\x00T\x00A\x00"
"D\x00O\x00C\x00T\x00Y\x00P\x00E\x00"
"E\x00L\x00E\x00M\x00E\x00N\x00T\x00"
"E\x00M\x00P\x00T\x00Y\x00"
"E\x00N\x00T\x00I\x00T\x00I\x00E\x00S\x00"
"E\x00N\x00T\x00I\x00T\x00Y\x00"
"F\x00I\x00X\x00E\x00D\x00"
"I\x00D\x00"
"I\x00D\x00R\x00E\x00F\x00"
"I\x00D\x00R\x00E\x00F\x00S\x00"
"I\x00G\x00N\x00O\x00R\x00E\x00"
"I\x00M\x00P\x00L\x00I\x00E\x00D\x00"
"I\x00N\x00C\x00L\x00U\x00D\x00E\x00"
"N\x00D\x00A\x00T\x00A\x00"
"N\x00M\x00T\x00O\x00K\x00E\x00N\x00"
"N\x00M\x00T\x00O\x00K\x00E\x00N\x00S\x00"
"N\x00O\x00T\x00A\x00T\x00I\x00O\x00N\x00"
"P\x00C\x00D\x00A\x00T\x00A\x00"
"P\x00U\x00B\x00L\x00I\x00C\x00"
"R\x00E\x00Q\x00U\x00I\x00R\x00E\x00D\x00"
"S\x00Y\x00S\x00T\x00E\x00M\x00"
"<\x00"
">\x00"
"/\x00>\x00"
"<\x00/\x00"
"<\x00?\x00"
"?\x00>\x00"
"<\x00!\x00"
"!\x00>\x00"
"[\x00]\x00"
"]\x00]\x00"
"<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00[\x00"
"<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00[\x00]\x00]\x00>\x00"
"\\\x00"\x00\\\x00"\x00"
"'\x00'\x00"
"=\x00\\\x00"\x00\\\x00"\x00"
"=\x00'\x00'\x00"
"<\x00!\x00A\x00T\x00T\x00L\x00I\x00S\x00T\x00"
"<\x00!\x00D\x00O\x00C\x00T\x00Y\x00P\x00E\x00"
"<\x00!\x00E\x00L\x00E\x00M\x00E\x00N\x00T\x00"
"<\x00!\x00E\x00N\x00T\x00I\x00T\x00Y\x00"
"<\x00!\x00[\x00I\x00G\x00N\x00O\x00R\x00E\x00[\x00"
"<\x00!\x00[\x00I\x00N\x00C\x00L\x00U\x00D\x00E\x00[\x00"
"<\x00!\x00N\x00O\x00T\x00A\x00T\x00I\x00O\x00N\x00"
"#\x00C\x00D\x00A\x00T\x00A\x00"
"#\x00F\x00I\x00X\x00E\x00D\x00"
"#\x00I\x00M\x00P\x00L\x00I\x00E\x00D\x00"
"#\x00P\x00C\x00D\x00A\x00T\x00A\x00"
"#\x00R\x00E\x00Q\x00U\x00I\x00R\x00E\x00D\x00"
"I\x00S\x00O\x00-\x008\x008\x005\x009\x00-\x001\x00"
"U\x00S\x00-\x00A\x00S\x00C\x00I\x00I\x00"
"U\x00T\x00F\x00-\x008\x00"
"U\x00T\x00F\x00-\x001\x006\x00"
"U\x00T\x00F\x00-\x001\x006\x00B\x00E\x00"
"U\x00T\x00F\x00-\x001\x006\x00L\x00E\x00"
"x\x00m\x00l\x00n\x00s\x00"
"x\x00m\x00l\x00n\x00s\x00:\x00"
"x\x00m\x00l\x00n\x00s\x00:\x00x\x00h\x00t\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x001\x009\x009\x009\x00/\x00x\x00h\x00t\x00m\x00l\x00\\\x00"\x00"
"x\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x00X\x00M\x00L\x00/\x001\x009\x009\x008\x00/\x00n\x00a\x00m\x00e\x00s\x00p\x00a\x00c\x00e\x00\\\x00"\x00"
"x\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x002\x000\x000\x000\x00/\x00x\x00m\x00l\x00n\x00s\x00\\\x00"\x00"
":\x00f\x00a\x00l\x00l\x00b\x00a\x00c\x00k\x00"
":\x00a\x00"
":\x00i\x00n\x00c\x00l\x00u\x00d\x00e\x00"
"-\x00-\x00"
"(\x00)\x00"
"%\x00a\x00"
":\x00s\x00c\x00h\x00e\x00m\x00a\x00"
"U\x00C\x00S\x00-\x004\x00"
"<\x00/\x00a\x00>\x00"
"<\x00a\x00>\x00"
"<\x00a\x00 \x00/\x00>\x00"
"<\x00?\x00x\x00m\x00l\x00?\x00>\x00"
"h\x00t\x00t\x00p\x00:\x00/\x00/\x00d\x00o\x00c\x00b\x00o\x00o\x00"
"h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x00"
"h\x00e\x003\x000\x00"
"h\x00e\x002\x00"
"I\x00E\x00T\x00"
"F\x00D\x00F\x00-\x001\x000\x00"
"a\x00D\x00U\x00C\x00S\x00-\x004\x00O\x00P\x00v\x00e\x00b\x00:\x00"
"a\x00>\x00"
"U\x00T\x00"
"x\x00M\x00l\x00"
"/\x00u\x00s\x00r\x00/\x00s\x00h\x00a\x00r\x00e\x00/\x00s\x00g\x00"
"h\x00a\x000\x007\x00"
"h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00o\x00a\x00"
"c\x00l\x00e\x00"

66
dictionaries/xpath.dict Normal file
View File

@ -0,0 +1,66 @@
# https://developer.mozilla.org/en-US/docs/Web/XPath
# https://devhints.io/xpath
# selectors
"//"
"./"
"::"
"[*]"
# functions - https://developer.mozilla.org/en-US/docs/Web/XPath/Functions
"boolean("
"ceiling("
"choose("
"concat("
"contains("
"count("
"current()"
"document("
"element-available("
"ends-with("
"false()"
"floor("
"format-number("
"function-available("
"generate-id("
"id("
"key("
"lang("
"last()"
"local-name("
"name("
"namespace-uri("
"normalize-space("
"not("
"number("
"or"
"position("
"round("
"starts-with("
"string("
"string-length("
"substring("
"substring-after("
"substring-before("
"sum("
"system-property("
"text()"
"translate("
"true()"
"unparsed-entity-url("
# axes - https://developer.mozilla.org/en-US/docs/Web/XPath/Axes
"ancestor"
"ancestor-or-self"
"attribute"
"child"
"descendant"
"descendant-or-self"
"following"
"following-sibling"
"namespace"
"parent"
"preceding"
"preceding-sibling"
"self"

118
dictionaries/xslt.dict Normal file
View File

@ -0,0 +1,118 @@
# Tokens taken from:
# - https://www.w3.org/TR/xslt20/
# - https://en.wikipedia.org/wiki/XSLT_elements
# - https://developer.mozilla.org/en-US/docs/Web/XSLT/Element
"<?"
"<?xslt-"
"?>"
"version=\"1.0\""
"encoding=\""
"<xsl:"
"/>"
"</xsl:"
">"
"<"
"<!--"
"-->"
"@"
"apply-imports"
"apply-templates"
"attribute"
"attribute-set"
"call-template"
"character-map"
"choose"
"comment"
"copy"
"copy-of"
"decimal-format"
"default-collection"
"element"
"exclude-result-prefixes"
"extension-element-prefixes"
"fallback"
"for-each"
"function"
"if"
"import"
"import-schema"
"include"
"key"
"message"
"namespace-alias"
"number"
"otherwise"
"output"
"param"
"preserve-space"
"processing-instruction"
"sort"
"strip-space"
"stylesheet"
"template"
"text"
"transform"
"use-when"
"value-of"
"variable"
"version"
"when"
"with-param"
# attributes
" name=\""
" namespace=\""
" select=\""
" test=\""
" type=\""
" value=\""
" prefix=\""
# functions
"ceiling"
"concat"
"contains"
"count"
"floor"
"normalize_space"
"position"
"round"
"string"
"string-length"
"substring"
"substring-after"
"substring-before"
"sum"
"translate"
# math extension
"http://exslt.org/math"
"math:highest"
"math:lowest"
"math:max"
"math:min"
# regex extension
"http://exslt.org/regular-expressions"
"regexp:match"
"regexp:replace"
"regexp:test"
# set extension
"http://exslt.org/sets"
"set:difference"
"set:distinct"
"set:has-same-node"
"set:intersection"
"set:leading"
"set:trailing"
# str extension
"http://exslt.org/strings"
"str:concat"
"str:split"
"str:tokenize"

79
dictionaries/yaml.dict Normal file
View File

@ -0,0 +1,79 @@
# sources:
# - https://en.wikipedia.org/wiki/YAML
# - https://yaml.org/spec/1.1/
# - https://yaml.org/type/
directive_yaml="%YAML 1.2"
directive_tag="%TAG !yaml! tag:yaml.org,2002:"
directive_tag2="%TAG !m! !my-"
true="true"
caps_true="TRUE"
caps_false="FALSE"
literal_true="YES"
literal_false="NO"
false="false"
start="---"
comment="#"
list="- "
key="k: "
walrus="=:"
question_key="?k: "
number="\"0e5\""
expand="!!"
list="[a,b]"
dict="{k: v, x: y}"
value=": v"
exponent="e+03"
neg_inf="-.inf"
nan=".NaN"
end="..."
quoted_key="'k'"
newline="k: |"
newline2="k: >"
anchor="&a"
reference="*a"
type_binary="!!binary"
type_bool="!!bool"
type_float="!!float"
type_int="!!int"
type_map="!!map"
type_merge="!!merge"
type_null="!!null"
type_omap="!!omap"
type_pairs="!!pairs"
type_seq="!!seq"
type_set="!!set"
type_str="!!str"
type_timestamp="!!timestamp"
type_value="!!value"
type_yaml="!!yaml"
type_python="!!python"
merge = "<<"
number_separation="_"
decimal_number="+30_123"
octal_number="0123"
hex_number="0x_12_23"
bin_number="0b1001_1001"
sexa_number="123:34:75"
complex_mapping="? "
litteral_style=" |"
folded_style=" >"
timestamp="2001-12-14t21:59:43.10-05:00"
escaped_unicode="\\u2029"
"["
"]"
"{"
"}"
"-"
","
"&"
"<<"
":"
"|"
"!!"
">"
"\""
"'"
integer="123"
float="12.5"
mantissa="1.3e+9"

196
dictionaries/yara.dict Normal file
View File

@ -0,0 +1,196 @@
# https://yara.readthedocs.io/en/latest/
# Keywords
"all"
"and"
"any"
"ascii"
"at"
"condition"
"contains"
"entrypoint"
"false"
"filesize"
"for"
"fullword"
"global"
"import"
"in"
"include"
"int16"
"int16be"
"int32"
"int32be"
"int8"
"int8be"
"matches"
"meta"
"nocase"
"not"
"of"
"or"
"private"
"rule"
"strings"
"them"
"true"
"uint16"
"uint16be"
"uint32"
"uint32be"
"uint8"
"uint8be"
"wide"
"xor"
# pe module
"\"pe\""
"pe.machine"
"pe.checksum"
"pe.calculate_checksum"
"pe.subsystem"
"pe.timestamp"
"pe.pointer_to_symbol_table"
"pe.number_of_sumbols"
"pe.size_of_optional_header"
"pe.pothdr_magic"
"pe.size_of_code"
"pe.size_of_initialized_data"
"pe.size_of_unnitialized_data"
"pe.entrypoint"
"pe.base_of_code"
"pe.base_of_data"
"pe.image_base"
"pe.section_alignment"
"pe.file_alignment"
"pe.win32_version_value"
"pe.size_of_image"
"pe.size_of_headers"
"pe.characteristics"
"pe.linker_version"
"pe.os_version"
"pe.image_version"
"pe.subsystem_version"
"pe.dll_characteristics"
"pe.size_of_stack_reserve"
"pe.size_of_stack_commit"
"pe.size_of_heap_reserve"
"pe.size_of_heap_commit"
"pe.loader_flags"
"pe.number_of_rva_and_sizes"
"pe.data_directories"
"pe.number_of_sections"
"pe.sections"
"pe.overlay"
"pe.number_of_resources"
"pe.resource_timestamp"
"pe.resource_version"
"pe.resources"
"pe.version_info"
"pe.number_of_signatures"
"pe.signatures"
"pe.rich_signature"
"pe.exports"
"pe.number_of_exports"
"pe.number_of_imports"
"pe.imports"
"pe.locale"
"pe.language"
"pe.imphash"
"pe.section_index"
"pe.is_dll()"
"pe.is_32bit()"
"pe.is_64bit()"
"pe.rva_to_offset"
# elf module
"\"elf\""
"elf.type"
"elf.machine"
"elf.entry_point"
"elf.number_of_sections"
"elf.sections"
"elf.number_of_segments"
"elf.segments"
"elf.dynamic_section_entires"
"elf.dynamic"
"elf.symtab_entries"
"elf.symtab"
# cuckoo module
"\"cuckoo\""
"cuckoo.network"
"cuckoo.registry"
"cuckoo.filesystem"
"cuckoo.sync"
# magic module
"\"magic\""
"magic.type()"
"magic.mime_type()"
# hash module
"\"hash\""
"hash.md5"
"hash.sha1"
"hash.sha256"
"hash.checksum32"
"hash.crc32"
# math module
"\"math\""
"math.entropuy"
"math.monte_carlo_pi"
"math.serial_correlation"
"math.mean"
"math.deviation"
"math.in_range"
"math.max"
"max.min"
# dotnet module
"\"dotnet\""
"dotnet.version"
"dotnet.module_name"
"dotnet.number_of_streams"
"dotnet.streams"
"dotnet.number_of_guid"
"dotnet.guids"
"dotnet.number_of_resources"
"dotnet.resources"
"dotnet.assembly"
"dotnet.number_of_modulerefs"
"dotnet.modulerefs"
"dotnet.typelib"
"dotnet.assembly_refs"
"dotnet.number_of_user_strings"
"dotnet.user_strings"
"dotnet.number_of_field_offsets"
"dotnet.field_offsets"
# time module
"\"time\""
"time.now()"
# misc
"/*"
"*/"
"//"
"$a="
"{a?}"
"[0-9]"
"{(0A|??)}"
"<<"
">>"
"#a"
"$a"
".."
"@a"
# regex
"*?"
"+?"
"??"
"{1,2}?"

3
dictionaries/zip.dict Normal file
View File

@ -0,0 +1,3 @@
header1="\x50\x4B\x03\x04"
header2="\x50\x4B\x05\x06"
header2="\x50\x4B\x07\x08"

View File

@ -9,6 +9,69 @@ Want to stay in the loop on major new features? Join our mailing list by
sending a mail to <afl-users+subscribe@googlegroups.com>.
### Version ++2.66c (release)
- renamed the main branch on Github to "stable"
- renamed master/slave to main/secondary
- renamed blacklist/whitelist to ignorelist/instrumentlist ->
AFL_LLVM_INSTRUMENT_FILE and AFL_GCC_INSTRUMENT_FILE
- warn on deprecated environment variables
- afl-fuzz:
- -S secondary nodes now only sync from the main node to increase
performance, the -M main node still syncs from everyone. Added checks
that ensure exactly one main node is present and warn otherwise
- Add -D after -S to force a secondary to perform deterministic fuzzing
- If no main node is present at a sync one secondary node automatically
becomes a temporary main node until a real main nodes shows up
- Fixed a mayor performance issue we inherited from AFLfast
- switched murmur2 hashing and random() for xxh3 and xoshiro256**,
resulting in an up to 5.5% speed increase
- Resizing the window does not crash afl-fuzz anymore
- Ensure that the targets are killed on exit
- fix/update to MOpt (thanks to arnow117)
- added MOpt dictionary support from repo
- added experimental SEEK power schedule. It is EXPLORE with ignoring
the runtime and less focus on the length of the test case
- llvm_mode:
- the default instrumentation is now PCGUARD if the llvm version is >= 7,
as it is faster and provides better coverage. The original afl
instrumentation can be set via AFL_LLVM_INSTRUMENT=AFL. This is
automatically done when the instrument_file list feature is used.
- PCGUARD mode is now even better because we made it collision free - plus
it has a fixed map size, so it is also faster! :)
- some targets want a ld variant for LD that is not gcc/clang but ld,
added afl-ld-lto to solve this
- lowered minimum required llvm version to 3.4 (except LLVMInsTrim, which
needs 3.8.0)
- instrument_file list feature now supports wildcards (thanks to sirmc)
- small change to cmplog to make it work with current llvm 11-dev
- added AFL_LLVM_LAF_ALL, sets all laf-intel settings
- LTO instrument_files functionality rewritten, now main, _init etc functions
need not to be listed anymore
- fixed crash in compare-transform-pass when strcasecmp/strncasecmp was
tried to be instrumented with LTO
- fixed crash in cmplog with LTO
- enable snapshot lkm also for persistent mode
- Unicornafl
- Added powerPC support from unicorn/next
- rust bindings!
- CMPLOG/Redqueen now also works for MMAP sharedmem
- ensure shmem is released on errors
- we moved radamsa to be a custom mutator in ./custom_mutators/. It is not
compiled by default anymore.
- allow running in /tmp (only unsafe with umask 0)
- persistent mode shared memory testcase handover (instead of via
files/stdin) - 10-100% performance increase
- General support for 64 bit PowerPC, RiscV, Sparc etc.
- fix afl-cmin.bash
- slightly better performance compilation options for afl++ and targets
- fixed afl-gcc/afl-as that could break on fast systems reusing pids in
the same second
- added lots of dictionaries from oss-fuzz, go-fuzz and Jakub Wilk
- added former post_library examples to examples/custom_mutators/
- Dockerfile upgraded to Ubuntu 20.04 Focal and installing llvm 11 and
gcc 10 so afl-clang-lto can be build
### Version ++2.65c (release):
- afl-fuzz:
- AFL_MAP_SIZE was not working correctly
@ -191,7 +254,7 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
the original script is still present as afl-cmin.bash
- afl-showmap: -i dir option now allows processing multiple inputs using the
forkserver. This is for enhanced speed in afl-cmin.
- added blacklist and whitelisting function check in all modules of llvm_mode
- added blacklist and instrument_filesing function check in all modules of llvm_mode
- added fix from Debian project to compile libdislocator and libtokencap
- libdislocator: AFL_ALIGNED_ALLOC to force size alignment to max_align_t
@ -246,7 +309,7 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
performance loss of ~10%
- added test/test-performance.sh script
- (re)added gcc_plugin, fast inline instrumentation is not yet finished,
however it includes the whitelisting and persistance feature! by hexcoder-
however it includes the instrument_filesing and persistance feature! by hexcoder-
- gcc_plugin tests added to testing framework
@ -334,7 +397,7 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
- more cpu power for afl-system-config
- added forkserver patch to afl-tmin, makes it much faster (originally from
github.com/nccgroup/TriforceAFL)
- added whitelist support for llvm_mode via AFL_LLVM_WHITELIST to allow
- added instrument_files support for llvm_mode via AFL_LLVM_WHITELIST to allow
only to instrument what is actually interesting. Gives more speed and less
map pollution (originally by choller@mozilla)
- added Python Module mutator support, python2.7-dev is autodetected.
@ -874,7 +937,7 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
- Switched from exit() to _exit() in injected code to avoid snafus with
destructors in C++ code. Spotted by sunblate.
- Made a change to avoid spuriously setting __AFL_SHM_ID when
- Made a change to avoid spuriously setting __AFL_SHM_ID when
AFL_DUMB_FORKSRV is set in conjunction with -n. Spotted by Jakub Wilk.
### Version 1.94b:

View File

@ -17,7 +17,7 @@ You can start using the fuzzer without installation, but it is also possible to
install it with:
```bash
make install
sudo make install
```
There are no special dependencies to speak of; you will need GNU make and a
@ -46,7 +46,7 @@ please install it first. As on Linux, you can use the fuzzer itself without
installation, or install it with:
```
gmake install
sudo gmake install
```
Keep in mind that if you are using csh as your shell, the syntax of some of the

View File

@ -28,7 +28,7 @@ afl-qemu-optimize-map.diff by mh(at)mh-sec(dot)de
+ AFLfast additions (github.com/mboehme/aflfast) were incorporated.
+ Qemu 3.1 upgrade with enhancement patches (github.com/andreafioraldi/afl)
+ Python mutator modules support (github.com/choller/afl)
+ Whitelisting in LLVM mode (github.com/choller/afl)
+ Instrument file list in LLVM mode (github.com/choller/afl)
+ forkserver patch for afl-tmin (github.com/nccgroup/TriforceAFL)

View File

@ -10,8 +10,9 @@ how to hit the ground running:
If testing a network service, modify it to run in the foreground and read
from stdin. When fuzzing a format that uses checksums, comment out the
checksum verification code, too.
If this is not possible (e.g. in -Q(emu) mode) then use AFL_POST_LIBRARY
to calculate the values with your own library.
If this is not possible (e.g. in -Q(emu) mode) then use
AFL_CUSTOM_MUTATOR_LIBRARY to calculate the values with your own library.
The program must crash properly when a fault is encountered. Watch out for
custom SIGSEGV or SIGABRT handlers and background processes. For tips on

View File

@ -1,9 +0,0 @@
# libradamsa
Pretranslated radamsa library. This code belongs to the radamsa author.
> Original repository: https://gitlab.com/akihe/radamsa
> Source commit: 7b2cc2d0
> The code here is adapted for AFL++ with minor changes respect the original version

View File

@ -4,7 +4,7 @@
it allows for very fast and coverage guided fuzzing.
However, if there is only the binary program and no source code available,
then standard `afl-fuzz -n` (dumb mode) is not effective.
then standard `afl-fuzz -n` (non-instrumented mode) is not effective.
The following is a description of how these binaries can be fuzzed with afl++

Some files were not shown because too many files have changed in this diff Show More