diff --git a/libdfu/fuzzing.md b/libdfu/fuzzing.md new file mode 100644 index 000000000..5293861cf --- /dev/null +++ b/libdfu/fuzzing.md @@ -0,0 +1,3 @@ +CC=afl-gcc ./configure --disable-shared +AFL_HARDEN=1 make +afl-fuzz -m 300 -i fuzzing -o findings ./dfu-tool dump @@ diff --git a/libdfu/fuzzing/example.dfu b/libdfu/fuzzing/example.dfu new file mode 100644 index 000000000..92ab2eb47 Binary files /dev/null and b/libdfu/fuzzing/example.dfu differ diff --git a/libdfu/fuzzing/example.dfuse b/libdfu/fuzzing/example.dfuse new file mode 100644 index 000000000..28dd6168a Binary files /dev/null and b/libdfu/fuzzing/example.dfuse differ diff --git a/libdfu/fuzzing/firmware.hex b/libdfu/fuzzing/firmware.hex new file mode 100644 index 000000000..509025a1f --- /dev/null +++ b/libdfu/fuzzing/firmware.hex @@ -0,0 +1,10 @@ +:044000003DEF20F080 +:10400800FACF01F0FBCF02F0E9CF03F0EACF04F0DA +:10401800E1CF05F0E2CF06F0D9CF07F0DACF08F00C +:10402800F3CF09F0F4CF0AF0F6CF0BF0F7CF0CF08E +:10403800F8CF0DF0F5CF0EF00EC0F5FF0DC0F8FF6C +:104048000CC0F7FF0BC0F6FF0AC0F4FF09C0F3FF6E +:1040580008C0DAFF07C0D9FF06C0E2FF05C0E1FFCC +:1040680004C0EAFF03C0E9FF02C0FBFF01C0FAFF7A +:1040780011003FEF20F0000142EF20F03DEF20F06B +:00000001FF diff --git a/libdfu/fuzzing/metadata-multiple.dfu b/libdfu/fuzzing/metadata-multiple.dfu new file mode 100644 index 000000000..ecb2eae28 Binary files /dev/null and b/libdfu/fuzzing/metadata-multiple.dfu differ diff --git a/libdfu/fuzzing/metadata.dfu b/libdfu/fuzzing/metadata.dfu new file mode 100644 index 000000000..11421a4f8 Binary files /dev/null and b/libdfu/fuzzing/metadata.dfu differ