* the first step of the last step
* wip
* 99% done
* 99.9% done
* 99.99
* Hello from windows
* aaa
* 99.999
* aa
* 1
* 2
* 3
* 4
* 5
* plz
* plzplzplz
---------
Co-authored-by: Your Name <you@example.com>
* remove UsesInput from libafl_qemu
* Insert I bound instead of ugly Corpus::Input stuff
* Uses a C generic for Commands
* adapt nyx api to new generics
* add qemu linux fuzzers to CI for building.
* more nyx hypercalls implemented, among them:
- panic hypercall
- range filtering hypercall
* fixed some nyx hypercalls behavior.
* added generic read / write to qemu memory
* port linux kernel example to also have nyx API, add better filtering as well.
* make nyx api structs volatile to avoid optimization issues
* Introduce a method create a Vec in place, using a closure.
* use new vec_init function in relevant places.
* removed unused unsafe keywork
* add more allocated memory r/w callbacks
* add more safety notes
* move emulator hooks to separate struct
* update QEMU version
* first step
* wip
* lol
* making progress, slowly
* add
* a bit more
* progress
* 80%done
* 90% done
* done from linux
* Hello from windows
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* Hello from windows
* 9
* 10
* 11
* 11
* 12
* 13
* aa
* fixer
* a
* oops
---------
Co-authored-by: Your Name <you@example.com>
* added change_brk function for correctly handling SYS_brk
* we need to update h.brk with the new brk_val
* map back pages if brk shrunk below the snapshotted value
* fmt and clippy
* use GuestAddr instead of u64
---------
Co-authored-by: Romain Malmain <romain.malmain@pm.me>
* Nyx hypercall API support
* fix linux kernel fuzzer
* hash_me -> hash_64_fast
* fix multiple bug in kernel harness
* do not check libmozjpeg's C files format.
* Qemu config refactoring.
* QEMU error refactoring.
* Single QEMU init function.
* Light refactor of EmulatorModules.
* Qemu is now a parameter to EmulatorModule callbacks and most function hooks.
* EmulatorModules is initialized before QEMU is initialized.
* refactor asan and asanguest modules to avoid custom init of QEMU and use the module interface instead.
* asan fixed size accesses working with generics.
* use pre_syscall_* and post_syscall_* everywhere for consistency.
* adapt qemu_launcher example to fully work with Emulator, since Qemu must now be initialized by Emulator.
* start writing Emulator / EmulatorBuilder / QemuConfig doc.
* fix broken intel pt doc.
* Revert "New year new clippy (#2797)"
This reverts commit deb76555b75ca2ccac83b83a6db1a276c07080b5.
* Mention that program should panic when using InProcessForkExecutor
* Reapply "New year new clippy (#2797)"
This reverts commit 529213ef6334fc18e1898f3cfbd8bed24c312522.
* Added expect error message to TimeFeedback where there used to be an unwrap
* Changed error message handling
* fixed cargo clippy
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* Optimize event serialization with pre-allocated buffer
- Added event_buffer field to LlmpEventManager
- Used to_slice instead of to_allocvec
- Pre-allocated buffer size is 4KB
Fixes#1082
* Fallback to to_allocvec in case of event_buffer overflow
Also combined the shared logic between compressed & uncompressed event
firing while keeping the same behavior
* Made the initial event_buffer size to a const
Also removed the unnecessary event_buffer.clear(), since we are already
resizing it
* fixing empty multipart name
* fixing clippy
* New rules for the contributing (#2752)
* Rules
* more
* aa
* Improve Flexibility of DumpToDiskStage (#2753)
* fixing empty multipart name
* fixing clippy
* improve flexibility of DumpToDiskStage
* adding note to MIGRATION.md
* Update bindgen requirement from 0.70.1 to 0.71.1 (#2756)
Updates the requirements on [bindgen](https://github.com/rust-lang/rust-bindgen) to permit the latest version.
- [Release notes](https://github.com/rust-lang/rust-bindgen/releases)
- [Changelog](https://github.com/rust-lang/rust-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/rust-bindgen/compare/v0.70.1...v0.71.1)
---
updated-dependencies:
- dependency-name: bindgen
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* No Use* from stages (#2745)
* no from stage
* fixer
* doc fix
* how was this working????
* more fixes
* delete more
* rq
* cargo-fuzz
* m
* aa
* Update CONTRIBUTING.md MIGRATION.md (#2762)
* No Uses* from `fuzzer` (#2761)
* go
* fixing stuf
* hello from windows
* more
* lolg
* lolf
* fix
* a
---------
Co-authored-by: Your Name <you@example.com>
* Remove useless cfgs (#2764)
* Link libresolv on all Apple OSs (#2767)
* Somewhat ugly CI fix... (#2768)
* Maybe fix CI
* does this help?
* Very dirty 'fix'
* Add Input Types and Mutators for Numeric Types (#2760)
* fixing empty multipart name
* fixing clippy
* New rules for the contributing (#2752)
* Rules
* more
* aa
* Improve Flexibility of DumpToDiskStage (#2753)
* fixing empty multipart name
* fixing clippy
* improve flexibility of DumpToDiskStage
* adding note to MIGRATION.md
* Introduce WrappingMutator
* introducing mutators for int types
* fixing no_std
* random fixes
* Add hash derivation for WrappingInput
* Revert fixes that broke things
* Derive Default on WrappingInput
* Add unit tests
* Fixes according to code review
* introduce mappable ValueInputs
* remove unnecessary comments
* Elide more lifetimes
* remove dead code
* simplify hashing
* improve docs
* improve randomization
* rename method to align with standard library
* add typedefs for int types for ValueMutRefInput
* rename test
* add safety notice to trait function
* improve randomize performance for i128/u128
* rename macro
* improve comment
* actually check return values in test
* make 128 bit int randomize even more efficient
* shifting signed values
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* Add HashMutator
* Fix docs
* Fix docs again
* introducing bloom filter
* fix tests
* Implement evaluate_filtered
* Add macros to libafl_bolts tuples for mapping and merging types (#2788)
* Add macros
* Use the macros for havoc_mutations
* Fix docs
* improve merge_tuple_list_type to accept n items
* libafl_cc: Automatically find llvm_ar path (#2790)
* imemory_ondisk: Don't fail write under any circumstances if locking is disabled (#2791)
* imemory_ondisk: Don't fail write under any circumstances if locking is disabled
* fmt
* inmemory_ondisk: Add a log message on failure
* clippy'
* micro optimization
* Revert changes to global Cargo.toml
* Hide std-dependent dependency behind std feature
* Fix example fuzzer
* Rename constructor for filtered fuzzer
* Reorder generics alphabetically
* Rename HashingMutator, add note to MutationResult about filtered fuzzers
* Improve StdFuzzer according to feedback
* rename hashing mutator
* Fix english in comment
* Cleanup of old PRs that break the CI
* Fix more CI bugs
* Code cleanup
* Remove unnecessary comments
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: Sharad Khanna <sharad@mineo333.dev>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: s1341 <s1341@users.noreply.github.com>
* imemory_ondisk: Don't fail write under any circumstances if locking is disabled
* fmt
* inmemory_ondisk: Add a log message on failure
* clippy'
* micro optimization
* Use expect instead of allow, remove unnecessary allows
* Remove more whitelist lint warnings
* tranisitioning more subprojects
* Re-add some necessary allows
* Re-add more required allows
* Some more windows clippy fixes
* Re-add more whitelist items for expect
* More clippy whitelist fun
* Reset changes to generated files
* Reset generated files to correct version
* Move libafl_concolic to expect instead of allow
* Move libafl_frida to expect from allow
* Move libafl_libfuzzer to expect from allow
* Remove more whitelist items for macOS
* Fix unknown clippy allow
* Remove more unnecessary allow statements
* moving fuzzers
* Remove mistakenly added subdirs
* fixing imports
* Remove more unnecessary whitelisted lints
* Fix test for /home/ubuntu/LibAFL/fuzzers/inprocess/libfuzzer_libpng_accounting
* More clippy improvements for libafl_qemu
* fmt
* Some pedantic options
* Fix more stuff
* Remove Little-CMS again
* Add note to static_mut_refs
* Reset the changed testing routine since it is unnecessary