c255c32828
fix build
2023-02-22 09:46:30 +01:00
7e7bdf2040
plotting: respect types
2023-02-22 09:05:34 +01:00
74892ec9d1
add plotting to snakefile
2023-02-22 09:05:34 +01:00
8b2439d124
change feedback order
2023-02-22 09:05:34 +01:00
c0102e81b4
fix build
2023-02-22 09:05:34 +01:00
7c67ca71ea
fix feedbacks
2023-02-22 09:05:34 +01:00
c75360bbec
benchmark using snakemake
2023-02-22 09:05:34 +01:00
c81d6dc9ed
trace_abbs and dump path
2023-02-22 09:05:34 +01:00
ea546d15df
add graph feedback
2023-02-22 09:05:34 +01:00
e3c624d5f2
update input sizes, dump worstcase, benchmarking
2023-02-22 09:05:34 +01:00
0ebd5ae509
remove address translations, extend plots
2023-02-22 09:05:34 +01:00
8a56073159
add hists to plot script
2023-02-22 09:05:34 +01:00
8896023682
speed up random generation
2023-02-22 09:05:34 +01:00
4c8537e341
write out times over time
2023-02-22 09:05:34 +01:00
dcd46674ae
add sytemstate sceduler, fuzz until time
2023-02-22 09:05:34 +01:00
961b4a1ae1
re-add system state fuzzing
2023-02-22 09:05:34 +01:00
6a9635ef4d
add virtual edge to longest runs
2023-02-22 09:05:33 +01:00
db60c75ff5
do not force generated inputs
2023-02-22 09:05:33 +01:00
80e2649746
debug stuff
2023-02-22 09:05:33 +01:00
3eb3744c5b
random seeds, better plots
2023-02-22 09:05:33 +01:00
faf7873000
add more benchmarks
2023-02-22 09:05:33 +01:00
3d1282ea90
exectime increase feedback
2023-02-22 09:05:33 +01:00
bff7bd10ff
rename bin, allow random fuzzing
2023-02-22 09:05:33 +01:00
07829c7f75
benchmark with duration
2023-02-22 09:05:33 +01:00
6ea9288952
add benchmark scripts
2023-02-22 09:05:33 +01:00
74341f6948
add systemstate feature and dump times
2023-02-22 09:05:33 +01:00
9cc1aef2a7
fix multicore build
2023-02-22 09:05:33 +01:00
19e07b027b
ignore artifacts
2023-02-22 09:05:33 +01:00
54150c0ea3
minimal changes
2023-02-22 09:05:33 +01:00
0c370c5a1d
add interrupt injection
2023-02-22 09:05:33 +01:00
a287ac210a
input length and read input pointer
2023-02-22 09:05:33 +01:00
22ff608717
draft: add graph feedback
2023-02-22 09:05:33 +01:00
0d54ca8659
add TimeMaximizerCorpusScheduler
2023-02-22 09:05:33 +01:00
e8ece169a3
add last api callsite to system state
2023-02-22 09:05:33 +01:00
1886bac993
libafl_qemu: add jmp instrumentation
2023-02-22 09:05:33 +01:00
3b542be126
WIP: add systemstate tracking
2023-02-22 09:05:33 +01:00
17edc02d0d
add arguments
2023-02-22 09:05:33 +01:00
9e482426db
get time from ClockTimeFeedback
2023-02-22 09:05:33 +01:00
f7bdfcfcb5
fixup
2023-02-22 09:05:33 +01:00
854a8066a8
WIP: port fret
2023-02-22 09:05:33 +01:00
Dominik Maier
cc53da85fb
Remove {update,clear}_hash from ObserverWithHashField, add hasher (extending #1019 ) ( #1028 )
...
* libafl: Remove `{update,clear}_hash` from `ObserverWithHashField`
These methods aren't used by `NewHashFeedback`, so there's no compelling reason
to keep them in the interface. They preclude implementations of
`ObserverWithHashField` that calculcate a hash on-the-fly from a value. For
example, my use-case is to store the stdout of a process, and use
`NewHashFeedback` to only collect inputs that result in new messages on stdout.
Both of these methods are pretty suspicious to begin with - why should other
code be able to update the internal state of the observer? What are the
semantics of `update_hash`? If there are compelling reasons to keep these
methods, let's clarify their intent in the documentation.
* libafl: Return hash by value from `ObserverWithHashField`
This allows implementors of this trait to not store the hash, but rather to
compute it on-the-fly. Since `Option<u64>` is `Copy` (and quite small), and
this method is called once per execution of the target program, this is likely
to have negligible performance impact.
* libafl: Implement `ObserverWithHashField` for `ValueObserver`
This demonstrates the utility of the previous two commits. Now, `ValueObserver`
can be used with `NewHashFeedback`.
* Clippy, move to ahasher
* Oops :)
---------
Co-authored-by: Langston Barrett <langston.barrett@gmail.com>
0.9.0
2023-01-31 10:45:42 +01:00
Andrea Fioraldi
fdf579bcd5
Bump to 0.9.0 ( #946 )
...
* bump to 0.9.0
* fix libafl_tinyinst
* fix
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2023-01-31 10:42:01 +01:00
Dominik Maier
d73fb92ddf
Python CI ( #1024 )
...
* Python CI
* fix testcase
* fix yml
* Fixing test
* format python
* cleanup
2023-01-31 05:04:19 +01:00
Dominik Maier
fc8c92514f
Update README.md ( #1027 )
2023-01-31 04:43:27 +01:00
Dominik Maier
7c4acb3b22
Update README.md ( #1026 )
2023-01-31 04:34:01 +01:00
Dominik Maier
2cd3fb8fea
New Logo ( #1025 )
2023-01-31 04:32:47 +01:00
Dominik Maier
ff9208f107
Fixing python example ( #1016 )
...
* Fixing python example
* Fix python baby fuzzer
---------
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2023-01-30 20:03:07 +01:00
Fabian Freyer
afa506c0c8
libafl_frida: Allow compilation for iOS ( #1023 )
...
iOS does not have any TLS, so we don't need to keep track of it.
This allows compiling for the aarch64-apple-ios target.
2023-01-30 18:05:00 +01:00
Dominik Maier
33ddce2cea
Introduce MutatorId, Tuneable fixes ( #1022 )
...
* Add simpler APIs for TunableStage
* Make API usable
* Add TunableScheduledMutator APIs
* Introduce MutatorId
* More API
* Cleanup
* add sampling-based mutation scheduling
* reduce precision for sampling
* clippy
2023-01-30 18:04:42 +01:00
Dongjia "toka" Zhang
b927fc9b06
Add filename_path to MmapShMemProvider ( #1014 )
...
* change how it is named
* Add more comments
* more
* macOS 32bytes onlyu
* chg
* comment, fix
2023-01-26 00:53:37 +01:00