1079 Commits

Author SHA1 Message Date
Dominik Maier
7d2892a42f
Fix Windows import (#642) 2022-05-22 13:07:45 +02:00
Dominik Maier
c404825fb8
More clippy (#641)
* Even more libafl_frida clippy

* Eq

* addr_of_mut cleanup

* fmt
2022-05-22 13:01:55 +02:00
Dominik Maier
828ebcff39
Clippy nits & fixes (#640)
* release autofix

* fix unused backtrace

* clippy fixes

* clippy

* more clippy

* more autofix

* clippy for frida

* more clippy
2022-05-22 02:43:25 +02:00
peamaeq
ffaad561cb
Reduced scope of unsafe block (#637)
* '0517'

* 0517
2022-05-20 19:37:22 +02:00
Dongjia Zhang
5570601fea
Small refactoring of nits in #635 (#636)
* fix

* more

* fmt

* fix

* fix

* fix

* fix

* fmt

* fmt

* fix
2022-05-20 07:26:28 +02:00
Dongjia Zhang
4eba9323c5
Fix overflow in Frida mode (#635) 2022-05-17 15:06:38 +02:00
Dongjia Zhang
62484b12f4
Call post_exec_all() in calibrate.rs (#603)
* fix

* fix

* fix

* post_exec

* fix
2022-05-12 11:14:21 +02:00
Dongjia Zhang
283ceaac9b
Make weigthed scheduler independent of powersheduler stage (#599)
* rename & add metadata in scheduler, not stage

* Update testcase_score

* rename

* fix

* update handicap in scheduler

* fmt

* update fuzzers

* doc

* fmt

* fix

* fmt

* more

* fix

* fix

* fix

* fmt
2022-05-08 16:43:02 +02:00
WilliamParks
92196cc9be
Fixes forkersever_simple issue on Macs (#623)
* Fixes forkersever_simple issue on Macs

* fixes formatting issue

* Fixes formatting issue
2022-05-08 11:17:55 +09:00
Dominik Maier
eb70c8025b
Clippy nightly fixes (#624) 2022-05-07 15:35:37 +02:00
Shengtuo Hu
1c97a5fd2b
Remove PrimInt in map feedback and observer (#606)
* Remove PrimInt

* Use core instead of std

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2022-05-06 10:29:07 +02:00
Dominik Maier
9092076ce2
removed unused errors (#620) 2022-05-05 22:24:18 +02:00
Andrea Fioraldi
e513b86df0
Backtrace in libafl::Error (#617)
* backtrace errors

* qemu

* remove mopt-specific error

* fixes

* fixes

* duh

* clap

* clippy

* clippy

* clippy

Co-authored-by: Dominik Maier <dmnk@google.com>
2022-05-05 15:52:37 +02:00
Dongjia Zhang
80b85f99ff
Clippy fixes (#618) 2022-05-05 01:23:51 +02:00
Dongjia Zhang
6b76e53bfa
C(pp) formatting & autotokens fix (#614)
* fix

* a

* format

* .clang-format
2022-05-04 03:42:43 +09:00
Lukas Seidel
b0dd25ee95
use ucontext definition from bolts::os::unix_signals (#612) 2022-04-21 18:03:12 +02:00
Dominik Maier
1690dbb2cc
Sender id fix (#610)
* Starting to fix id issues

* add crashing testcase

* remove debug flags
2022-04-15 19:25:51 +02:00
Andrea Fioraldi
a99d0b2967
Fix clang linking without --libafl arg (#608)
* Fix clang linking without --libafl arg

* clippy
2022-04-12 20:34:38 +02:00
Andrea Fioraldi
e8f5949aec
Fix linking with -z defs (#601)
* Always link no-link-rt when not linking a fuzzer

* Handle dynamic

* fuzzbench

* Handle -z defs

* fix

* clippy

* clippy

* windowa

* fix
2022-04-08 18:06:27 +02:00
Andrea Fioraldi
bd23f7c916
Fix cmplog (#600) 2022-04-08 14:35:32 +02:00
Dongjia Zhang
0b94647219
fmt (#597) 2022-04-07 21:08:08 +09:00
Dongjia Zhang
fa69b9eff9
Powerschedule::RAND (#596) 2022-04-07 21:00:59 +09:00
Dongjia Zhang
eaa46075cc
COE Fix (#593)
* fix

* clp
2022-04-04 18:07:19 +02:00
Dongjia Zhang
f732b76115
Make calibration stage independent of powerschedules (#589)
* fix

* clippy
2022-04-04 18:02:16 +02:00
Dongjia Zhang
e77e147a74
Update Clap (#591)
* upd

* fix
2022-04-04 17:59:34 +02:00
Dongjia Zhang
034a4870e2
Set the number of stacked mutations in MOpt mutator (#587)
* max_stack_pow

* fix

* fix

* fmt

* rename
2022-04-03 09:25:59 +09:00
Toka
1167389149
Fix metadata loss across state-restore. (#582)
* bug fix

* fix

* fix

* remove getter
2022-03-30 12:00:49 +09:00
Andrea Fioraldi
88a14cbbd2
Fix GeneralizedInput::wrapped_as_testcase (#584) 2022-03-29 14:56:48 +02:00
Toka
abf1a66028
Rename FavFactor to TestcaseScore; More TestcaseScores (#574)
* rework aflfast

* more

* move fuzz_Mu

* weighted

* fix

* borrow checker fix

* compute_weight

* alias_table

* fmt

* fix & rename

* fix & less mut

* no_std

* no_std

* clippy

* 32bit clippy fix

* top_rated for compute_weight

* fix

* clippy & metadata Init

* fix

* fix

* fix

* clippy & fmt

* change fuzzers

* fuzzbench_selected

* fmt

* compute() has state

* use favfactor for powerschedules also

* fix merge

* rename

* fmt & clippy

* no_std

* fmt

* clippy

* rename

* fmt

* rename

* fmt

* fix

* fix

* fmt

* fix

* fix
2022-03-27 04:04:46 +09:00
Dongjia Zhang
f906201dcb
Calibration fix (#578)
* fix

* fix

* fix

* fix

* fmt
2022-03-26 13:49:17 +01:00
Dongjia Zhang
c72f773ca0
Weighted corpus entry selection (#570)
* rework aflfast

* more

* move fuzz_Mu

* weighted

* fix

* borrow checker fix

* compute_weight

* alias_table

* fmt

* fix & rename

* fix & less mut

* no_std

* no_std

* clippy

* 32bit clippy fix

* top_rated for compute_weight

* fix

* clippy & metadata Init

* fix

* fix

* fix

* clippy & fmt

* change fuzzers

* fuzzbench_selected

* fmt
2022-03-23 02:01:00 +09:00
Dongjia Zhang
c3d3c93bc0
CI Fix (#572)
* clippy

* doc

* refactor
2022-03-21 07:54:46 +01:00
Andrea Fioraldi
e36522cf21
Fix find_gaps_in_closures (#568) 2022-03-16 11:07:36 +01:00
Andrea Fioraldi
09cf136c63
Fix CI (#562)
* fix libfuzzer_libpng_ctx

* fix

* fix
2022-03-04 15:51:54 +01:00
Andrea Fioraldi
e6bc89555f
Fix GeneralizationStage (#561)
* fmt

* Fix generalization
2022-03-03 15:20:37 +01:00
Andrea Fioraldi
a56f4af7da
CorpusScheduler -> Scheduler and move them to the schedulers folder (#560)
* CorpusScheduler -> Scheduler

* fix book

* update fuzzers

* fix tests

* fix sugar

* fix

* fix tutorial

* fix tutorial

* fmt

* fix

* fmt

* fmt
2022-03-03 14:27:37 +01:00
s1341
f4c4d9044f
Use the new bolts::cli with the frida_libpng sample (#541)
* Use the new bolts::cli with the frida_libpng sample

* Fix comment and add must_use

* Fix windows

* Fix windows more

* Fix windows more, more

* Fix windows more, more, more

* Remove comma

* fmt
2022-03-01 11:25:11 +01:00
Andrea Fioraldi
bf9d2b4c57
Fix snapshots in libafl_qemu (#556)
* afl_exec_sec feature, disabled by default

* Fix snapshots in libafl_qemu

* working memory snapshots
2022-02-28 21:23:20 +01:00
Chaofan Shou
c4fb92a1a4
Add probabilistic sampling corpus scheduler (#544)
* Add probabilistic sampling corpus scheduler

* Linting

* Fix ToOwned error

* Move if-stmt of checking `ProbabilityMetadata` existence and revert powersched removal

* Use `Error::IllegalState` instead of `Error::DivByZero`
2022-02-24 10:19:38 +01:00
Andrea Fioraldi
04c8e96923
afl_exec_sec feature, disabled by default (#555) 2022-02-23 16:06:22 +01:00
Andrea Fioraldi
05b10ad56d
Fix no_std after #553 (#554)
* Fix no_std after #553

* clippy
2022-02-23 11:32:25 +01:00
Andrea Fioraldi
5ffddcfd4a
List observer and feedback (#553) 2022-02-23 10:26:46 +01:00
Andrea Fioraldi
a03d733cf9
libafl_qemu decouple hooks from the executor and QemuForkExecutor (#528)
* QemuHooks

* option state hooks

* QemuForkExecutor

* enforce no side effects in QemuForkExecutor

* child hooks fixes

* fixes

* qemu_launcher

* examples and fixes

* fix sugar

* clippy

* fmt

* no timeout for fuzzbench_fork_qemu

* Update libafl_qemu/src/hooks.rs

Co-authored-by: Alwin Berger <50980804+alwinber@users.noreply.github.com>

* clippy

Co-authored-by: Alwin Berger <50980804+alwinber@users.noreply.github.com>
2022-02-15 22:11:24 +01:00
Dongjia Zhang
86b4ff9c2f
Set default connect address to IP (#539) 2022-02-15 17:44:58 +01:00
Andrea Fioraldi
479f9471ff
Walk the map observer using as_ref_iter() in the map feedback (#535)
* Walk the map observer using into_iter() in the map feedback

* fmt

* map observers as iterators

* perf

* IntoMutIterator and IntoRefIterator

* Clone

* clippy
2022-02-14 18:12:19 +01:00
Farouk Faiz
2dcdaaa89f
Intial support to Python bindings for the libafl crate (#429)
* Add libafl py module

* Hardcoded baby_fuzzer

* Trait abstraction: MapObserver
Send type name as a param as it's needed for extracting the rust struct from the PyObject

* Fix merge

* Impl traits for python wrappers

* Add PythonExecutor
Not buildable version

* Executor trait bindings

* Monitor trait bindings

* EventManager trait bindings

* Fix warnings

* Add corpus trait bindings

* Use corpus trait bindings

* Rand trait bindings

* Remove python feature from default

* Add cfg attribute

* Fix fmt

* No std box

* Fix clippy

* turn OwnedInProcessExecutor in a simple type alias

* remove crate-type from libafl's Cargo.toml

* Add python baby_fuzzer

* Fix doc

* Maturin doc

* multiple map observer

* fmt

* build pylibafl with nightly

* macro for map element type

* Update py baby_fuzzer & fmt

* Mutator bindings

* fmt

* merge conflicts

* StdMutationalStage bindings
Not working: Cannot pass mutator to new method because not clonable

* Stage bindings

* StagesOwnedList bindings
Not working: Stage not clonable

* Unsafe transmute copy fix

* Use Stage bindings in baby_fuzzer

* fmt

* fmt

* Fix doc

* fix merge

* Remove x86_64 feature from pylibafl

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2022-02-14 11:41:39 +01:00
Dominik Maier
7dad2153e2
Clippy for Cargo (#532)
* Clippy for Cargo

* clippy fixes

* clippy fixes

* edition

* fix

* wrong self hidden

* fix

* more clippy
2022-02-11 14:34:01 +01:00
Andrea Fioraldi
a4c9d2d19e
Fix ASAN backtrace (#534) 2022-02-11 14:31:18 +01:00
Dongjia Zhang
42cab49f3e
Forkserver builder fix (#529)
* fix

* fix

* fmt

* no @@

* fuzzer change

* parse_afl_cmdline

* comma
2022-02-11 09:38:26 +01:00
Andrea Fioraldi
eb668384bb
Fix hardcoded BacktraceObserver (#530)
* refactor BacktraceObserver and InProcessForkExecutor

* cleanup

* fix improcess

* fix

* mormanti

* win fix

* clippy

* fix backtrace_baby_fuzzers/command_executor

* win fix

* clippy
2022-02-10 21:45:20 +01:00