2834 Commits

Author SHA1 Message Date
Toka
4dea81b2a2
MOpt Refactor & Bug fixes (#218)
* rename

* fmt

* post_exec

* post_exec

* bug fix & change type

* refactor

* clippy

* fix

* unnecessary trait

* mode in Mutator

* remove println
2021-07-10 16:32:10 +02:00
Dominik Maier
aad271abf4
Cache Rust in CI (#217)
* rust cache

* less warnings during docker build

* removed unused use
2021-07-10 14:42:10 +02:00
Dominik Maier
0121096e84
Fixes for no_std build (#214)
* builds on no_std

* fixed std build

* nightly fmt on CI

* nightly fmt on CI (again)

* fmt

* no_std build on unix

* more mem

* added no_std from #212 to gh workflow

* more ci, less nightly

* clippy

* more toolchains?

* docu

* y u no build

* more ci?

* next try

* fixed dockr

* more dockerfile fixes

* ondisk corpus fixed

* panic:?

* ubunutu

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2021-07-09 20:07:56 +02:00
Andrea Fioraldi
badf3f0e6e
Resolve symbols in PIC binaries in libafl_qemu (#216)
* empty libafl_qemu crate

* fuzzbench qemu fuzzer skeleton

* emu.run() works without bp

* working emu loop

* resolve elf symbols

* running Qemu fuzzer without coverage

* qemu fuzzer with edge coverage

* merge into inprocess::GLOBAL_STATE

* create QemuExecutor and remove QemuEmulator

* qemu hooks and persist edges mapping storing them in State

* windows fix

* add libafl_qemu to workspace

* windows fix

* some clippy

* clippy

* fix fuzzbench_qemu

* fix fuzzbench_qemu makefile

* fuck you macos

* resolve PIC symbols
2021-07-09 15:17:57 +02:00
Andrea Fioraldi
4af9af784f Serialize CmpValuesMetadata to an empty object to save space on State serialize 2021-07-09 14:35:31 +02:00
Andrea Fioraldi
fe57c5ecd6 Update book 2021-07-08 17:01:35 +02:00
Andrea Fioraldi
4b4773998c Update readme and todo 2021-07-08 15:23:59 +02:00
Andrea Fioraldi
d472a1242a
libafl_qemu (#211)
* empty libafl_qemu crate

* fuzzbench qemu fuzzer skeleton

* emu.run() works without bp

* working emu loop

* resolve elf symbols

* running Qemu fuzzer without coverage

* qemu fuzzer with edge coverage

* merge into inprocess::GLOBAL_STATE

* create QemuExecutor and remove QemuEmulator

* qemu hooks and persist edges mapping storing them in State

* windows fix

* add libafl_qemu to workspace

* windows fix

* some clippy

* clippy

* fix fuzzbench_qemu

* fix fuzzbench_qemu makefile

* fuck you macos
2021-07-08 15:21:14 +02:00
vanhauser-thc
d7dad357e2 enable github sponsor 2021-07-07 13:23:04 +02:00
Andrea Fioraldi
5b0c178ed6 Increase sleep in publis.sh 2021-07-05 14:55:27 +02:00
Andrea Fioraldi
a1fc2a5453 Bump to 0.5.0 0.5.0 2021-07-05 14:12:40 +02:00
Toka
849ff1fa04
MOpt scheduler (#161)
* add the struct for MOpt globals

* constants

* RAND_C

* more comments & reorder class members

* select_algorithm

* no_std fixes

* clippy fixes

* MOptMutator

* MutatorsTuple has HasLen

* MOptStage

* pso_update

* HasMOpt trait

* ScheduledMutator, core_fuzzing

* clippy fix

* fmt

* core_fuzzing

* core_fuzzing done

* fix

* pilot_mutate

* pilot_fuzzing

* pilot_fuzzing done

* MOpt metadata

* Make MOptMutator into a trait

* initialize_mopt

* No getter/setters

* fmt

* fixed compiler warnings & clippy warnings

* Comments

* fix type paramter, integrate into libpng

* fmt

* fmt

* No HasMOpt

* fmt

* improve

* pso_initialize, various fixes

* clippy

* fmt

* always pacemaker mode

* fmt

* fix

* less noisy fmt::Debug

Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2021-07-05 13:54:15 +02:00
Toka
fbeec3ca6c
Faster feedback (#206)
* faster_feedback

* typo

* feedback_or

* comma

* crash dedup can use the fast one
2021-07-05 13:51:18 +02:00
Andrea Fioraldi
5b76c22ea7
Cmplog routines mutator (#204)
* save

* routines in meta

* execute passes

* fix cmplog rtn pass

* clippy
2021-07-05 09:54:44 +02:00
Dominik Maier
84a9e36acf
Github Actions Cache (#205)
* trying out github actions cache

* split up build steps

* deactivated cache for macos

* debugging

* also for windows (?))

* clippy fix

* out folder ignored
2021-07-02 20:51:22 +02:00
Toka
c01f1e3318
launcher example needs --cores (#203) 2021-07-02 16:52:27 +02:00
Toka
b3c52a4ad6
Test fuzzers (#187)
* build_all_fuzzer.shj

* run.sh

* output log

* ENABLE_SHARED off

* libc6-dev

* echo

* no need to cargo build twice

* replaced realpath (not available on macos) with /Users/domenukk/tmp/libaflrs/fuzzers/libfuzzer_libpng_launcher

* replaced PWD with pwd

* trying to get llvm-config working

* more sudo?

* slash

* trying to get all deps

* more info

* delete apt install from build_all_fuzzers.sh

* correct libfuzzer_libpng makefile

* fix build for libfuzzer_libpng

* fix other makefiles

* nproc not supported on macos

* no run.sh, use make short_test

* enable_shared=false

* just Linux

* fix

* forkserver makefile

* fix

* stb_image Makefile

Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2021-07-02 15:35:41 +02:00
Andrea Fioraldi
f0743cbb17
remove serde bounds for Observer (#202) 2021-07-02 15:07:51 +02:00
Andrea Fioraldi
44f6e4c389
Improve introspection (#200)
* remove NUM_FEEDBACKS

* working introspection

* adust introspection stats

* bugfixes, clippy

* removed outdated define

* more clippy;

* no_std

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-07-02 10:58:36 +02:00
Dominik Maier
204b15a432
Mgr ID improvements (#201)
* added mgr_id to eventmanager

* trying to install missing llvm to ci

* moved mgr_id to own trait

* improved imports

* removed unrelated file from pr

* no_std fixes
2021-07-01 17:27:22 +02:00
Dominik Maier
4cafa8c253
added mgr_id to eventmanager (#196) 2021-06-30 21:58:06 +02:00
Dominik Maier
5a4e5b0a93
MacOS Build (#197)
* macos build

* more fix

* fixed clang pass build

* fixes for libfuzzer link

* more explanation links
2021-06-30 21:20:24 +02:00
Max Ammann
08263f7ade
Expose some details about introspection (#195)
* Expose some details about introspection, such that custom Stats implementations can use them

* Make the functions public

* Fix formatting
2021-06-30 14:16:36 +02:00
Dominik Maier
574a274be6 Merge branch 'main' into refix_shm_id 2021-06-30 13:14:28 +02:00
Dominik Maier
de4071bf23
Refix Shm ID (#194)
* print sender id

* storing sender id to env

* typo fix

* clippy fixes

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2021-06-30 09:06:51 +02:00
Dominik Maier
716af8920b clippy fixes 2021-06-29 12:30:49 +02:00
Dominik Maier
c2cd49413b typo fix 2021-06-29 12:09:49 +02:00
Dominik Maier
4a33dad9e4 Merge commit '6d2074bd7e2c7cdaba57a1a5b1c93886e9675663' into refix_shm_id 2021-06-29 12:06:40 +02:00
Dominik Maier
e479b4fa24 macos fixes 2021-06-28 16:18:17 +02:00
Andrea Fioraldi
8056cbe5cb Weak main to link non-fuzzing targets 2021-06-28 11:41:04 +02:00
Max Ammann
f60148fc76
Add simple issue templates (#189) 2021-06-25 14:05:34 +02:00
Andrea Fioraldi
5b54f0f068
Llvm passes (#185)
* enable llvm passes in libafl_cc

* cmplog rtn pass in fuzzbench fuzzer

* improve libafl_cc

* silence fuzzbench compiler wrapper

* instrumentation and runtime for rtn cmplog

* fix test

* fix test

* fuck clippy

* remove anon union in CmpLogMap

* windows.h

* remove libafl_targets_cmplog_wrapper

* no inline linking

* adapt fuzzers/
2021-06-23 09:38:15 +02:00
Dominik Maier
37f641f79b
Metadata lookup once (#186)
* metadata lookup once

* fix clippy
0.4.0
2021-06-22 18:41:46 +02:00
Andrea Fioraldi
bdb5efbf5b
Configurations (#162)
* print sender id

* storing sender id to env

* executor in llmp handle_in_client

* compile the lib

* compiling generic_inmemory

* fix forkserver

* adapt from fuzzers

* instrospection fix

* exitkind in NewTestcase

* fix libafl_frida

* fix firda_libpng

* send conf with Newtestcase event

* bump to 0.4.0

* no_std fix

* fmt

* fix libfuzzer_libmozjpeg

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-06-22 15:04:14 +02:00
Dominik Maier
5c5a1cf2e9
fixed fuzzbench early exits (#182) 2021-06-22 09:02:56 +02:00
Andrea Fioraldi
57d6df7951 Last and great fmt for fuzzbench 2021-06-21 17:56:09 +02:00
Andrea Fioraldi
abed61cc49 Propagate exit code in the compiler wrapper 2021-06-21 17:38:36 +02:00
Andrea Fioraldi
76892fddc6 Silence fuzzbench compiler 2021-06-21 17:15:09 +02:00
Andrea Fioraldi
ea40c21533 Fix args in fuzzers/fuzzbench 2021-06-21 14:17:35 +02:00
Andrea Fioraldi
fee9cae8ed Fix InProcessExecutor test mod 2021-06-21 11:58:04 +02:00
Andrea Fioraldi
3f1baf90b3 Merge branch 'main' of github.com:AFLplusplus/LibAFL into main 2021-06-21 11:39:51 +02:00
Andrea Fioraldi
6351cb16e5 Support multiple crash handlers when using multiple InProcessExecutors 2021-06-21 11:39:42 +02:00
Andrea Fioraldi
6c926c4841 Clippy go brrr 2021-06-18 10:02:44 +02:00
Andrea Fioraldi
8f5e2515dd Fix CI 2021-06-18 09:12:15 +02:00
Andrea Fioraldi
2fd8039f69 Fix max edges num count in pcguard 2021-06-17 16:56:35 +02:00
Andrea Fioraldi
5d49933a23 Fix libafl_targets 2021-06-17 10:55:12 +02:00
Andrea Fioraldi
e0fbe5bca2 Merge branch 'main' of github.com:AFLplusplus/LibAFL into main 2021-06-17 10:36:38 +02:00
Andrea Fioraldi
1ea8442478 Set maps size at compile time with env vars 2021-06-17 10:36:27 +02:00
Dominik Maier
8db453001f fixed fuzzbench some more 2021-06-16 23:41:08 +02:00
Dominik Maier
0af9c0c862
Fuzzbench fuzzer fix (#179) 2021-06-16 23:29:51 +02:00