* Replace addr_of with &raw across the codebase
* fix fixes
* more fix
* undo clang fmt?
* oops
* fix?
* allocator fix
* more fix
* more more
* more docs
* more fix
* mas mas mas
* hm
* more
* fix Frida
* needed
* more error
* qemu
* nonzero_lit
* nonzero
* std instead of core
* a
* l
* test
* import
* api
* api
* aaaaa
* apiapi
* api
* api
* api
* mm
* api
* non zero
* FMT
* pls
* nnnaaasdfadsfafdsa
* pls
* MM
* fix
* a
* sat add
* aa
* mistake
* unreachable
* no generic
* api change
* a
* centralize clippy definition
* fmt
* add update bindings script
* add a checked and unchecked version of memory read to qemu stuff
also, a lot of clippy thing
* update binding position
* rm old script, new one is a bit better
* update doc
* macos clippy
* adapt fuzzers
* windows clippy
* fix fuzzer
* windows clippy
* remove old allowed clippy
* remove some allowed clippy
* use default features for serde_json in gramatron
* better error handler for failed rw to memory
* versioning unification: use x.y.z format everywhere
* do not compile low-level logs (< info level) by default in fuzzers
* update dependencies to the latest versions
* add members to workspace.
* use workspace for common dependencies
* add vscode native support
---------
Co-authored-by: Toka <tokazerkje@outlook.com>
* Rand below should take a NonZero parameter
* More
* more
* More
* fix build
* bit of clippy
* more clippy
* more clippy
* More clippy
* More more
* more nonzero
* fix multipart
* Cleanup, more unsafe
* fix
* fix unicode
* clippy, fmt
* more
* More safer and more better
* MaxStackPow
* fix merge fails
* make random_slize_size faster
* fix
* more
* fix
* add from addison's change
* fixing
* one left
* adding
* 444444
* okoko
* no prelude
* i hate rust
* stuff
* no std/win
* getting closer
* a
* a
* aa
* a
* a
* libafl_fuzz
* toml
* tutorial
* libafl_libfuzzer
* wip
* this shit is crazy
* from windows
* fmt
* fuck
* fmt
* aa
* reduce generics for generator
* do stuff for mutators, too
* aa
* a
* fmt
* idk
* getting things compiling
* fix merge
* idk
* fuzzers
* nire
* more
* a
* frida win
* cmin
* mm
* qemu?
* del ubuntu dep
---------
Co-authored-by: Your Name <you@example.com>
* aa
* why??????????????
* ppp
* aa
* aa
* abcde
* fixer
* ppp
* aa
* fix from windows
* sugar
* ff
* ??
* a
* to log::error
* exclude
* exclude libafl_qemu clippy on windows
* pp
* aa
---------
Co-authored-by: Your Name <you@example.com>
* Introduce TuiMonitor builder
* Some random docs
* More documentation for monitors
* fixed critical whitespace
* Rename all-caps TOML and JSON to Toml and Json in monitors
* actually rename
* more
* add HasStopNext to State which exposes an API to stop the fuzzer. Stops the fuzzer in fuzz_loop or
fuzz_loop_for when set to true
* fix import
* rename HasStopNext to HasShouldStopFuzzing and stop_next to should_stop_fuzzing
* added HasShouldStopFuzzing trait constraint for libafl_libfuzzer_runtime fuzzer
* rename HasShouldStopFuzzing to Stoppable and add it as a type constraint in libafl_libfuzzer report.rs
* rename should_stop_fuzzing -> should_stop
* introduce Event::Stop
* fix prelude import
* Call send_exiting when processing Event::Stop in restartable managers
* fix clippy
* introduce on_shutdown function in EventProcessor, a function to exit
without saving state gracefully. In contrast with on_restart.
* call manager.on_shutdown when stopping in fuzz_loop due to state.should_stop
* Add missing on_shutdown implementations
Check after every stage in Stages::perform_all if should exit and do so.
* remove specialization
* fix doc
* introduce EventProcessor constraint in libafl_libfuzzer_runtime
run clippy in libafl_libfuzzer_runtime
* fix CentralizedEventManager's on_shutdown not calling inner.on_shutdown
* fix bugs in CentralizedLauncher that wouldn't allow children to terminate properly
* don't call send_exiting when processing Event::Stop since it will be called when calling on_shutdown anyways
* clippy
* add set_exit_after so broker does not need to inner_mut to set exit_cleanly_after
* return Cow<str> from Event::name_detailed instead of a String
* fix missing import in libafl_libfuzzer_runtime
* add initate_stop and reset_stop to Stoppable trait to superceed should_stop_mut
* clippy
* typo
* rename initate_stop to request_stop, should_stop to stop_requested and reset_stop to discard_stop_request
* fix missing import
* windows clippy fix
* fix broker typo
* All Ids should be id not idx
* More
* fix
* win?
* win?
* win?
* fix
* more fix
* desyscall?
* more
* fmt
* std
* make id less id-y
* fmt
* fix
* cleanup
* fixes all around
* fix
* Fix the broken stuff from refactoring
* remove unused
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
- features check was inverted
- print helpful message when `llvm-nm` wasn't found, which happens to be
the case on _stable_
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* use Self::State as much as possible
* makeing progress, little by little
* more
* add
* more and more
* more
* more
* mre
* fix
* a
* pp
* fix
* fix
* more
* version
* fix cargo fuzz
* introduce feedbacks hit tracking for testcases
* make Testcase::hit_feedbacks into Cow<&str> instead of String
rename get_hit_feedbacks to append_hit_feedbacks
update documentation
* simplify ConstFeedback
* rename Feedback::last_result to prev_result
* impl TODO prev_result for NewHashFeedback, ListFeedback, TransferredFeedback, NautilusFeedback
* rename prev_result to last_result
* add docs
* introduce Objectives hit tracking
* update docs
* update Cargo.toml docs
* update docs
* track Feedbacks & Objectives hit in Fuzzer::add_input
* fmt
* clippy
* fix type error in OomFeedback::last_result
* impl last_result for AsanErrorsFeedback
* add track_hit_feedbacks as a feature to libafl_libfuzzer_runtime
* fix clippy
* change return type of Feedback::last_result to a Result
* remove expect in NewHashFeedback::is_interesting
* move Error::premature_last_result to libafl from libafl_bolts
* Make every builder ::builder()
* Fix no_std
* More
* Fix clippy, stuff
* More fun
* Make NopShMem do something
* Alloc
* more fmt
* Remove UB in tinyinst executor builder
* Make builder order not matter for tinyinst
* More better
* fix
* docs
* fmt
* more fmt
* clippy
* fix fixes
* tiny thing
* more betterg
* more more
* more builder
* more builder
* more nyx
* undo breaking clippy
* clip
* add peek function to Corpus
* send 0 as next peek in NopCorpus
* rename peek to peek_next_free_id
* fix clippy
* add peek_next_free_id to libafl_libfuzzer
* impl peek_next_free_id for ArtifactCorpus
* Add BytesSubMutator that allows us to mutate sub-parts of a bytes-backed input
* no_std
* fix string mutator
* make build
* Fix clippy on macOS
* Docs
* More docs
* Better docs
* --amend
* Renamed bsi to sub_input. Too much BSI
* More more
* balance backticks
* Make splicing usable with sub_input (not that it makes sense)
* More annotations
* more input annotations?
* Implement HasMutatorBytes for &mut Vec
* clippy
* Use a wrapper type instead
* Add wrapper type for Vec as well
* Remove the duplicate BytesInput... lol
* rands: simpler rand_trait code, remove useless test
* rands: provide and use proper random_seed()
* rands: add missing golden tests
* Don't use current_nanos() for seeding
* rands: remove RandomSeed trait