403 Commits

Author SHA1 Message Date
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
Andrea Fioraldi
23edffd4c1 Ooops, fmt 2021-10-18 10:57:33 +02:00
Andrea Fioraldi
0ed9dc6d80 Panic message in the map feedback 2021-10-18 10:56:39 +02:00
Andrea Fioraldi
bc4770fb82 Revert "Error message in most likely case of using NONASAN and ASAN fuzzers using the same Fuzzer config (#329)"
This reverts commit d71f0cf5bf4fc449585a4087e5fcf4a8eb443e38.
2021-10-18 10:46:08 +02:00
Marcin Kozlowski
d71f0cf5bf
Error message in most likely case of using NONASAN and ASAN fuzzers using the same Fuzzer config (#329)
* Error message in most likely case of using NONASAN and ASAN fuzzers using the same Fuzzer config

* Typo

* Changed to panic. Executed cargo fmt
2021-10-15 09:56:26 +02:00
Andrea Fioraldi
a782e8faaa CmpValuesMetadata empty serialization 2021-10-14 17:04:03 +02:00
Andrea Fioraldi
279fb3f213 Launcher: restore fs::File but open just before dup2 2021-10-14 16:10:07 +02:00
Andrea Fioraldi
ab7672c8d1 Launcher: use libc::open instead of fs::File 2021-10-14 15:57:32 +02:00
julihoh
2e55d24f5a
update deps (#327)
* experimental update deps

* Reverted to rand-core 0.5.1 for Lain compatibility

* updated nix

* less strict libc dep

* remove deprecated errno conversion

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-10-12 10:32:21 +02:00
julihoh
7930d42948
update packages related to concolic (#325)
* update packages related to concolic

* install z3 on CI macOS

I have no clue how this worked before...

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-10-11 21:24:37 +02:00
julihoh
6e2aa47285
add ability to trace location information in concolic tracer (#322)
* add ability to trace location information in concolic tracer

* fix formatting

* introduce location new-type

* fix conolic smoke test

* impl From instead of custom into_inner function

* fmt

* change to use usize instead of NonZeroUsize

in order to no over-constrain the implementation
2021-10-11 13:31:16 +02:00
David CARLIER
939784d512
dumping process address maps on netbsd (#316) 2021-10-06 00:18:40 +02:00
Andrea Fioraldi
90928d3d97
Qemu Helpers and basic snapshotting (#310)
* store executor_ptr

* QemuHelpers

* working hooks and snapshot helper

* walk only the list of dirty pages on restore()

* mem hooks for snpashot

* brk snapshot

* snapshot method

* macos shit

* sugar and clippy
2021-10-01 12:17:28 +02:00
Dominik Maier
5a722994ac
Still fixing CI (#305)
* clippy

* clippy on windows

* clippy fixes on windows

* clippy, fmt

* fixed testcases for windows

* fixing workspace.yml

* testcase no longer fails without clang

* fix github dependencies to specific revisions

* fix qemu without python

* cleanup HookResult
2021-09-29 17:58:09 +02:00
Andrea Fioraldi
c6f7c3b3a8
Qemu new syscall hook and more python API (#306)
* new syscall hook

* expose more qemu to pylibafl

* hook syscalls from python

* update python example

* clippy

* clippy
2021-09-29 16:36:40 +02:00
Andrea Fioraldi
05aeb677cf
Fix default UBSan options and avoid timeouts in crash handler (#304)
* exit

* ignore timeouts outside the targets

* do not store timeouts

* block sigalarm in handlers

* __ubsan_default_options
2021-09-29 09:28:55 +02:00
Dominik Maier
9d669bbc63
Fixed CI by ignoring python, resolved multiple warnings (#303)
* fixing ci

* ignoring dev deps

* fmt

* trying to fix dockerfile

* fix cargo build

* can't build sancov edges and hitcounts together

* fixed warnings

* fixed more warnings
2021-09-28 01:56:07 +02:00
Andrea Fioraldi
40b73d4b1b
Book refactoring and update (#280)
* llmp docs skeleton

* llmp documentation

* more llmp docu

* llmp

* some core concepts

* start working on tutorial

* adapted rng_core to lain

* fix tutorial build

* warnings, format

* add explanation

* No need to own the types

* metadata

* writing

* fmt

* tutorial folder

* lain needs nightly

* added mdbook test to ci

* fix ci, add linkcheck

* more book

* baby

* tutorial target

* fix mdbook build

* fix mdbook test

* more book

* fixed typo

* fixed build

* spawn instances'

* 'finish' book

* added sugar crate information

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-09-27 09:39:32 +02:00
Lukas Seidel
f0d5c2f708
armv7 support: add ucontext struct definition (#297)
* add uncontext and mcontext struct defs for armv7

* formatting

* merge import lines
2021-09-14 13:58:03 +02:00
Dominik Maier
55c4b0c778
added write_file_atomic against ondisk corpus races (#294)
* fix ondisk corpus race condition

* move metadata name to be a dotfile

* note ExitKind for crashes and timeouts in inprocess executor

* potential fix for windows

* added write_file_atomic

* no_std fixes

* no_std testcase fix

* typo fix, windows

* clippy

* more no_std testing
2021-09-13 15:38:28 +02:00
Toka
b9edb29d8b
PowerSchedule::COE fix (#295) 2021-09-13 14:24:31 +02:00
Dominik Maier
9eba674467 implement Debug for EventManagerId 2021-09-12 12:26:08 +02:00
s1341
b4aa22458d
Add core_id to launcher run_client closure signature (#290)
* Add core_id to launcher run_client closure signature

* Format

* Attempt to fix windows build

* windows

* Sleep for index seconds instead of id seconds when launching cores (#292)
2021-09-12 09:49:36 +02:00
Dominik Maier
b71704b14d
ShMem server race-condition fix for #276 (#278)
* This fixes a potential race condition when the parent dies before the child connects after a fork (#276)

* fix docs

* trying to fix shmem server forking

* removed bug where decreasing map count to 0 would not be reallocatable

* ignored clippy warning, refactoring
2021-09-07 00:03:37 +02:00
bitwave
e7ed5be9a2
Use external, custom time function for no_std environments (#281)
* Use external, custom time function for no_std environments

* fixup! Use external, custom time function for no_std environments

* fixup! Use external, custom time function for no_std environments
2021-09-06 19:13:45 +02:00
Dominik Maier
d8ef1dd90a fix Android build on MacOS 2021-09-06 12:53:58 +02:00
Dominik Maier
9cd34865a8 removed unused import 2021-09-06 12:07:21 +02:00
Andrea Fioraldi
42d213737d
Build id configuration in std (#286)
* Build id configuration in std

* uuid only on std
2021-09-06 10:25:32 +02:00