880 Commits

Author SHA1 Message Date
Dominik Maier
217a7dee1d
Use Structopt instead of yaml for example fuzzers, introduce Cores API (#420)
* reworked generic_inmemory to structopt

* moved core parsing to a struct

* added Cores

* added structopt to libpng_ctx

* improved libafl, added structopt to libpng launcher

* fix deexit ub

* move more to structopt

* improve llvm-config detection

* move construct_automata to structopt

* clippy, fixes, ...

* no_std

* clippy

* frida core parsing

* fixed no-fork cores

* updated clap

* added missing import

* missing borrow

* reworked frida to structopt

* fixed build

* using Cores api for atheris

Co-authored-by: Dominik Maier <d.maier@avm.de>
2021-12-15 03:58:35 +01:00
Andrea Fioraldi
b4c2551544
Debug output for forkserver (#413)
* usability fixes for forkserver

* don't call target_bytes twice in TimeoutForkserverExecutor

* don't call target_bytes twice in ForkserverExecutor
2021-12-10 14:52:23 +01:00
Dongjia Zhang
3fbe1be189
Fix timeout value type for Windows (#414) 2021-12-09 20:08:44 +01:00
Dongjia Zhang
fc0881194d
Windows timeout fix with critical sections (#391)
* add

* unix fix

* unsafe positions

* another unsafe!

* ignore

* ignore

* make changes back

* fix

* fix

* fmt

* bug fix

* fmt

* compiler fence

* import

* typo

* add another critical section

* fix

* fix

* exclude windows book test

* typo

* fence

* why

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2021-12-09 13:55:20 +01:00
Andrea Fioraldi
c6553c5351 Use grammartec on crates 2021-12-09 09:58:19 +01:00
van Hauser
4a23489acb
Implement unstable edge detection+ignore in calibration stage (#398)
* step 1 for unstable calibration

* fmt

* fixed build

* done unstable implementation

* clippy

* finishing touches for unstable

* no_std

* fmt

* event mgr stablity

* fixed stability value

* displaying

* no_std

* fixed critical whitespace

* send msg only after calibration

* clippy

* Added log to mgr

* moved stability to state

* fix introspection

* space

* fixed docs

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-12-08 09:54:47 +01:00
Dominik Maier
83583a867f
QEMU target arch selector via feature flag (#405)
* QEMU target arch selector via feature flag

* fix ci

* fixing ci some mmore

* more ci fixes, defaulting to x86_64 always

* more ci

* i368 -> i386 typo fix

* revert forkserver changes

* trying to fix clippy

* docs

* fixed warnings

* more clippy action

* qemu example arch

* bring back deprecated function I don't know how to replace

* get rid of deprecated feature again'

* builds?i
2021-12-06 20:06:47 +01:00
Lukas Seidel
0d0fe9eaca
Add fn for TimeoutExecutor to change desired timeout (#408) 2021-12-06 17:44:24 +01:00
Andrea Fioraldi
c3ea7a042c Update QEMU bridge revision hash 2021-12-06 10:04:59 +01:00
Andrea Fioraldi
96ef72e682 Fix grammartec rev 2021-12-02 16:43:48 +01:00
Andrea Fioraldi
e1349463db Fix grammartec version to 0.1.0 2021-12-02 16:41:01 +01:00
Dominik Maier
ca767752d0
make map debuggable (#396) 2021-12-02 10:29:24 +01:00
Lukas Seidel
8a57361e84
dump_registers and write_crash for armv7 (#393)
* dump_registers and write_crash for armv7

* fmt
2021-12-02 10:28:17 +01:00
Andrea Fioraldi
37b8cb0d2f Bump to 0.7 2021-12-01 17:22:09 +01:00
Andrea Fioraldi
cf5b4dfb18 OnDiskMetadata 2021-11-29 14:28:55 +01:00
Andrea Fioraldi
6dd107c4ef Executions field in Testcase 2021-11-29 14:22:27 +01:00
Andrea Fioraldi
2a780652e1 Fix HasTimeoutHandler 2021-11-18 09:42:35 +01:00
Dominik Maier
01bb599759 fixed ms 2021-11-17 20:18:50 +01:00
Andrea Fioraldi
5605f233fc
InProcessHandlers (#387)
* InProcessHandlers

* clippy
2021-11-17 18:32:26 +01:00
Dominik Maier
ba969108e3
Push stage trait (#380)
* rpush mutational trait

* tiny changes

* started PushStageAdapter

* fmt

* refactoring

* fix docs

* no_std

* formatted more
2021-11-17 12:51:14 +01:00
Toka
8b9f298674
remove print from lib internals (#384) 2021-11-17 12:50:47 +01:00
Dominik Maier
ad1793bc4b Removed unused variable from pushstage 2021-11-14 10:41:35 +01:00
Dominik Maier
83271a7d42 More verbose restarting error msg 2021-11-14 10:26:14 +01:00
Andrea Fioraldi
c6dd2e7d0a Fix clippy 2021-11-13 19:54:40 +01:00
Andrea Fioraldi
1b77f014fe Remove unused time crate from libafl deps 2021-11-13 18:50:23 +01:00
Andrea Fioraldi
23b55eae6a Proper run time format for Monitors 2021-11-13 18:49:11 +01:00
Toka
23f02dae12
Fix api (#376)
* Fix api

* change fuzzers
2021-11-12 19:10:53 +01:00
Andrea Fioraldi
cb1216e6c1
Disk sync (#377)
* sync from disk stage

* finish SyncFromDiskStage

* clippy
2021-11-12 14:57:11 +01:00
Andrea Fioraldi
20e5500d93 ClosureStage 2021-11-12 14:50:50 +01:00
Toka
3b30ce3c20
fix staterestore (#375) 2021-11-12 11:55:00 +01:00
Dominik Maier
62afed61e2
Renamed Stats to Monitors (#373)
* renamed stats to monitors

* added depreciation notices

* resorted generics alphaabetically

* added monitors

* fmt fuzzers

* added depreciation note for usermonitor

* fmt all fuzzers script

* more fmt

* renamed some monitor things back to stats

* fixed rename
2021-11-12 11:01:08 +01:00
Dominik Maier
fff7cbd90f
implemented MapMaxPow2Feedback (#371)
* implemented MapMaxPow2Feedback

* using num-traits for qemu as well

* moved back to Num for float fun

* OneOrFilled Feedback
2021-11-11 01:49:46 +01:00
Dominik Maier
3e85cf22de
Mutational Push Stage (#356)
* initial commit for push stage

* cleanup, no_std, clippy

* clippy

* fuzzes

* readme

* fmt
2021-11-11 01:49:38 +01:00
Dominik Maier
8ec8be1ce5
make dump_registers method public (#367)
* make dump_registers method public

* be smart about getting the ucontext

* more docu
2021-11-08 02:53:53 +01:00
s1341
bd7ce8d0ca
Launch every 100ms (#364) 2021-11-07 17:56:16 +01:00
s1341
dd0b5fa74f
Add minibsod (#362)
* Add minibsod

* fmt'

* clippy

* nostd/mac fixes

* windows fix

* woops. Mac fixes

* Get rid of unneccesary sleep

* Fix missing unsafe

* clippy fixes

* make ucontext,siginfo not a reference

* fmt

* fix _context

* Add stubs for non-apple, non-linux, non-android; add a todo

* Fmt

* macos x64, testcase, cleanup

* no_std

* added fault address to minibsod for apple x64

* added err, hexlified values (as per mac panic)

* informing user about lack of registers

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-11-07 15:32:43 +01:00
Dominik Maier
32b8f838ae
Fixed potential unsoundness due to Rc threading for ShMemProvider (#355)
* Fixed potential unsoundness due to Rc threading for ShMemProvider

* tidy
2021-11-06 18:23:25 +01:00
Dominik Maier
72d22ee5e5
remove unused const hashing mode (#358) 2021-11-06 18:23:10 +01:00
Sönke
5878129d22
Fix MaxReducer docstring (#357) 2021-11-06 13:39:20 +01:00
Andrea Fioraldi
b4e15fe9f3
Bridge grammartec from Nautilus to libafl (#342)
* nautilus dep

* nautilus generation

* fix mutator

* start new mutator for nautilus

* other mutators

* baby

* ci

* NautilusFeedback

* fix unparse

* ci

* ci

* ci

* ci

* nigghtly clippy

* ci

* fix

* ci

* ci

* update construct automatata

* fix

* ci

* clippy

* clippy

* nightly clippy

* more clippy

* minor clippy

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-11-06 02:21:53 +01:00
Dominik Maier
ea820a1694
Fork feature flag to disable fork in Launcher (#351)
* Fork feature flag to disable fork in launcher

* FnOnce instead of FnMut

* cleanup

* fix no_std

* doc/warning fix

* useless clippy fix
2021-11-05 17:26:49 +01:00
Toka
9f9cab6d72
Fix the number of clients spawned by Launcher (#349) 2021-11-05 12:31:31 +01:00
Andrea Fioraldi
d1700f8775
Refcnt for MapIndexesMetadata (#348)
* refcnt for MapIndexesMetadata

* fix clippy
2021-11-05 12:14:57 +01:00
Andrea Fioraldi
f0daeb377e
Fix double borrow mut in CachedOnDiskCorpus (#347) 2021-11-04 17:49:07 +01:00
Andrea Fioraldi
eca605bf01
MultiMapObserver and sancov 8bit-counters instrumentation (#343)
* MultiMapObserver and 8bit instrumentation

* fix test

* clippy

* fix

* fix tutorial

* sancov_8bit targets feature
2021-11-04 10:08:50 +01:00
Jordan McLeod
3d436b7519
Upgrade to Rust 2021 Edition (#340)
* Enable missing const_xxh3 feature

* Move to Rust 2021 Edition

* Fix clippy complaints

* Remove imports made unecessary in 2021 edition
2021-11-04 09:59:49 +01:00
Toka
1ecef5598e
fix warnings on windows (#344) 2021-11-03 18:15:24 +01:00
Andrea Fioraldi
2055eabede
Port gramatron preprocessing to Rust (#341)
* grammatron random mut

* import String from alloc

* gramatron

* grammar preprocess scripts

* clippy

* fix construct_automata.py

* splice mutator

* fix

* clippy

* recursion mutator

* recursion mut in example

* clippy

* fix

* clippy

* grammars

* fix gramatron

* fmt
2021-10-28 10:37:31 +02:00
Dominik Maier
3f1130a8a4
fixes for frida mode for win and checks in rust 1.56 (#334)
* fixes for frida mode for win

* missing bracket

* fix docs

* fix docs, add windows ci

* disable breaking ci
2021-10-25 11:49:34 +02:00
Andrea Fioraldi
77e0be218a
Gramatron (#332)
* grammatron random mut

* import String from alloc

* gramatron

* grammar preprocess scripts

* clippy

* fix construct_automata.py

* splice mutator

* fix

* clippy

* recursion mutator

* recursion mut in example

* clippy

* fix

* clippy

* grammars
2021-10-21 16:33:40 +02:00