1473 Commits

Author SHA1 Message Date
Toka
8b9f298674
remove print from lib internals (#384) 2021-11-17 12:50:47 +01:00
Andrea Fioraldi
fd5e793e57
libafl_qemu cpu_target cfg (#383)
* cpu_target

* report

* track mmap in x64 snapshots
2021-11-17 12:50:10 +01:00
Dominik Maier
4d24012245
Clippy fixes (#385)
* clippy fixes

* added missing use, switched to hashbrown

* fix

* more clippy
2021-11-17 12:49:58 +01:00
Andrea Fioraldi
00d38dc535
AddressSanitizer for libafl_qemu (#378)
* build libqasan

* asan runtime

* working simple asan

* init_with_asan

* fmt

* incomplete instr filter

* harden dealloc

* clippy
2021-11-16 13:53:28 +01:00
Toka
c7512fceec
Frida Refactor: Split FridaHelper into each Runtime (#368)
* dynasm maybe_log

* create coverage_rt, trim helper

* add

* amd64 working

* aarch64 instrumentation, untested

* asan dir

* Revert "asan dir"

This reverts commit c7afc784819072d9fa7b8ce23adb7c9f07a21b10.

* non x86_64 fix

* clippy

* change

* change

* fix

* Fix aarch64-linux-android build

* Fix aarch64 execution

* Fix fmt

Co-authored-by: s1341 <github@shmarya.net>
2021-11-16 12:30:34 +01:00
Andrea Fioraldi
56e05d0ff0 Merge branch 'main' of github.com:AFLplusplus/LibAFL into main 2021-11-15 14:10:36 +01:00
Andrea Fioraldi
87677be11d Update QEMU commit in libafl_qemu 2021-11-15 14:10:29 +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
Toka
c96474e0b9
Reachability fuzzer fix (#346)
* fix

* env var

* readme
2021-11-12 18:13:38 +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
9ab8663366 more todos done 2021-11-11 02:26:35 +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
Andrea Fioraldi
e914cc9c14 add ForkserverBytesCoverageSugar 2021-11-10 16:00:15 +01:00
Andrea Fioraldi
18b36843c7 CmpLog option in QemuBytesCoverageSugar 2021-11-10 11:09:56 +01:00
s1341
a42a3a9ccf
Support suppression of hooked functions (#369) 2021-11-08 07:51:58 +01:00
s1341
eecfdbbbe0
Support different names for the libc++ shared object when hooking (#370) 2021-11-08 07:50:20 +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
a80126681e
Fix cfg directives for frida-asan (#365)
* Fix cfg directives for frida-asan

* drop unneeded line

* clippy

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-11-07 18:17:47 +01:00
s1341
bd7ce8d0ca
Launch every 100ms (#364) 2021-11-07 17:56:16 +01:00
OB
3ffcfde9a3
Frida Cmplog improvements for aarch64 (#363)
* add support for cbz/tbz

* remove unecessary print

* implemented support for tbz

* add support for tbnz

* fix an error in the emitted code for both tbz/tbnz

* add support for cbnz

* fix error in logic

* add special handling to "subs"

* add restoration for X5 for tbz/tbnz

* add "adds" support

* add special handling for different opcodes

* add support for cbz/tbz

* remove unecessary print

* implemented support for tbz

* add support for tbnz

* fix an error in the emitted code for both tbz/tbnz

* add support for cbnz

* fix error in logic

* add special handling to "subs"

* add restoration for X5 for tbz/tbnz

* add "adds" support

* add special handling for different opcodes

* add adcs to cmplog commands

* get rid of irrelevant allocations
2021-11-07 15:39:34 +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
380196cf41
Fix cfgs for frida asan (#353)
* fix

* fmt
2021-11-05 17:15:59 +01:00
expend20
1ea95e73f4
(#354)
Co-authored-by: expy <expy@>
2021-11-05 14:50:44 +01:00
expend20
5000558f71
Readme impromevent in frida_libpng fuzzer. (#350)
Co-authored-by: expy <expy@>
2021-11-05 13:46:19 +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
Toka
bf67b6ca76
Frida Address Sanitizer for x86_64 (#331)
* remove libafl_tests

* fmt

* fix

* fix

* fix

* first

* width

* start working on runtime side

* experimental c code for generate_shadow_check_function

* generate shadow_check_blob

* add

* debuggin

* fix

* passes assert tests

* cargo fmt

* generate_shadow_check_blob, untested

* save flags

* add

* make registers numbers a const

* register frames?

* comment

* debugging memcpy

* fix a bug, more to come

* finally error removed

* finally working function hooking & clean up

* fix for arm & update stub

* fix

* blob

* blob_check_mem works? (at least no errors) & fmt

* add an link to show how the asm code are generated

* put probe code for aarch64 back & clippy

* fmt

* still blob emitting errors

* fmt

* now that blob works?

* stack alignment

* testing speed with hook_function only

* comment some printlns out

* small fix: ignore rep, jmp to current_report_impl iff blob_check_mems are emitted

* make rip accessible by pc()

* Program counter accessors for both arch

* fmt

* fix

* fix offset

* retrieve accessed memory addr, r/w rip

* inspect the fault triggering instruction

* AsanError Classification

* clippy fixes

* pass basereg/indexreg/disp to AsanErros

* update asanerrors for amd64

* clippy

* fmt

* use frida/frida-rust

* just use 44

* fix debug build

* fix

* fix

* crate.io

* change

* fmt
2021-11-05 06:37:28 +01:00
Andrea Fioraldi
f0daeb377e
Fix double borrow mut in CachedOnDiskCorpus (#347) 2021-11-04 17:49:07 +01:00
Andrea Fioraldi
28c5e59fb2 Fix Rust 2021 clippy 2021-11-04 10:55:54 +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
Andrea Fioraldi
e46bb8643a Fix try_into in PyAny::cast_as in libafl_qemu 2021-11-04 10:01:13 +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
43a32f9e2b
fix (#345) 2021-11-03 18:57:54 +01:00
Toka
1ecef5598e
fix warnings on windows (#344) 2021-11-03 18:15:24 +01:00
Dominik Maier
12c470a707
Atheris example to fuzz Python Code (#300)
* initial atheris libfuzzer harness

* cmplog, kinda

* added makefile to generic_inmemory

* Makefile for atheris fuzzer

* moved away from clap yaml

* fixed arg parsing

* fuzzing

* ldpreload lib to replace exit with abort

* fixed docker, docs

* fix docker some more

* better documentation

* less commented out important things

* Make makefile less crashy
2021-11-03 10:13:05 +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