1585 Commits

Author SHA1 Message Date
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
Farouk Faiz
7eb293e087
Minor doc fixes (#339) 2021-10-26 01:10:58 +02:00
Alexandru Geană
f5bed190e7
add support for aarch64 in libafl_qemu (#335) 2021-10-25 22:38:26 +02:00
julihoh
52580c6c14
fix concolic nofloat filter (#333)
* fix concolic nofloat filter

* fmt

* whoops

* fix warnings
2021-10-25 13:57:49 +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
intrigus-lgtm
0a1e8be256
Fix Typo. (#330) 2021-10-14 18:57:39 +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
Dominik Maier
44d844e1e2
32 bit arm regs (#315)
* aarch and arm regs

* fix arm, remove aarch64

* remove aarch64 mod
2021-10-11 22:20:19 +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
Dominik Maier
721286da86
delayed checkout in ci (#326) 2021-10-11 11:45:35 +02:00
julihoh
b778f22c0c
don't include all of libafl for symcc_runtime by default, as it's not necessary (#320) 2021-10-11 09:53:15 +02:00
julihoh
8a20d26ea6
init git sumbolude for symcc for symcc_runtime crate when publishing (#321) 2021-10-10 21:19:58 +02:00
julihoh
6c5f7366ce
concolic optional runtime (#319) 2021-10-10 21:17:40 +02:00
Toka
c0d40a43e1
remove libafl_tests (#324)
* remove libafl_tests

* fmt

* fix

* fix

* fix
2021-10-10 20:44:49 +02:00
julihoh
7231a66104
fix tutorial fuzzer (#323) 2021-10-10 16:13:01 +02:00
David CARLIER
939784d512
dumping process address maps on netbsd (#316) 2021-10-06 00:18:40 +02:00
Andrea Fioraldi
131483410f Update QEMU git hash 2021-10-04 10:44:55 +02:00
Andrea Fioraldi
91ce28deac
Python generic qemu hook (#314)
* python generic hook and value

* python generic hook
2021-10-01 17:10:35 +02:00
Andrea Fioraldi
a420eb0513
Qemu generic hooks (#313)
* generic hooks

* Fix generic hooks
2021-10-01 16:27:26 +02:00
Andrea Fioraldi
7e176ff292
Qemu partial instr fix (#312)
* fix edges hashtable query bug in hook

* fmt

* clippy
2021-10-01 14:31:19 +02:00
Andrea Fioraldi
f2929b8253
Allowlist and denylist for QEMU edges and cmps (#311)
* fix edges hashtable query bug in hook

* fmt
2021-10-01 14:28:24 +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
Toka
f63b862160
Frida for Windows (#287)
* harness.cc for win

* no backtrace for frida_gum

* build.rs message

* cfg guards

* at least libafl_frida builds with cfg guards

* fuzzer.rs builds on win

* clean up

* build instructions

* ps

* fix

* clang

* fix

* article

* static option to make it run on powershell

* vscode build instructions

* dllexport!

* fix

* build.rs

* fix & fmt

* message

* msys not necessary anymore

* Update README.md

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-09-29 22:10:15 +02:00
Andrea Fioraldi
5a246175cf Fix pyo3 cfg_attr+new nosense 2021-09-29 18:07:57 +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
a1bf21465f Fix missing cfg_attr in libafl_qemu 2021-09-29 17:33:49 +02:00
Andrea Fioraldi
9004add503 Clippy fixes 2021-09-29 16:44:39 +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
2c51c4abf4 fmt 2021-09-28 21:01:35 +02:00