* clean
* test thread 1
* add some error messages
* mm
* std
* mm
* aa
* pp
* fix
* change fuzzers
* fix
---------
Co-authored-by: Your Name <you@example.com>
* add share_objectives field to StdFuzzer
* uhhh maybe add field to StdState instead
* trivial
* implement to handle_in_client()
* fmt
* revert changes to state
* no gating on receiving objectives
* add query method to hasobjectives
* make input field of Event::Objective optional
* fmt and clippy
* move setter to hasobjectives
* better way to handle incoming objective
* fmt
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* Fix implementation of UniqueTrace and add UnclassifiedTrace
* Update comments
* Move the implemetnation to classify_counts
* Only init for unique trace
* The missing inline
* Add a TODO
* Reference implementation of SAND: Decoupling Sanitization from Fuzzing for Low Overhead
* Format code
* make clippy happy
* Update docs
* clean output
* fmt
* Fix for nostd
* Update docs
* use use alloc::vec::Vec;
* Docs updates
* Update docs
* Format toml
* Format again
* Add CI
* Rename run_targets to run_target_all
* Update docs
* Update justfile to test fuzzer
* left out justfile
* Format
* Corner case when bitmap size is as small as 1
* Add comments
* clippy
* Format vuln.c
* Format toml
* Fix doc
* Fix justfile
* Move ExecutorsTuple to executors/mod.rs
* Fix
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* make fuzzer great again
* crash handlers
* hello from windows
* fk
* gee
* m
* temporary fix
* f
* mm
* CICI
* fixer
* Fix Dockerfile
* lol
* clp
* Fuck you clippy
* This lint makes no sense, 0
* ??
* a
* fix
* this lint makes 0 sense
* mm
* clp
* a
* a
* clp
* clippy
* clp
* mm
* FMT
* p
---------
Co-authored-by: Your Name <you@example.com>
Co-authored-by: toka <toka@tokas-MacBook-Air.local>
* Move all unnecessary std uses to core,alloc
* More
* more fix
* more
* more
* Remove libafl-fuzz grimoire
* more
* more
* more cleanup
* remove bins
* fix
* more fix
* Introduce ListInput
* Add remove mutators for ListInput
* Merge ListInput and MultipartInput
* Reimplement MultipartInput as a special case of ListInput
* Revert changes to Cargo.toml
* Add collection of generic listinput mutators
* Fix example
* Add note to MIGRATION
* Split list and multi into separate modules
* Fix docs
* Using string names again in the multi example fuzzer
* Remove unnecessary code
* Fix fuzzer
* Use key instead of name for MultipartInput key
* Prettier code in example fuzzer
* Do not convert slice to vec manually
* Decode with callback
* WIP restore intelpt module
* Fix build_target if target_dir doesn't exist
* WIP itelpt qemu/kvm example: bootloader
* qemu config refactoring
* Fix intel_pt_command_executor target dir
* * QEMU error refactoring*
* back to one QEMU init function
* other small things
* update test
* Bump libipt
* waitpid_filtered to ignore SIGWINCH
* Fix warnings unused manifest key: *.version
* Add export_raw feature to libafl_intelpt
* derive Debug for IntelPTHook
* Clippy
* Light refactor of EmulatorModules
* qemu is now a parameter to EmulatorModule callbacks and most function hooks.
* EmulatorModules is initialized before QEMU is initialized.
* Update target program ELF offsets
* fmt
* * asan fixed size accesses working with generics
* continue to propagate qemu argument as hook first parameter
* use pre_syscall* and post_syscall* everywhere
* fix some clippy stuff
* fmt
* Add comment to KVM pt_mode check
* refactor
* Add intel_pt_export_raw feature in libafl
* fix fuzzers
* * refactor asan and asanguest modules to avoid custom init of QEMU and use the module interface instead.
* adapt qemu_launcher example to fully work with emulator, since qemu must now be initialized by emulator.
* fmt
* clippy
* fix qemu_coverage
* fmt
* forgot qemu args in launcher
* map_error instead of unwrap
* use correct args
* Update to new libafl_qemu
* adapt api
* borrow checker friendly join_split_trace
and copy trace before deocde to prevent decoding failures
* testing stuff
* Set ip_filters (also) with builder
* Move trace to file
* Store a pt_builder in module
enable the setting of filters and other pt settings
* baby_bootloader target
* Best bootloader ever
* new builder?
* use closure for qemu config from emulator builder.
* better format
* clippy + fmt
* Fix build target
Create target directory if doesn't exist
* Remove filter on speculatively exec blocks
since also committed blocks can have this flag
* Add current ip_filters getter
* Fix possibile infinite loop in trace decode
* HW breakpoint + snapshot
* add snapshot and exit at first objective
* prefer raw pointers to slice_from_raw_parts_mut
since the latter is highly unsafe and allows more potentially dangerous reordering
* Add cpu option to QEMU config
* Add cpu option and minor improvements
* fix cargo run causing recompile
* no default devices
* windows clippy fix
* Exclude intel_pt feature from CI as all systemmode feats
* Add qemu_intel_pt_bootloader to CI
* Fix NopPageFilter
* Fix qemu_config
* Restore HW breakpoints
* Lints
* return Result for hw bp set/remove
* mark join_split_trace as unsafe
* Put the qcow2 in a tmpfs ramdisk
10x exec/sec
* Post merge fixes
* Try out libipt 0.3 alpha
* Try out libipt 0.3 alpha also in hook
* Clippy
* New libipt
* Post merge fixes
* Bump libipt
* Drive cache None
* Post merge fixes
* Use SectionInfo from libipt
* No slice::from_raw_parts_mut, just use raw pointer
* Cache the decoder builder
* Update qemu-bridge
* Add qemu -append param
* Move linux specific code to a mod, less #[cfg]s
* Add qemu initrd config
* Add qemu monitor tcp
* Add not enough ip filters message
* Fix wrong must_use
* Prevent possible infinite loop in block decoding in debug mode
* Clippy
* fix CI?
* Revert, keep libipt 0.3 and hw bp
---------
Co-authored-by: Romain Malmain <romain.malmain@pm.me>
Co-authored-by: Marco Cavenati <marco@lenovo300e>
* Fixing the test_harness library name
* Fasan works, but testing of all features is pending
* Tests pass, before fixing clippy and fmt
* CLippy+fmt
* CLippy+fmt+tests running on linux
* Clippy
* Not stalkering the fuzzer. In the correct way
* Removing the instrumentation upon crash. Proper hooking of UnmapViewOfFile
* Fixes after the merge from the upstream (before 0.15.0). Still need to add the observer, clippy, fmt, and at least linux compilation
* Adding the helper observer and using it in the test
* Removing the observer from the wrong location
* Adapting to the new helper ownership model
* Adding an observer to shut down instrumentation upon crash
* Clippy + fmt
* Using mimalloc everywhere
* Deactivating before activating with the harness. Otherwise, gets stuck on Linux.
* Fixing imports for windows
* Using the new way of passing the handler
* Using frida_helper_shutdown_observer
* Clippy+fmt
* no-std, clippy
* Fmt
* Stable thread_id
* Clippy 18
* More clippy
* Formatting toml
* Fixing apples
* Fixing apples 2
* Fixing apples 3
* Upping to 0.16.7 (necessary for Windows)
* Clippy+fmt
* Enabling the allocator test after the fix and clarifying the importantce of the static runtime linking.
* Moving has_tls to bolts
* Proper handling of no-std, hopefully
* Another attempt to fix win no-std
* Not mine clippy complaint...
* Not mine clippy complaint #2...
* Dlmalloc not used, removing from dependencies
* Restoring target in config.toml (otherwise fails CI on Linux)
* lots of digging around, pray for us
* fixup?
* Revert "lots of digging around, pray for us"
This reverts commit 706c27201918e906e3401cd0d9e76546f889d1f5.
* Revert "fixup?"
This reverts commit 1d7c5d4fb5b1bd31f5e0c07492aa8ed64c6822f3.
* Revert artifact
* Revert fixups
* Removing unused
* Reverting to upstream/main
---------
Co-authored-by: Addison Crump <addison.crump@cispa.de>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* Remove uneeded Executor trait from handlers functions + set inproc_qemu_crash_handler to pub
* Add some documentation for QemuHooks
---------
Co-authored-by: celian <cglenaz>
* Add statistics entity. Move client stats from Monitor to EventManager
* Fix warning in no_std
* Make rustfmt happy
* Fix more
* Fix with feature tcp_manager on
* Rename more introspection monitor; Remove unnecessary client_stats
* Fix unused import for no_std
* Fix unused import for prometheus_monitor feature on
* Cleanup docs
* make it safe
* aa
* forgot to put it back
* stateful
* comment
* lol
* aa
* aa
* aa
* win
* lol
* lol
* a
* a
* i hate rust
---------
Co-authored-by: Your Name <you@example.com>