1308 Commits

Author SHA1 Message Date
Dongjia "toka" Zhang
967449e3cb
Fix CI (somewhat) (#2546)
* fix ci

* a

* order

* libafl-fuzz: fix CI cmplog (#2548)

---------

Co-authored-by: Aarnav <aarnavbos@gmail.com>
2024-09-24 03:18:15 +02:00
Aarnav
7432bd0f59
libafl-fuzz: fix libafl-fuzz scheduler (#2545) 2024-09-23 18:56:09 +02:00
Aarnav
085db55f19
libafl-fuzz: fix not loading seeds recursively from directories (#2532)
* libafl-fuzz: fix not loading seeds recursively from directories

* add walk_initial_inputs to State

* libafl-fuzz: add afl++ style seed filename when copying initial files

* typo
2024-09-23 18:55:01 +02:00
Dongjia "toka" Zhang
cbfd194723
Reducing type parameters and bounds from Scheduler (#2544)
* actually reducing type parameters

* no std

* aa

* aa

* a
2024-09-23 17:01:21 +02:00
Dongjia "toka" Zhang
93fdbb604c
No Uses* (again) (#2537)
* ihatethislanguageihatethislanguageihatethislanguageihatethislanguage

* 1

* a

* fuck

* FMTFMTFMTFMTFMTFMT

* 👍

* afasdfadsfs

* lol

* aa

* a bit more
2024-09-23 14:03:24 +02:00
Valentin Huber
e370e2f852
Code Cleanup of #2422 (#2534)
* code cleanup

* removing another unnecessary borrow

* cleaning up the cleanup
2024-09-20 17:39:09 +02:00
Valentin Huber
2c676f0352
Add MappedInputs to allow havoc muations for custom (sub-)inputs (#2422)
* introducing MappingMutator

* extending mapping mutators

* adding example fuzzer

* making crossover mutators more flexible.

* moving example fuzzer

* fixing dependency paths

* formatting

* fixing no std error

* fixing broken docs link

* fixing import paths

* fixing imports

* more format fixing

* adding new example fuzzer to CI

* fixing further imports

* fixing formatting

* formatting fixes

* improving docs for the example fuzzer

* adding documentation and tests to mapping mutators

* make extraction function for mapped crossover mutators more general

* adding MutVecFunctionMappingMutator

* Introducing WrapsReference

* code cleanup for mapping mutators

* adding tests and docs to mapping mutators

* reformatting comments

* fixing merging of mutators in example fuzzer

* formatting

* formatting v2

* cleanup according to PR comments

* adding type constraint to MappedInput helper functions to remove the need to specify types

* matching functions passed to mapped_havoc_mutations

* removing unnecessary constraints

* mapping mutators now contain the name of their inner mutator

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2024-09-18 23:23:04 +02:00
Dongjia "toka" Zhang
5b7d307a6a
Add avoid_crash option to scheduler (#2530)
* chg

* add avoid_crash

* a

* clp

* just use .00 at this point

* libafl-fuzz chg
2024-09-18 17:57:40 +02:00
fb3837f725 fix out of bounds interrupt mutation 2024-09-17 17:09:48 +02:00
a9ce2d787b fix flags 2024-09-16 15:58:19 +02:00
0d89787728 use smaller seeds for testing 2024-09-16 14:52:42 +02:00
Dominik Maier
a168d76b14
Tiny clippy (#2525) 2024-09-16 12:21:58 +02:00
5b662397be fix array index 2024-09-12 16:02:11 +02:00
b390315a5d fix ambiguity 2024-09-12 15:48:46 +02:00
26452d9a0d config generation 2024-09-12 13:43:53 +02:00
8165fd7cfc refactor interrupt mutation 2024-09-12 13:19:28 +02:00
835d1e1a79 seed 10k 2024-09-12 09:18:02 +02:00
e6cf64541d better seeding + trace cutout 2024-09-10 16:18:25 +02:00
6a98489e32 fixes++ 2024-09-10 11:22:46 +02:00
90acd4fc9f fix scripts 2024-09-10 11:11:37 +02:00
db037f5015 fix empty interrupt config 2024-09-10 10:45:37 +02:00
7896342ed9 fix target names 2024-09-10 10:40:52 +02:00
7139a94a1b adapt scripts 2024-09-09 16:07:03 +02:00
7ad2f6fa6b rename keys 2024-09-09 16:06:41 +02:00
5648faefa7 fix all_bins 2024-09-09 12:55:30 +02:00
3bb42150d3 unify fuzzing with and without interrupts 2024-09-09 12:51:23 +02:00
740ce09d31 configurable interrupt sources 2024-09-09 10:56:39 +02:00
288abeb6bf prepare multiple interrupt sources 2024-09-06 08:38:30 +02:00
Dongjia "toka" Zhang
49b0d7557a
Fix merge failure (#2508) 2024-09-05 14:49:37 +02:00
ee737b9eb8 improve benchmark scripts and excution fixes 2024-09-05 09:55:21 +02:00
Romain Malmain
203d3d340a
Multi machine follow-up (#2334)
* improved tree generator.
possibility to dump state on exit.

* warnings.

* clippy

* clippy

* aaaaaa

* aaaaaa

* make nix mandatory for unix

* stddddddd

* stddddddd

* stddddddd

* aaa

* clippy

* doc

* aaa

* aaa

* aaa

* aaa

* fix

* aaaaaaaa

* dump state

* aaa

* aaa

* aaa

* more minimal dump

* aaa

* aaa

* aaa

* simpler tc dump

* pub

* more pub

* revert a bit

* release by default

* delete Makefile.toml

* release

* dump execs

* merge

* delete stuff

* aa

* ff

* dig

* FMT cargo stuf

---------

Co-authored-by: Toka <tokazerkje@outlook.com>
2024-09-04 18:42:54 +02:00
6929073069 update benchmark script 2024-09-02 16:26:58 +02:00
8adc1e2624 debug msg ++ 2024-09-02 15:53:59 +02:00
06b523fb9f fix release-resposne matching bug 2024-08-30 14:02:21 +02:00
a613a803ca detect job releases during race-conditions 2024-08-29 11:24:32 +02:00
2c00f82d39 fix task releases with nested interrupts 2024-08-28 14:16:03 +02:00
461731cc5a fix: fallback to 0 response-time if target job did not finish 2024-08-27 13:15:38 +02:00
Aarnav
3ca906b7d3
Libafl-fuzz: fix unicorn mode (#2502)
* libafl-fuzz: fix unicorn mode not using a deferred forkserver
libafl-fuzz: simplify handling args for harness

* fix unicorn_mode

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2024-08-26 19:30:38 +02:00
0b4e9bdab7 add time helper function 2024-08-26 15:50:59 +02:00
11028d7aae change interrupt randomization rule 2024-08-26 15:46:11 +02:00
ae6b3c0650 maybe fix interrupt bytes not changing 2024-08-26 15:45:32 +02:00
8e885f6e85 fix some helper-scripts 2024-08-26 15:20:48 +02:00
9d83ddbd69 low prio warnings-- 2024-08-26 15:18:46 +02:00
c785e0db86 fix jobs with response==release 2024-08-26 15:18:46 +02:00
a18a5f9bcf fix everything interesting 2024-08-26 15:10:12 +02:00
Aarnav
07db74b416
Libafl-fuzz: introduce unicorn mode (#2499)
* libafl-fuzz: introduce unicorn mode

* taplo format

* libafl-fuzz: fix qemumode

* taplo format
2024-08-26 11:32:44 +02:00
Romain Malmain
8d0ad23856
Check markdown links validity in CI (#2495)
* add markdown link check in ci

* fix broken links when possible.
configuration file for md checker.

* accept code 200...

* more fixes

* more fixes

* more fixes
2024-08-22 18:15:15 -05:00
Romain Malmain
4b87d7f4eb
Custom QEMU emulator typed builder + ExitHandler / Commands refactoring (#2486)
* Add a custom typed builder for Emulator

* Unify qemu_init for usermode and systemmode

* Remove env from qemu init args (it is unused in QEMU in practice)

* expose thread hooks to systemmode

* rename qemu_config to config

* Replace ExitHandler by EmulatorDriver

* Reorder generics alphabetically for Qemu{,Fork}Executor

* Moved snapshot manager to Emulator to continue centralizing mains objects in the same structure

* Reimplementation of CommandManager working with enums instead of tables

* Macro has been adapted to do this work automatically

* Moved snapshot stuff to dedicated module

* Removed many Rc<RefCell<...>>, now useless with the removal of vtables

* Builder given by Emulator via `Emulator::builder`. Reduced trait bound overhead
2024-08-21 16:36:45 +02:00
bd7ddaffbd fix releases 2024-08-20 12:20:55 +02:00
6995cd053b fix snakefile 2024-08-19 16:28:11 +02:00