* ci
* ci
* ci
* aa
* aa
* a
* a
* a
* fix
* no fail fast
* system
* what is this lint...
* a
* clp
* disk
* ok no fastfail
* no qemu for now, reenable monday
* fix lints.
* more lint fix.
* even more lint fixes.
* always more lint fixes.
* lint fix.
* allow unused qualifications for crate when it could be confusing.
* Still lint fixes.
* Lint fixes on generated code.
* Some lint fixes.
* Fixing the mixer according to the xxHash implementation
* Using Rust xxhash-rust instead of handwritten implementation
* Fixing the mixer according to the xxHash implementation - linking directly, not relying on bolts option
* clippy+fmt
* Removing rotation, as it causes issues
* Not using xxhash directly, relying on bolts
* Fmt
* move windows, inprocess fork to a different file, try new hook mechanism for the executor
* fix
* even more
* more
* more
* fix
* fix
* macosgit add -ugit add -u
* windows!
* windows!
* aa
* aa
* macos
* std
* wtf unresolved?
* Copy, Clone
* why you just don't have the same API!
* inproc
* next; inprocess
* windows?
* ci
* ci
* ci
* unused
* ci
* unused
* no_std
* windows no std
* fix
* inprocess
* fix
* windows
* fuzzers
* macos , book
* fix
* aa
* allow
* fix
* stop suggesting wrong lint AAAAAAAAAAAAAAAAA!!!
* stop suggesting wrong lint AAAAAAAAAAAAAAAAA!!!
* win
* fix
* wip
* wip2
* windows done?
* remove TimeoutExecutor
* ci
* ci
* miri
* fixfi
* compile on windows
* a
* clp
* no_std stuff
* windows no_std
* mac stuff
* m
* a
* ci
* ci
* deleting timeoutexecutor, gradually
* fucking macos
* ci
* test
* ci
* ci
* batch mode constructor
* fix
* ci
* aa
* miri
* aaa
* tmate again
* fix windows stuff
* final fix
* another win fix
* add
* let's add the new fix later
* more
* fi
* parse
* win clippy
* win no std
* safety
* fix
* DEFAULT
* final fix
* libafl_libfuzzer
* comments
* fix
* fix fuzzres
* fixxxxx
* fixxxxx
* last fix
* change name
* POC attempt to make cmplog work on x64
windows POC seems working
unix POC seems working :)
* no register collisions
* rsp-related ref support
iced optional dep
iced depends on cmplog
warnings
one more warning
comments cleanup
ci unbreak
rebase windows unbreak
rebase unix unbreak
unix only
fmt check
clang formatting
clang formatting again
make clippy happy
formatting
double import
windows unbreak
hashmap is conditional
leftover definition
tutorial related formatter
review fixes
comments
.asm fuzz targets for cmplog on Windows
more tests
rip-relative reference support without index register form
proper ignore rip-related references and ignore 8 bit comparisons
another try_into packing
* harness modification reverted
* dummy commit to restart CI
* review comments
---------
Co-authored-by: sbarsky <sbarsky@denuvo.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* First draft of a Asan tests. As of now, unix-only. This is a WIP, as 1) destroying Gum causes segmentation fault and thus a single test is supported by using a static Gum object. Ideally, this should be fixed and a new Gum instance would be created for each test. 2) 70 identical errors are reported by Asan instead of a a single one. Apart from that, the draft fixes a number of errors found in Asan
* Fmt fixes
* PR comments addressed
* Not crashing upon Asan errors while testing
* More PR comments: removing env_logger, renaming harness to test_harness
* Revert "More PR comments: removing env_logger, renaming harness to test_harness"
This reverts commit 2d3494b3f56e0a5ef23566cb9a884e8c57867b57.
* More PR comments: removing env_logger, renaming harness to test_harness
* Checking for clang presence and failing the test if harness not found
* Fmt
* Running multiple Asan tests
* Cpp Fmt
* clang-format
* More clippy complaints and Apple compilation
* Last clippy complaints (ran scripts/clippy.sh)
* Fixing unused MacOS function
* Fixing unused MacOS imports
* Partially finish ASAN and CmpLog changes
* Fix handle_trap, report_error, and remove capstone
* Fix a few bugs. Can now detect UAFs properly
* Some small changes
* Make API more consistent with x86
* Fix printing
* Remove unneeded inputs, final changes
* formatting
* Fix x86 build
* Formatting
* check
* clippy fmt fixing all the stuff
* restore Cargo.toml
* a
* ci
* ci
* a
* a
* workging?
* work
* ?
* why it worksgit add -u
* ci
* ci
* TMATE
* ci
* ci
* ci
* remove tmate
* less
* fuck; let's try with introspection first
* fucking macro
* another windows shit
* stop it
* i'm harassed by how shit windows is
* fixing
* ci
* ziopera
* fix from main
* ci
* ci
* refactor: Remove Debug supertraits
Instead of having the Debug trait as supertrait on several traits, the
Debug trait is now required in bounds in specific implementations that
need this specific trait. This keeps the API cleaner, since users now
don't have to propagate the Debug requirement if they don't need to use
the Debug trait.
* refactor: Reformat code
* fix(drcov_rt): coverage files are overwritten if have the same names
Make it unique.
* fix(drcov_rt): use coverage and input as a filename, skip empty covs
* Revert "Insert into corpus if feedback is_interesting on crash/timeout (#1327)"
This reverts commit 871dfa0a013f31f84e43e125105febca2f137049.
* unused
* impr(frida): Don't keep FuzzerOptions in Helper
Instead, keep the actual values that are needed. This allows us to make
a builder for FridaInstrumentationBuilder in a subsequent commit.
* refactor(frida): Move workaround to separate method
This is just code movement.
* refactor(frida): move transformer initialization
Mostly code movement here, sets up replacing `new` with a builder. The
one exception is the introduction of a lifetime bound on RT, which needs
to outlive the transformer. This could be generic, but there's probably
no reason to introduce an additional lifetime.
However, because of this lifetime introduction, this is _technically_ a
breaking change.
* impr(frida): Pass module map to runtimes
Instead of passing a slice of modules to instrument, and re-building the
modulemap, pass a Ref-counted module map directly to the initialization.
* feat(frida): Builder for InstrumentationHelper
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* impr(frida/alloc): optional options in allocator
Move all the initialization into Default::default with sensible defaults
and override parameters set from options in new.
* impr(frida): remove options from AsanError
The only option AsanError uses is whether to continue on error. Instead
of keeping a whole clone of the options around, just store that single
boolean value.
* impr(frida/asan): Use less FuzzerOptions
* Implement Default::default to get a good default AsanRuntime
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* Make some functions const
* fix isprint
* more const
* move integer_sqrt to bolts, use binary search, use u128 to handle extreme values
* Technically correct
* clippy
* u64 algo
* More test
* cumulative_distribution to in_place
* move calculate_cumulative_distribution_in_place to bolts
* clippy
* Move math stuff to bolts::math
* actually add math
* math?
* For some reason this fixes things, dunno
* fix builds?
* does that help?
* clippy ignores
* more clean clippy
* more cfg_attr