* endif
* just fix every profile
* WHY YOU DONT JUST USE THE SAME NAME FOR DIR
* fix
* Some fuzzer want release
* WHY I ALWAYS FORGET COMMA
* NO MORE SPACE
* rename
* stb doesn't like debug build
* just use release
* another just use release
* 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>
* update tuneable: consistently access metadata + force 'choice'
* oops, loop in the wrong place
* clarify API some; allow for least of set configuration
* Add an example fuzzer with AFL-Style UI
* fix CI errors
* fix CI and improve the UI
---------
Co-authored-by: toseven <Byone.heng@gmail.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* add the metrics(pending,own_finds,imported)
* add the pend_fav metrics
* push
* Add the feature that AFLStats is computed and reported in AFLStatsStage
* fix some cicd errors
* AFLStats migrates to stage/stats.rs
* fix the cicd error
* fix some bugs and resolve the conflicts
* fix some typos
---------
Co-authored-by: toseven <Byone.heng@gmail.com>
Co-authored-by: toka <tokazerkje@outlook.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
* remove unneeded loop in `SpliceMutator::mutate`
previously we searched for the first and the last difference
between exactly the same 2 inputs 3 times in a loop
* remove unused struct fields
* avoid allocating strings for `Transition`s
* avoid allocating `String`s for `Stack`s
* avoid allocating Strings for `Element`s
* apply some clippy lints
* some more clippy lints
* simplify regex
* remove superflous if condition
* remove the Rc<_> in `Element`
* small cleanups and regex fix
* avoid allocating a vector for the culled pda
* bug fix
* bug fix
* reintroduce the Rc, but make it use the *one* alloced VecDeque this time
* slim down dependencies
* use Box<[&str]> for storted state stacks
this saves us a whopping 8 bytes ;), since we don't have to store
the capacity
* revert the changes from 9ffa715c10089f157e4e20563143a2df890c8ffe
fixes a bug
* apply clippy lint
---------
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
* implement an AFL-Style TUI
* improve the tui/mod.rs according to the reviews
* fixing fmt manually
---------
Co-authored-by: toseven <Byone.heng@gmail.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>