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
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
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
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
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
Dominik Maier
6810e6085b
Builder for CommandExecutor & Tokens Refactoring ( #508 )
...
* builder for CommandExecutor
* tokens api cleanup, clippy
* fix doctest
* cleanup
* added testcase, remodelled
* command executor builder fix
* fix fuzzer(?)
* implemented From for configurator
* nits
* clippy
* unused
* autotokens
* cleanup
* nits
* Err instead of empty tokens
* fix tokens fn
* fix err
* more error fixing
* tokens remodelling
* typo
* recoverable fail on missing autotokens
* clippy, nostd
* asslice, into_iter, etc. for tokens
* adapt fuzzers
* iter
* fixes, clippy
* fix
* more clippy
* no_std
* more fix
* fixed typo
* cmd_executor builds again
* bring back ASAN stuff to Command Executor
* forkserver speedup
* no need to static
* back to earlier
2022-02-01 10:10:47 +01:00
epi
2a8efa7d6d
extended inmemory; added exit to qemu ( #506 )
2022-01-28 18:09:04 +01:00
epi
78bbe034a1
extend python forkserver api ( #500 )
...
* initial attempt at api extension; untested
* updated/tested on forkserver_simple
2022-01-28 09:43:21 +01:00
epi
21668b094b
Expose more options to python qemu sugar ( #492 )
...
* registered forkserver sugar, if unix
* exposed multiple options to python sugar constructor
* pedantic clippy is pedantic
* fixes from review/shortened attribute
2022-01-27 09:27:25 +01:00
Dominik Maier
77e5965e97
Add AsSlice, AsMutSlice traits, refactor MapObservers to be iterable, and have associated types ( #477 )
...
* from warning
* fix latest clippy
* clippy fixes++
* renamed shmem parameters
* renamed map to shmem
* make forkserver executor work for any (non-system) shmem
* Mem -> ShMem
* rework windows
* fix nit
* fix symbolic
* refacctor map observers
* iterator for map observers
* removed unused ownedptr, added asslice trait to most functions
* make map entry type an associated type
* fix fuzzers
* fix docs
* typo fix
* fix windows, add try_from_slice to shmid
* missing import
* fix fuzzbench
* cleanup
* fmt
* more asslice
* fmt
* added doc link about token-level fuzzing
* cods
2022-01-19 00:02:33 +01:00
Dominik Maier
4f6f76e857
Streamline ShMem API ( #472 )
...
* from warning
* fix latest clippy
* clippy fixes++
* renamed shmem parameters
* renamed map to shmem
* make forkserver executor work for any (non-system) shmem
* Mem -> ShMem
* rework windows
* fix nit
* fix symbolic
2022-01-17 18:28:26 +01:00
Dominik Maier
a1a6d5f478
Disable pita 🥙 compiler in debug mode ( #454 )
2022-01-04 16:20:52 +01:00
Dominik Maier
af3d321213
Derive debug for all structs in LibAFL ( #442 )
...
* documentation, warnings
* fixed docs
* docs
* no_std
* test
* windows
* nautilus docs
* more fixes
* more docs
* nits
* windows clippy
* docs, windows
* nits
* debug all the things
* derive debug for all core library components
* Docu for libafl_targets
* nits
* reordered generics
* add docs to frida, debug
* nits
* fixes
* more docu for frida, nits
* more docu
* more docu
* Sugar docs
* debug for qemu
* more debug
* import debug
* fmt
* debug
* anyap_debug feature no longer needed
* tidy up unused fn
* indicate if we left out values for struct debug
* implement Debug for sugar
* debug allthethings
* ci
2022-01-03 00:47:17 +01:00
Andrea Fioraldi
6274ad4594
Refactor libafl_qemu creating the Emulator struct and post syscall hooks ( #430 )
...
* working without asan.rs
* working asan
* update fuzzers
* mremap in snapshot
* sugar
* python
* fix python
* clippy
* fmt
* fuck you loader
2021-12-23 09:10:13 +01:00
Dominik Maier
217a7dee1d
Use Structopt instead of yaml for example fuzzers, introduce Cores API ( #420 )
...
* reworked generic_inmemory to structopt
* moved core parsing to a struct
* added Cores
* added structopt to libpng_ctx
* improved libafl, added structopt to libpng launcher
* fix deexit ub
* move more to structopt
* improve llvm-config detection
* move construct_automata to structopt
* clippy, fixes, ...
* no_std
* clippy
* frida core parsing
* fixed no-fork cores
* updated clap
* added missing import
* missing borrow
* reworked frida to structopt
* fixed build
* using Cores api for atheris
Co-authored-by: Dominik Maier <d.maier@avm.de>
2021-12-15 03:58:35 +01:00
Andrea Fioraldi
b4c2551544
Debug output for forkserver ( #413 )
...
* usability fixes for forkserver
* don't call target_bytes twice in TimeoutForkserverExecutor
* don't call target_bytes twice in ForkserverExecutor
2021-12-10 14:52:23 +01:00
Andrea Fioraldi
00d38dc535
AddressSanitizer for libafl_qemu ( #378 )
...
* build libqasan
* asan runtime
* working simple asan
* init_with_asan
* fmt
* incomplete instr filter
* harden dealloc
* clippy
2021-11-16 13:53:28 +01:00
Dominik Maier
62afed61e2
Renamed Stats to Monitors ( #373 )
...
* renamed stats to monitors
* added depreciation notices
* resorted generics alphaabetically
* added monitors
* fmt fuzzers
* added depreciation note for usermonitor
* fmt all fuzzers script
* more fmt
* renamed some monitor things back to stats
* fixed rename
2021-11-12 11:01:08 +01:00
Andrea Fioraldi
e914cc9c14
add ForkserverBytesCoverageSugar
2021-11-10 16:00:15 +01:00
Andrea Fioraldi
18b36843c7
CmpLog option in QemuBytesCoverageSugar
2021-11-10 11:09:56 +01:00
Andrea Fioraldi
b4e15fe9f3
Bridge grammartec from Nautilus to libafl ( #342 )
...
* nautilus dep
* nautilus generation
* fix mutator
* start new mutator for nautilus
* other mutators
* baby
* ci
* NautilusFeedback
* fix unparse
* ci
* ci
* ci
* ci
* nigghtly clippy
* ci
* fix
* ci
* ci
* update construct automatata
* fix
* ci
* clippy
* clippy
* nightly clippy
* more clippy
* minor clippy
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-11-06 02:21:53 +01:00
Andrea Fioraldi
90928d3d97
Qemu Helpers and basic snapshotting ( #310 )
...
* store executor_ptr
* QemuHelpers
* working hooks and snapshot helper
* walk only the list of dirty pages on restore()
* mem hooks for snpashot
* brk snapshot
* snapshot method
* macos shit
* sugar and clippy
2021-10-01 12:17:28 +02:00
Andrea Fioraldi
21f88b58b5
Pylibafl
2021-09-27 14:09:15 +02:00
Andrea Fioraldi
2f2634db02
Python basic bindings for sugar and qemu ( #302 )
...
* InMemoryBytesCoverageSugar python binding
* InMemoryBytesCoverageSugar python binding
* python mod for qemu in libafl_sugar
* libafl_qemu python
* fix
* clippy fixes
* clippy
* added pyo3-build-config for MacOS builds
* gitignor
* python is not default
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-09-27 09:39:21 +02:00
s1341
b4aa22458d
Add core_id to launcher run_client
closure signature ( #290 )
...
* Add core_id to launcher run_client closure signature
* Format
* Attempt to fix windows build
* windows
* Sleep for index seconds instead of id seconds when launching cores (#292 )
2021-09-12 09:49:36 +02:00
Dominik Maier
45dd940532
autocomplete...
2021-08-26 20:48:33 +02:00
Dominik Maier
c9642ec275
ignored warnings
2021-08-26 20:30:11 +02:00
Andrea Fioraldi
6ae36ce658
Refactor configurations with EventConfig ( #277 )
...
* switch to EventConfig
* adapt fuzzers
* fix tests
* fix sugar
* clippy
* ahash
2021-08-26 13:25:03 +02:00
Dominik Maier
bb21ab7a63
Autolaunch ShMemService, add MacOS fuzzers to CI, various fixes ( #246 )
...
* starting to fix macos linker bugs
* mdetailed error prints
* start shmem service manually
* not a doc comment
* Some fixes
* only send exit msg to shmemservice when start was successful
* incorporated shmem service into provider
* removed unused imports
* trying to fix fuzzers
* fixed build
* check if join_handle is_some
* more debug prints
* fixed shmem service autolaunch
* fixed macos linker
* ignoring broken libpng testcase on macos for now (see #252 )
* fmt
* try to fix missing llvm_config (see #253 )
* empty issue template added
* Mmanually look for llvm-config on MacOS
* fixing CI
* fixed docs
* ignoring libmozjpg for CI, see #254
2021-08-09 01:10:29 +02:00
Dominik Maier
16c3a07be7
ShMem Server for MacOS ( #238 )
...
* generalized ashmem server
* fixed macos testcases
* added StdShMemService
* no_st
* fmt
* added testcase, fixed some bugs (not all)
* solidified unix shmem
* initial impl for MmapShMem
* Added shmem service start to more testcases
* clippy
* fixed tetcases
* added frida_libpng makefile for easy use
* trying to fix build on ubuntu
* fixed ubuntu build for libpng
* no_std
* fixed testcase
2021-08-05 17:08:01 +02:00
Dominik Maier
ff589d9a89
clippy fixes
2021-08-03 12:51:20 +02:00
julihoh
7750707fee
fix ci for latest clippy version ( #239 )
...
* clippy
* fix ubuntu as well
2021-08-03 12:29:30 +02:00
Andrea Fioraldi
2faf1d24c8
Hook syscalls in QemuBytesCoverageSugar ( #233 )
...
* add x64 syscalls numbers
* syscall hook
* update commit
* read guest mappings
* clippy
* read write hooks
* automerge fix
* type fix
* hooks syscalls in sugar
2021-07-21 12:29:46 +02:00
Andrea Fioraldi
dfe39e2af7
libafl_sugar ( #215 )
...
* fuzzer mod
* libafl_sugar skeleton
* build libafl_sugar
* libfuzzer_stb_image_sugar
* Delete log
* qemu in libafl_sugar
* docker
* macos merda
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-07-20 11:47:33 +02:00