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
Evan Richter
679eadcc50
Prevent dropping variables in closure hooks ( #549 )
2022-02-24 10:18:46 +01:00
Chaofan Shou
df84d39242
Add function call level granularity for coverage accounting ( #552 )
...
* Add func call level granularity for coverage accounting
* code linting
2022-02-24 10:16:12 +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
a6294af2c3
add HitSysStateFeedback
2022-02-22 23:14:05 +01:00
5df99365f6
switch to simple stages
2022-02-22 16:50:17 +01:00
f5bf5605f1
split system_state module, add tracedump
2022-02-22 16:49:16 +01:00
Dongjia Zhang
ef01009f30
List dependencies in readme.md ( #547 )
...
* readme dependencies
* upd
2022-02-22 00:20:15 +01:00
53bd755647
add clock count to systemstate feedback
2022-02-22 00:10:17 +01:00
ffdaf22b1d
fix byte input reading
2022-02-22 00:09:15 +01:00
Andrea Fioraldi
95d3de0f4b
Closure hooks and on thread create hook ( #542 )
...
* Closure hooks and on thread create hook
* on thread once hook
* clippy
* fix
* fix
2022-02-21 18:30:02 +01:00
Tamas K Lengyel
b3d68e8f40
Add signal option to forkserver_simple ( #548 )
2022-02-21 16:49:04 +01:00
Dongjia Zhang
ba4cca0e15
Delete redundant makefiles ( #546 )
...
We switched to cargo make
2022-02-20 18:50:29 +01:00
Dongjia Zhang
fc89f2944b
Makefile.toml fix ( #545 )
2022-02-20 04:21:43 +01:00
Dongjia Zhang
936e2221d1
Cargo-make ( #537 )
...
* timeout utility
* example build.toml
* upd
* ci
* Update build_and_test.yml
* Update build_and_test.yml
* rename, qemu_launcher
* libpngs
* fix
* upd
* del
* do_nothing -> unsupported
* rename
* use command
* non qemu fuzzbench
* script.sh
* mroe
* qemu
* fix
* generic
* fix
* fix
* allow 124
* quotes
* fix
* fix
* fix
* stderr to devnull
* chg
2022-02-20 03:32:43 +01:00
b73a971c51
add sysstate feedback
2022-02-17 19:47:18 +01:00
b85e0a6d5b
parse raw freertos system state
2022-02-16 23:36:23 +01:00
Evan Richter
7150ffc5e6
[libafl_qemu] EasyElf::resolve_symbol return GuestAddr ( #540 )
...
Also enforce Linux support at the crate level instead of item by item
2022-02-16 21:34:56 +01:00
5bf3269c8f
slim down generated code
2022-02-16 15:18:45 +01:00
1650545424
emu lookup as macro
2022-02-15 23:39:48 +01:00
44faa80556
dump ready lists
2022-02-15 23:23:52 +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
be1ead84f4
fix some types
2022-02-13 20:20:09 +01:00
c3f398a315
prepare system state observer+feedback
2022-02-13 20:19:50 +01:00
819f759be9
fix GEN_BLOCK_HOOK_PTR
2022-02-13 20:18:27 +01:00
Dongjia Zhang
393afa56c8
Github workflows frida build on windows ( #536 )
...
* Update build_and_test.yml
* Update build_and_test.yml
* clippy
* clippy
* clippy
2022-02-13 05:10:17 +01:00
bec4743978
make generic edge-map post-processor
2022-02-11 19:44:12 +01:00
c252d6cad0
redirect log
2022-02-11 15:15:01 +01:00
1713824c3b
fuzzer parallelization
2022-02-11 15:15:01 +01:00
5c5f1f77bd
add feedback for decreasing bytes
2022-02-11 15:14:54 +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
d676363c64
Fix Forkserver Example ( #533 )
...
* fix
* fix
* fix
* update
* change
2022-02-11 10:41:07 +01:00
Dongjia Zhang
53bc6e2318
test_all_fuzzers.sh fix ( #531 )
...
* fix
* fix
* fix
2022-02-11 10:04:04 +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
d7c0193a5e
add debug prints
2022-02-10 14:41:24 +01:00
2c3e1a4e4d
no target map -> false
2022-02-10 14:41:04 +01:00
64dfd6a642
showmap debug options
2022-02-10 14:40:42 +01:00
Dongjia Zhang
9d38fff662
Autodict forkserver ( #525 )
...
* Builder for ForkserverExecutor
* add
* clippy warnings
* comment
* stash
* tmp
* change
* revert
* use_shmem_feature field
* change the harness back
* wip
* wip
* revert
* works
* clippy
* Makefile fix
* doc
* clippy
* rename to program
* rename, fix, envs
* lifetime
* arg_input_file
* stash
* read autodict from forkserver
* works
* clippy & fmt
* fmt
* fix
* fix
* fmt
* better harness
* arg_input_file_std
* rename
* fix
2022-02-10 10:27:51 +01:00
99bd30c233
add snapshot path, debug prints
2022-02-09 22:17:27 +01:00
Dongjia Zhang
9482433e54
Forkserver builder ( #523 )
...
* Builder for ForkserverExecutor
* add
* clippy warnings
* comment
* stash
* tmp
* change
* revert
* use_shmem_feature field
* change the harness back
* wip
* wip
* revert
* works
* clippy
* Makefile fix
* doc
* clippy
* rename to program
* rename, fix, envs
* lifetime
* arg_input_file
* bug fix
* arg_input_file
* builder()
* doc
* clippy & fmt
* clippy & fmt
2022-02-09 22:07:15 +01:00
9369eae37b
crate structure
2022-02-09 12:55:21 +01:00
dbd6391b59
switch scheduler
2022-02-09 11:56:20 +01:00
Andrea Fioraldi
63d89463a3
Improve libafl_qemu snapshots ( #484 )
...
* mprotect
* expose EnumIter
* thread safe mem snapshot
* update qemu hash
* clippy
* child helpers
* fixes
* fix build
* fix dep
2022-02-09 09:40:59 +01:00