52 Commits

Author SHA1 Message Date
Shengtuo Hu
d90328f6be
Allow the custom mutator to generate larger trimmed data (#463) 2020-07-22 00:00:21 +02:00
van Hauser
6c163910ee debug test for rng 2020-07-20 12:08:31 +02:00
h1994st
67d2e6319b Skip the empty test case generated by the custom trimming 2020-07-18 23:20:32 -04:00
van Hauser
8178f4dfdd remove radamsa, add radamsa custom mutator 2020-06-25 16:51:29 +02:00
van Hauser
a632c00b0d switch to faster and better hash + random 2020-06-12 16:08:49 +02:00
van Hauser
57637ba0b0 removed overlooked post_lib references, added post_lib examples to examples/custom_mutators 2020-05-15 13:39:42 +02:00
van Hauser
60a5df5262 code-format and slight -S/-M modifications 2020-05-13 16:49:00 +02:00
rish9101
9627458ecc Add post library API as custom mutator and rename pre_save 2020-05-13 18:59:12 +05:30
van Hauser
060f4ea320 enforce mandatary custom functions 2020-05-12 17:05:12 +02:00
van Hauser
6177954773 fix custom mutators and add real test cases 2020-05-12 16:32:40 +02:00
van Hauser
fa84e52af0 custom mutator code enhancements and code-format 2020-05-09 11:35:54 +02:00
Rishi Ranjan
190f3024da
Support multiple custom mutators (#282)
* Make a list of custom mutators using env variable

* Set up multiple custom mutators

* Add destroy custom mutator and changes to load_custom_mutator

* Use array instead of list, make changes to afl-fuzz-one for multiple mutators

* Make change to fuzz-one custom_queue_get to support multiple mutators

* Modify custom python mutator support

* Fix bug

* Fix missing afl->mutator->data

* Revert to list with max count

* Change custom_pre_save hook and code format

* Free custom_mutator struct in the list

* Add testcase for multiple custom mutators

* Resolve merge conflict
2020-05-08 20:08:27 +02:00
Dominik Maier
ce15937717 code format 2020-04-20 21:54:55 +02:00
Dominik Maier
8197e9b2e4
clang-tidy readability-braces (#323) 2020-04-19 16:42:40 +02:00
Dominik Maier
1ee224652c libradamsa fix 2020-04-16 16:05:39 +02:00
Dominik Maier
b10007a7b5 renamed duplicated func names 2020-04-16 15:32:04 +02:00
Dominik Maier
6dc36f1e6e unified forkservered run_target, fixes #308 2020-04-14 19:27:25 +02:00
van Hauser
32ba60185e more refactoring and update changelog 2020-04-11 08:02:54 +02:00
Dominik Maier
29ee3a1ffc refactored cmplog 2020-04-11 01:09:07 +02:00
van Hauser
3a509c6168
LTO optimization, variable map size, autodictionary (#307)
* lto module clean-up

* step 1/3

* step 1/3 completed

* if tmp is ever made non-static

* parts 2 and 3 - autodictionary is complete

* variable map_size support

* variable map size: changed overlooked functions

* remove debug for autodict

* 64 bit alignment of map size

* fix review comments

* force 64 bit alignment on both sides

* typo
2020-04-10 22:33:11 +02:00
Dominik Maier
508230e91b code format 2020-04-01 13:10:07 +02:00
Dominik Maier
1e290542bb rebase 2020-04-01 13:10:06 +02:00
Dominik Maier
98545f30aa code format 2020-04-01 13:10:06 +02:00
Dominik Maier
81873d97f8 error handling for custom mutators 2020-04-01 13:10:06 +02:00
Dominik Maier
ab5e0703da tiny changes in custom mut api 2020-04-01 13:10:06 +02:00
Dominik Maier
9785b15ed2 more custom mutator remodelling 2020-04-01 13:10:05 +02:00
Dominik Maier
8c94a3d177 added nullptr fix by h1994st 2020-04-01 13:10:05 +02:00
Dominik Maier
d6a7630fe2 more api 2020-03-27 11:06:06 +01:00
Dominik Maier
e9c7610cb7 edited custom mutator pre_save api 2020-03-27 11:06:06 +01:00
Dominik Maier
6d3dc83c5d code format 2020-03-27 11:06:06 +01:00
Dominik Maier
89512d4e05 fixed call of custom mutators 2020-03-27 11:06:06 +01:00
Dominik Maier
77b81e7361 custom mutators might work again like this 2020-03-23 18:18:54 +01:00
Dominik Maier
83f925ccc9 unsafer 2020-03-23 15:02:26 +01:00
Dominik Maier
cbde30e9d4 less branches, cleanup 2020-03-23 00:14:03 +01:00
Dominik Maier
f08a3fedf6 renamed UB to rand_below 2020-03-21 22:26:13 +01:00
Dominik Maier
54d01fec43 moved string formatting to header 2020-03-21 21:48:52 +01:00
Dominik Maier
5b9d306cdf no more (?) statics 2020-03-19 22:54:09 +01:00
Dominik Maier
b6fa63abdf code format 2020-03-19 19:23:58 +01:00
Dominik Maier
51a346bcbe 50% less globals 2020-03-19 19:22:57 +01:00
van Hauser
684f4dd1c4 honor afl_quiet on env var checks + code-format 2020-03-11 11:42:57 +01:00
Dominik Maier
cc1d6b33b1 unified pointer placement 2020-03-10 22:04:05 +01:00
Dominik Maier
782cffb130 fixed numerous leaks 2020-03-09 19:30:26 +01:00
van Hauser
988a32ced5 code-format 2020-03-09 12:21:54 +01:00
Dominik Maier
dba3595c0a
AFL without globals (#220)
* moved globals to afl, shm and fsrv 

* moved argv to afl state, less bugs

* fixed unicorn docu

* lists everywhere

* merged custom mutators

* fixed leaks in afl-fuzz
2020-03-09 11:24:10 +01:00
van Hauser
36ce9c1fb9 more code format 2020-03-09 08:30:28 +01:00
h1994st
8f93cf5c55 Add two new hooks for the custom mutator
- `afl_custom_queue_get` and `afl_custom_queue_new_entry`
- Update the corresponding document and examples
2020-03-07 16:28:48 -05:00
Andrea Fioraldi
ed5d65b54f solve linking error when python is not available 2020-03-07 14:26:33 +01:00
Andrea Fioraldi
172d384bf2 custom havoc mutation 2020-03-07 12:11:06 +01:00
h1994st
df46521658 Finish refactoring APIs for the custom mutator and Python module
- Remove AFL_PYTHON_ONLY (env) and python_only (variable)
- Unify fuzz API of the custom mutator and Python module
- Merge the custom mutator into the old python_stage, which is now renamed to custom_mutator_stage
2020-03-03 19:48:13 -05:00
h1994st
90506479e7 Refactoring fuzz_py API 2020-03-02 21:30:10 -05:00