about summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2023-06-23 17:08:21 +0200
committervanhauser-thc <vh@thc.org>2023-06-23 17:08:21 +0200
commitc2c27349c3d74f79ceb6cd3795862b21d90429ea (patch)
tree8493de54c8f99b279ec24c2998dfb85403fc4a88 /include
parent2366c00235692c9ae11921cf38e9f6fe3fb30142 (diff)
downloadafl++-c2c27349c3d74f79ceb6cd3795862b21d90429ea.tar.gz
new mutation weighting
Diffstat (limited to 'include')
-rw-r--r--include/afl-mutations.h460
1 files changed, 460 insertions, 0 deletions
diff --git a/include/afl-mutations.h b/include/afl-mutations.h
index a3c9fd59..cc4840c8 100644
--- a/include/afl-mutations.h
+++ b/include/afl-mutations.h
@@ -77,6 +77,466 @@ enum {
 
 };
 
+  #define MUT_TXT_ARRAY_SIZE 200
+u32 text_array[MUT_TXT_ARRAY_SIZE] = {MUT_FLIPBIT,
+                                      MUT_FLIPBIT,
+                                      MUT_FLIPBIT,
+                                      MUT_FLIPBIT,
+                                      MUT_FLIPBIT,
+                                      MUT_FLIPBIT,
+                                      MUT_FLIPBIT,
+                                      MUT_FLIPBIT,
+                                      MUT_INTERESTING8,
+                                      MUT_INTERESTING8,
+                                      MUT_INTERESTING8,
+                                      MUT_INTERESTING8,
+                                      MUT_INTERESTING16,
+                                      MUT_INTERESTING16,
+                                      MUT_INTERESTING16BE,
+                                      MUT_INTERESTING16BE,
+                                      MUT_INTERESTING32,
+                                      MUT_INTERESTING32,
+                                      MUT_INTERESTING32BE,
+                                      MUT_INTERESTING32BE,
+                                      MUT_ARITH8_,
+                                      MUT_ARITH8_,
+                                      MUT_ARITH8_,
+                                      MUT_ARITH8_,
+                                      MUT_ARITH8_,
+                                      MUT_ARITH8_,
+                                      MUT_ARITH8,
+                                      MUT_ARITH8,
+                                      MUT_ARITH8,
+                                      MUT_ARITH8,
+                                      MUT_ARITH8,
+                                      MUT_ARITH8,
+                                      MUT_ARITH16_,
+                                      MUT_ARITH16_,
+                                      MUT_ARITH16_,
+                                      MUT_ARITH16_,
+                                      MUT_ARITH16_,
+                                      MUT_ARITH16BE_,
+                                      MUT_ARITH16BE_,
+                                      MUT_ARITH16BE_,
+                                      MUT_ARITH16BE_,
+                                      MUT_ARITH16BE_,
+                                      MUT_ARITH16,
+                                      MUT_ARITH16,
+                                      MUT_ARITH16,
+                                      MUT_ARITH16,
+                                      MUT_ARITH16,
+                                      MUT_ARITH16BE,
+                                      MUT_ARITH16BE,
+                                      MUT_ARITH16BE,
+                                      MUT_ARITH16BE,
+                                      MUT_ARITH16BE,
+                                      MUT_ARITH32_,
+                                      MUT_ARITH32_,
+                                      MUT_ARITH32_,
+                                      MUT_ARITH32_,
+                                      MUT_ARITH32_,
+                                      MUT_ARITH32BE_,
+                                      MUT_ARITH32BE_,
+                                      MUT_ARITH32BE_,
+                                      MUT_ARITH32BE_,
+                                      MUT_ARITH32BE_,
+                                      MUT_ARITH32,
+                                      MUT_ARITH32,
+                                      MUT_ARITH32,
+                                      MUT_ARITH32,
+                                      MUT_ARITH32,
+                                      MUT_ARITH32BE,
+                                      MUT_ARITH32BE,
+                                      MUT_ARITH32BE,
+                                      MUT_ARITH32BE,
+                                      MUT_ARITH32BE,
+                                      MUT_RAND8,
+                                      MUT_RAND8,
+                                      MUT_RAND8,
+                                      MUT_RAND8,
+                                      MUT_RAND8,
+                                      MUT_RAND8,
+                                      MUT_RAND8,
+                                      MUT_RAND8,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_COPY,
+                                      MUT_CLONE_FIXED,
+                                      MUT_CLONE_FIXED,
+                                      MUT_CLONE_FIXED,
+                                      MUT_CLONE_FIXED,
+                                      MUT_CLONE_FIXED,
+                                      MUT_CLONE_FIXED,
+                                      MUT_CLONE_FIXED,
+                                      MUT_CLONE_FIXED,
+                                      MUT_OVERWRITE_COPY,
+                                      MUT_OVERWRITE_COPY,
+                                      MUT_OVERWRITE_COPY,
+                                      MUT_OVERWRITE_COPY,
+                                      MUT_OVERWRITE_COPY,
+                                      MUT_OVERWRITE_COPY,
+                                      MUT_OVERWRITE_COPY,
+                                      MUT_OVERWRITE_COPY,
+                                      MUT_OVERWRITE_COPY,
+                                      MUT_OVERWRITE_COPY,
+                                      MUT_OVERWRITE_FIXED,
+                                      MUT_OVERWRITE_FIXED,
+                                      MUT_OVERWRITE_FIXED,
+                                      MUT_OVERWRITE_FIXED,
+                                      MUT_OVERWRITE_FIXED,
+                                      MUT_BYTEADD,
+                                      MUT_BYTEADD,
+                                      MUT_BYTEADD,
+                                      MUT_BYTEADD,
+                                      MUT_BYTEADD,
+                                      MUT_BYTESUB,
+                                      MUT_BYTESUB,
+                                      MUT_BYTESUB,
+                                      MUT_BYTESUB,
+                                      MUT_BYTESUB,
+                                      MUT_FLIP8,
+                                      MUT_FLIP8,
+                                      MUT_FLIP8,
+                                      MUT_FLIP8,
+                                      MUT_SWITCH,
+                                      MUT_SWITCH,
+                                      MUT_SWITCH,
+                                      MUT_SWITCH,
+                                      MUT_SWITCH,
+                                      MUT_SWITCH,
+                                      MUT_SWITCH,
+                                      MUT_DEL,
+                                      MUT_DEL,
+                                      MUT_DEL,
+                                      MUT_DEL,
+                                      MUT_DEL,
+                                      MUT_DEL,
+                                      MUT_DEL,
+                                      MUT_DEL,
+                                      MUT_DEL,
+                                      MUT_DEL,
+                                      MUT_EXTRA_OVERWRITE,
+                                      MUT_EXTRA_OVERWRITE,
+                                      MUT_EXTRA_OVERWRITE,
+                                      MUT_EXTRA_OVERWRITE,
+                                      MUT_EXTRA_OVERWRITE,
+                                      MUT_EXTRA_OVERWRITE,
+                                      MUT_EXTRA_OVERWRITE,
+                                      MUT_EXTRA_INSERT,
+                                      MUT_EXTRA_INSERT,
+                                      MUT_EXTRA_INSERT,
+                                      MUT_EXTRA_INSERT,
+                                      MUT_EXTRA_INSERT,
+                                      MUT_EXTRA_INSERT,
+                                      MUT_EXTRA_INSERT,
+                                      MUT_EXTRA_INSERT,
+                                      MUT_EXTRA_INSERT,
+                                      MUT_AUTO_EXTRA_OVERWRITE,
+                                      MUT_AUTO_EXTRA_OVERWRITE,
+                                      MUT_AUTO_EXTRA_OVERWRITE,
+                                      MUT_AUTO_EXTRA_OVERWRITE,
+                                      MUT_AUTO_EXTRA_INSERT,
+                                      MUT_AUTO_EXTRA_INSERT,
+                                      MUT_AUTO_EXTRA_INSERT,
+                                      MUT_AUTO_EXTRA_INSERT,
+                                      MUT_AUTO_EXTRA_INSERT,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_OVERWRITE,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT,
+                                      MUT_SPLICE_INSERT};
+
+  #define MUT_BIN_ARRAY_SIZE 256
+u32 binary_array[MUT_BIN_ARRAY_SIZE] = {MUT_FLIPBIT,
+                                        MUT_FLIPBIT,
+                                        MUT_FLIPBIT,
+                                        MUT_FLIPBIT,
+                                        MUT_FLIPBIT,
+                                        MUT_FLIPBIT,
+                                        MUT_FLIPBIT,
+                                        MUT_FLIPBIT,
+                                        MUT_FLIPBIT,
+                                        MUT_FLIPBIT,
+                                        MUT_FLIPBIT,
+                                        MUT_INTERESTING8,
+                                        MUT_INTERESTING8,
+                                        MUT_INTERESTING8,
+                                        MUT_INTERESTING8,
+                                        MUT_INTERESTING8,
+                                        MUT_INTERESTING8,
+                                        MUT_INTERESTING8,
+                                        MUT_INTERESTING8,
+                                        MUT_INTERESTING8,
+                                        MUT_INTERESTING16,
+                                        MUT_INTERESTING16,
+                                        MUT_INTERESTING16,
+                                        MUT_INTERESTING16,
+                                        MUT_INTERESTING16,
+                                        MUT_INTERESTING16,
+                                        MUT_INTERESTING16BE,
+                                        MUT_INTERESTING16BE,
+                                        MUT_INTERESTING16BE,
+                                        MUT_INTERESTING16BE,
+                                        MUT_INTERESTING16BE,
+                                        MUT_INTERESTING16BE,
+                                        MUT_INTERESTING32,
+                                        MUT_INTERESTING32,
+                                        MUT_INTERESTING32,
+                                        MUT_INTERESTING32,
+                                        MUT_INTERESTING32,
+                                        MUT_INTERESTING32,
+                                        MUT_INTERESTING32BE,
+                                        MUT_INTERESTING32BE,
+                                        MUT_INTERESTING32BE,
+                                        MUT_INTERESTING32BE,
+                                        MUT_INTERESTING32BE,
+                                        MUT_INTERESTING32BE,
+                                        MUT_ARITH8_,
+                                        MUT_ARITH8_,
+                                        MUT_ARITH8_,
+                                        MUT_ARITH8_,
+                                        MUT_ARITH8_,
+                                        MUT_ARITH8_,
+                                        MUT_ARITH8_,
+                                        MUT_ARITH8_,
+                                        MUT_ARITH8_,
+                                        MUT_ARITH8,
+                                        MUT_ARITH8,
+                                        MUT_ARITH8,
+                                        MUT_ARITH8,
+                                        MUT_ARITH8,
+                                        MUT_ARITH8,
+                                        MUT_ARITH8,
+                                        MUT_ARITH8,
+                                        MUT_ARITH8,
+                                        MUT_ARITH8,
+                                        MUT_ARITH16_,
+                                        MUT_ARITH16_,
+                                        MUT_ARITH16_,
+                                        MUT_ARITH16_,
+                                        MUT_ARITH16_,
+                                        MUT_ARITH16_,
+                                        MUT_ARITH16BE_,
+                                        MUT_ARITH16BE_,
+                                        MUT_ARITH16BE_,
+                                        MUT_ARITH16BE_,
+                                        MUT_ARITH16BE_,
+                                        MUT_ARITH16BE_,
+                                        MUT_ARITH16,
+                                        MUT_ARITH16,
+                                        MUT_ARITH16,
+                                        MUT_ARITH16,
+                                        MUT_ARITH16,
+                                        MUT_ARITH16,
+                                        MUT_ARITH16BE,
+                                        MUT_ARITH16BE,
+                                        MUT_ARITH16BE,
+                                        MUT_ARITH16BE,
+                                        MUT_ARITH16BE,
+                                        MUT_ARITH16BE,
+                                        MUT_ARITH32_,
+                                        MUT_ARITH32_,
+                                        MUT_ARITH32_,
+                                        MUT_ARITH32_,
+                                        MUT_ARITH32_,
+                                        MUT_ARITH32_,
+                                        MUT_ARITH32BE_,
+                                        MUT_ARITH32BE_,
+                                        MUT_ARITH32BE_,
+                                        MUT_ARITH32BE_,
+                                        MUT_ARITH32BE_,
+                                        MUT_ARITH32BE_,
+                                        MUT_ARITH32,
+                                        MUT_ARITH32,
+                                        MUT_ARITH32,
+                                        MUT_ARITH32,
+                                        MUT_ARITH32,
+                                        MUT_ARITH32,
+                                        MUT_ARITH32BE,
+                                        MUT_ARITH32BE,
+                                        MUT_ARITH32BE,
+                                        MUT_ARITH32BE,
+                                        MUT_ARITH32BE,
+                                        MUT_ARITH32BE,
+                                        MUT_RAND8,
+                                        MUT_RAND8,
+                                        MUT_RAND8,
+                                        MUT_RAND8,
+                                        MUT_RAND8,
+                                        MUT_RAND8,
+                                        MUT_RAND8,
+                                        MUT_RAND8,
+                                        MUT_RAND8,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_COPY,
+                                        MUT_CLONE_FIXED,
+                                        MUT_CLONE_FIXED,
+                                        MUT_CLONE_FIXED,
+                                        MUT_CLONE_FIXED,
+                                        MUT_CLONE_FIXED,
+                                        MUT_CLONE_FIXED,
+                                        MUT_CLONE_FIXED,
+                                        MUT_OVERWRITE_COPY,
+                                        MUT_OVERWRITE_COPY,
+                                        MUT_OVERWRITE_COPY,
+                                        MUT_OVERWRITE_COPY,
+                                        MUT_OVERWRITE_COPY,
+                                        MUT_OVERWRITE_COPY,
+                                        MUT_OVERWRITE_COPY,
+                                        MUT_OVERWRITE_COPY,
+                                        MUT_OVERWRITE_COPY,
+                                        MUT_OVERWRITE_COPY,
+                                        MUT_OVERWRITE_FIXED,
+                                        MUT_OVERWRITE_FIXED,
+                                        MUT_OVERWRITE_FIXED,
+                                        MUT_OVERWRITE_FIXED,
+                                        MUT_OVERWRITE_FIXED,
+                                        MUT_BYTEADD,
+                                        MUT_BYTEADD,
+                                        MUT_BYTEADD,
+                                        MUT_BYTEADD,
+                                        MUT_BYTEADD,
+                                        MUT_BYTEADD,
+                                        MUT_BYTESUB,
+                                        MUT_BYTESUB,
+                                        MUT_BYTESUB,
+                                        MUT_BYTESUB,
+                                        MUT_BYTESUB,
+                                        MUT_BYTESUB,
+                                        MUT_FLIP8,
+                                        MUT_FLIP8,
+                                        MUT_FLIP8,
+                                        MUT_FLIP8,
+                                        MUT_SWITCH,
+                                        MUT_SWITCH,
+                                        MUT_SWITCH,
+                                        MUT_SWITCH,
+                                        MUT_SWITCH,
+                                        MUT_SWITCH,
+                                        MUT_DEL,
+                                        MUT_DEL,
+                                        MUT_DEL,
+                                        MUT_DEL,
+                                        MUT_DEL,
+                                        MUT_DEL,
+                                        MUT_DEL,
+                                        MUT_DEL,
+                                        MUT_DEL,
+                                        MUT_EXTRA_OVERWRITE,
+                                        MUT_EXTRA_OVERWRITE,
+                                        MUT_EXTRA_OVERWRITE,
+                                        MUT_EXTRA_OVERWRITE,
+                                        MUT_EXTRA_OVERWRITE,
+                                        MUT_EXTRA_OVERWRITE,
+                                        MUT_EXTRA_OVERWRITE,
+                                        MUT_EXTRA_OVERWRITE,
+                                        MUT_EXTRA_OVERWRITE,
+                                        MUT_EXTRA_OVERWRITE,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_EXTRA_INSERT,
+                                        MUT_AUTO_EXTRA_OVERWRITE,
+                                        MUT_AUTO_EXTRA_OVERWRITE,
+                                        MUT_AUTO_EXTRA_OVERWRITE,
+                                        MUT_AUTO_EXTRA_OVERWRITE,
+                                        MUT_AUTO_EXTRA_OVERWRITE,
+                                        MUT_AUTO_EXTRA_OVERWRITE,
+                                        MUT_AUTO_EXTRA_OVERWRITE,
+                                        MUT_AUTO_EXTRA_OVERWRITE,
+                                        MUT_AUTO_EXTRA_OVERWRITE,
+                                        MUT_AUTO_EXTRA_INSERT,
+                                        MUT_AUTO_EXTRA_INSERT,
+                                        MUT_AUTO_EXTRA_INSERT,
+                                        MUT_AUTO_EXTRA_INSERT,
+                                        MUT_AUTO_EXTRA_INSERT,
+                                        MUT_AUTO_EXTRA_INSERT,
+                                        MUT_AUTO_EXTRA_INSERT,
+                                        MUT_AUTO_EXTRA_INSERT,
+                                        MUT_AUTO_EXTRA_INSERT,
+                                        MUT_AUTO_EXTRA_INSERT,
+                                        MUT_AUTO_EXTRA_INSERT,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_OVERWRITE,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT,
+                                        MUT_SPLICE_INSERT};
+
   #define MUT_NORMAL_ARRAY_SIZE 77
 u32 normal_splice_array[MUT_NORMAL_ARRAY_SIZE] = {MUT_FLIPBIT,
                                                   MUT_FLIPBIT,