1079 Commits

Author SHA1 Message Date
Addison Crump
d6e72560dc
Add test case minimising stage (tmin) (#735)
* add test case minimising stage

* general purpose minimiser impl, with fuzzer example

* reorganise, document, and other cleanup

* correct python API return value

* correct some docs

* nit: versioning in fuzzers

* ise -> ize
2022-08-29 13:37:55 +02:00
David CARLIER
556bdc828c
Simplification for netbsd-specific code (#750)
the cpuset api is already present in libc...
2022-08-29 13:28:04 +02:00
David CARLIER
7760697579
Netopenbsd build fix (#746)
* core affinity netbsd implementation.

* openbsd build fix
2022-08-28 10:19:09 +02:00
Sirui Mu
af3ea172ab
Fix documentation of Rand::below (#747) 2022-08-28 09:54:01 +02:00
Sönke
eb7c8a1174
Add continous JSON Logging monitor (#738)
* Add simple JSON Monitor

* Add documentation

* Log global state

* Fix formatting

* Save state depending on closure outcome, have file opened all the time

* Make OnDiskJSONMonitor cloneable

* Switch to FnMut to allow stateful closures

* Use &mut M: Monitor for the closure
2022-08-27 10:05:38 -04:00
David CARLIER
d377fce4f3
Add core affinity support for FreeBSD (#736) 2022-08-21 00:33:59 +02:00
Nicholas Lang
7b345fbba7
Fix tui with 1 client (#734)
* unbreak tui with 1 client

* clippy
2022-08-19 11:30:26 +02:00
Dongjia Zhang
eac7307c5a
0.8.1 (#732) 2022-08-18 10:23:57 +02:00
Dongjia Zhang
ce5ac3968d
Fixing readme & docs (#730)
* fix

* fix

* add

* add

* fmt
2022-08-15 02:12:35 +02:00
Dongjia Zhang
a87f99afb8
Simd Fix (#729)
* simd fix

* fmt
2022-08-14 20:39:34 +02:00
Dongjia Zhang
5d9a19f955
Mac OS Autotokens (#723)
* mac_tokens

* more

* win fix

* fmt

* fmt c
2022-08-13 02:58:22 +02:00
syheliel
2504b6dae3
Add rustfmt.toml (#722)
* add `rustfmt.toml`

* format fix

Co-authored-by: syheliel <syheliel@gmail.com>
2022-08-12 02:28:32 +02:00
z2_
faca7b9ac7
Deriving Clone for NopMonitor (#721) 2022-08-10 17:22:36 +02:00
Dominik Maier
7d7601204f
Fixes for new clippy (#719) 2022-08-05 13:34:27 +02:00
Dongjia Zhang
3dfdba2ddc
Resize MapFeedbackMetadata with observer.initial() (#718) 2022-08-05 09:05:15 +02:00
Dominik Maier
12052b5f1c
Remove num_cpus dependency (#717)
* Remove num_cpus dependency

* Fix build, remove more num_cpus
2022-08-03 07:49:32 +02:00
Dongjia Zhang
376e3adfcd
Bump Frida, Capstone versions (#715)
* bump

* fix

* fix

* revert

* fix

* fmt

* fix
2022-08-01 16:53:39 +02:00
Dominik Maier
5a8bdae26f
Update requirements (#714)
* Update requirements

* more updates

* nits

* more updates

* update nix for fuzzers

* use any regex 1 instead of 1.6
2022-07-29 09:54:16 +02:00
Dominik Maier
8d5699a335
Add HitcountsIterableMapObserver, rename AsMutIter to AsIterMut (#713)
* Move HitcountsMapObserver back to iterators to make it usable with cargo-libafl

* clippy

* optimize the good-case

* safety info added

* mut_iter -> iter_mut

* split up map observer
2022-07-28 16:03:39 +02:00
Dongjia Zhang
a5248d0250
Change StdWeightedScheduler API (#712)
* change

* fmt
2022-07-27 14:17:45 +02:00
Andrea Fioraldi
a6e4cac56b
prelude module (#709) 2022-07-25 10:35:53 +02:00
s1341
c45b6be7e1
Bump rand version (#680)
* Bump rand version, dropping support for lain

* using lain version with fixed rand

Co-authored-by: Dominik Maier <dmnk@google.com>
2022-07-16 01:46:32 +02:00
Patrick Gersch
3ae3dc7c62
Fixes to TUI monitor if main thread panics (#699)
* Trying to fix the tui if the main thread panics

* cargo fmt

* Prettifying code
2022-07-16 01:45:53 +02:00
Dongjia Zhang
ffe8dbf6af
Bump to 0.8.0 (#696)
* upd

* more
2022-07-11 21:59:11 +02:00
syheliel
253c6b5bdc
Use SHMEM_FUZZ_HDR_SIZE constant (#695)
* Fix misuse of SHMEM_FUZZ_HDR_SIZE

* fix `cargo fmt`

Co-authored-by: syheliel <syheliel@gmail.com>
2022-07-08 09:45:56 +02:00
Dongjia Zhang
7870a6e699
Fix #675 (#691)
* fix

* wrapping
2022-07-04 20:11:28 +02:00
Tobias Scharnowski
be3d1d588f
Make ByteNegMutator negate, not flip (#675)
Change the ByteNegMutator to negate a byte, not flip it. Flipping a byte is already implemented in ByteFlipMutator.

See issue: https://github.com/AFLplusplus/LibAFL/issues/674
2022-07-04 16:37:36 +02:00
Dongjia Zhang
d9a0948377
Fix score calculation (#689) 2022-07-01 16:54:14 +02:00
z2_
fbcfc9fe20
Removed unused trait bounds from BytesSwapMutator (#688) 2022-07-01 07:58:58 +02:00
Dongjia Zhang
66b5fe8678
Extend weighted scheduler (#685)
* extend

* fix

* fmt

* more fix
2022-06-29 09:43:42 +09:00
Dongjia Zhang
fd9d126124
Fix CI (#681)
* Update test_all_fuzzers.sh

* --

* fix ui.rs

* fix

Co-authored-by: Dominik Maier <dmnk@google.com>
2022-06-27 23:19:15 +09:00
Dongjia Zhang
397507f5b1
Fix feedback from #665 & Fmt (#676)
* revert

* fmt

* fmt back
2022-06-23 17:54:39 +02:00
Andrea Fioraldi
7147170240
New hooks for libafl_qemu (#673)
* new block and edge hooks

* Wrking new hooks

* no Pin, just box

* working call tracing

* invalidate_block flag

* working call stack tracking helper

* callstack push

* fixes

* py

* fixes

* clippy

* clippy

* gdb api

* kill introspection

* fix

* upd qemu

* upd qemu
2022-06-16 11:09:07 +02:00
Andrea Fioraldi
93048f6270
Add custom GDB commands to libafl_qemu (#671)
* Add custom GDB commands

* clippy

* statically linked QEMU

* fix Calibrate

* clippy
2022-06-14 11:45:14 +02:00
Dominik Maier
f7c997ec65
CustomBuf Events to exchange any data between fuzzers (#672)
* custom buf events

* clippy, nits

* nostd

* testcase

* maturin build

* fmt

* pybind imports cleanup

* remove unneded lifetime annotation

* docs
2022-06-14 11:10:08 +02:00
Andrea Fioraldi
a2388d4400
Remove Hash bound in Input trait (#670) 2022-06-10 15:24:31 +02:00
Dongjia Zhang
c9f802a3b8
Improve map feedback/observer (#665)
* improve

* a

* fix it back

* more

* NO

* try

* fix python

* more

* specialize map map feedback with u8

* more

* fmt

* usable_count = len

* clp

* restore iterator based map feedback

* simd specialization

* optimize hitcounts

* fix hitcounts

* no_std

* moar unsafe

* fix

* clippy

* clippy

* opt non-specialized is_interesting

* fmt

* op post_exec

* cleanup

* even more

* allow

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2022-06-10 10:14:12 +02:00
Sergio Paganoni
986030732a
Generating core ids based on the actual count of logical cores (#669)
* generating core ids based on the actual count of logical cores

* make clippy happy

* make fmt happy
2022-06-09 20:45:27 +02:00
Andrea Fioraldi
395b616718
Fix #662 (#667) 2022-06-08 17:33:34 +02:00
Andrea Fioraldi
323b8e23ee
LIBAFL_DEBUG_OUTPUT in Launcher and OnDiskTOMLMonitor to create fuzzer_stats (#666)
* LIBAFL_DEBUG_OUTPUT in launcher on unix

* OnDiskTOMLMonitor

* fix

* clp

* clippy

* fix

* fix

* allow all

Co-authored-by: tokatoka <tokazerkje@outlook.com>
2022-06-08 17:32:58 +02:00
Dominik Maier
2e746bf439
Apple aarch64 fixes (#660)
* Apple aarch64 fixes

* added shmem provider testcase

* added method to not ignore cores, removed deprecated core_affinity api

* cleaned up set_affinity tests

* fixes

* fixes

* more aarch

* apple needs serial tests

* disable testcase for now
2022-06-04 16:02:11 +02:00
Dongjia Zhang
400292968a
Check syscall result in set_for_current (#659)
* set_for_current error

* type

* more

* debug

* debug

* fmt

* clp
2022-05-30 23:06:58 +02:00
Dominik Maier
3a5118fc02
Moved core_affinity to bolts (#655)
* moved core_affinity to bolts crate

* clippy

* fixes

* ubuntu

* ubuntu++

* moved core_affinity to os

* fixed more imports

* fixed imports

* fixed test

* moved core_affinity out of os

* added affinity

* moved to windows crate

* fmt

* some tiny fixes

* more win

* refactoring

* win?

* win?

* clp

* upd

* more

* copy & paste & fix

* clp

* try

* fix

* more

* fix

Co-authored-by: tokatoka <tokazerkje@outlook.com>
2022-05-30 10:02:46 +02:00
Dongjia Zhang
dd78210335
Windows-rs update (#657)
* upd

* more
2022-05-29 13:04:21 +02:00
Dominik Maier
c16738fd10
Make OutFile auto-remove refcounted on drop (#654)
* Make OutFile auto-remove refcounted on drop

* clippy, windows

* remove debug print

* streamlined tmp files names

* outfile -> inputfile
2022-05-27 18:01:44 +02:00
Andrea Fioraldi
a544bc042d
Move build_id to bolts (#649)
* Drop the build_id depedency and move to bolts

* tabs->spaces

* clippy build_id fixes

* frida clippy

Co-authored-by: Dominik Maier <dmnk@google.com>
2022-05-27 01:05:03 +02:00
Dominik Maier
763ed9a3e5
Moved to no_std preamble (#643)
* Moved to no_std preamble

* fixed use

* no_std targets

* derive no_std

* fix yml

* ci

* alf

* gitignore

* fix python build

* import cleanup

* nostd

* linux fix
2022-05-27 01:04:29 +02:00
Andrea Fioraldi
28edbad618
Refactor libafl Python bindings (#632)
* SerdeAny MapFeedbackState

* Fix macro syntax

* alloc

* fix

* Metadata calibrate and map feedback

* metadata feedback states

* compile

* fmt

* Register common generic types

* tests

* sugar

* no_std

* fix book

* alloc

* fix fuzzers

* fix

* fmt

* disable python bindings for libafl

* clippy

* fmt

* fixes

* fmt

* compiling python bindings

* no uaf in python observer

* working python observer, feedback and executor

* mutators

* fmt

* nits

* added autofix script

* clippy

* clippy

* more clippy

* fix

* ignore clippy for deserialization

* newlines

* nits

* fmt

* feedbacks

* generators

* methods

* feedbacks

* pyerr

* fix

* fix

* fmt

* python bindings in CI

* fix

* fix

* fix

* autofix

* clippy

Co-authored-by: Dominik Maier <dmnk@google.com>
2022-05-25 16:56:06 +02:00
Andrea Fioraldi
da537aae83
FeedbackState as metadata (#627)
* SerdeAny MapFeedbackState

* Fix macro syntax

* alloc

* fix

* Metadata calibrate and map feedback

* metadata feedback states

* compile

* fmt

* Register common generic types

* tests

* sugar

* no_std

* fix book

* alloc

* fix fuzzers

* fix

* fmt

* disable python bindings for libafl

* clippy

* fmt

* fixes

* fmt

* fix

* fix

* fix

* fix

* fix

* release autofix

* fix

* fix

* fix

* fmt

* fix

* fix

* name

* fix

Co-authored-by: Dominik Maier <dmnk@google.com>
2022-05-24 16:05:22 +02:00
Dominik Maier
fa839bb08d
More docs and less pub types (#646)
* more docs

* nits

* fixes

* win fix

* fmt
2022-05-23 13:42:51 +02:00