1704 Commits

Author SHA1 Message Date
Andrea Fioraldi
0bd292f2ae Merge branch 'main' of github.com:AFLplusplus/LibAFL into main 2021-07-22 11:58:32 +02:00
Andrea Fioraldi
7e06b90364 Fix SimpleRestartingEventManager broken generics 2021-07-22 11:58:24 +02:00
s1341
5156b4cf8f
staterestore File::open should be File::create (#235) 2021-07-22 11:38:43 +02:00
David CARLIER
90b7ae08d6
x86 32 bits build fix (#234) 2021-07-21 21:48:33 +02:00
Andrea Fioraldi
2faf1d24c8
Hook syscalls in QemuBytesCoverageSugar (#233)
* add x64 syscalls numbers

* syscall hook

* update commit

* read guest mappings

* clippy

* read write hooks

* automerge fix

* type fix

* hooks syscalls in sugar
2021-07-21 12:29:46 +02:00
Andrea Fioraldi
db820d56a2
Qemu memory hooks (#232)
* add x64 syscalls numbers

* syscall hook

* update commit

* read guest mappings

* clippy

* read write hooks

* automerge fix

* type fix
2021-07-21 12:28:06 +02:00
Andrea Fioraldi
8e745f7d90 Remove useless fuzzbench_qemu build deps 2021-07-21 11:18:33 +02:00
Andrea Fioraldi
dfe39e2af7
libafl_sugar (#215)
* fuzzer mod

* libafl_sugar skeleton

* build libafl_sugar

* libfuzzer_stb_image_sugar

* Delete log

* qemu in libafl_sugar

* docker

* macos merda

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-07-20 11:47:33 +02:00
Dominik Maier
9591ed995e
Panic on Too Slow Broker (#230)
* panic on too slow broker

* constant for max pending pages
2021-07-20 02:39:03 +02:00
David CARLIER
b0cb74324c
fix android arm64 build (#231) 2021-07-20 02:38:44 +02:00
Andrea Fioraldi
230d7a1cb1
CachedOnDiskCorpus (#229)
* sized inputs

* push CachedOnDiskCorpus and fix OnDiskCorpus

* comments
2021-07-16 16:34:43 +02:00
Andrea Fioraldi
5cd7339b1a
Qemu read memory mappings (#228)
* add x64 syscalls numbers

* syscall hook

* update commit

* read guest mappings

* clippy
2021-07-16 10:38:00 +02:00
Dominik Maier
5a14b870e2
Added staterestore to restarting mgrs (#225)
* added staterestore to simple restarting mgr

* reworked launcher

* ? instead of unwrap

* no_std fixes

* windows

* fixed save fn

* added llvm to dockerfile
2021-07-15 13:13:07 +02:00
Andrea Fioraldi
b09fa4e3f4
Qemu syscalls hook (#226)
* add x64 syscalls numbers

* syscall hook

* update commit
2021-07-15 11:12:10 +02:00
Andrea Fioraldi
ac783c6119 Fix inifnite serialization for CmpValuesMetadata 2021-07-15 09:58:23 +02:00
Andrea Fioraldi
ec4c5ae88a
remove timeout on crash (#224) 2021-07-13 16:15:12 +02:00
Andrea Fioraldi
42b7c6d7e7
Qemu CmpLog (#223)
* 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

* cmp hooks

* cmplog hooks

* qemu cmplog

* clippy
2021-07-13 16:02:53 +02:00
Dominik Maier
712c5daeb9
Reload corpus size after restart (addresses #210) (#220)
* reload corpus size after restart (addresses #210)

* no_std
2021-07-12 13:16:40 +02:00
Dominik Maier
a0ba0f0251 clippy 2021-07-12 10:30:41 +02:00
Toka
13b4a143b8
branch main (#219) 2021-07-11 01:47:01 +02:00
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