Dongjia "toka" Zhang
ec38858b2d
Fix Makefile.toml ( #893 )
...
* don't use submodules
* fix
* add
* fix
* a
* fix
* doesn't work 😩
* fix
* Update build_and_test.yml
* Update build_and_test.yml
* Update build_and_test.yml
2022-11-17 04:44:26 +09:00
Mrmaxmeier
cedcee01c0
CI: Build fuzzers with shared cargo target dir ( #845 )
...
* build fuzzers with shared cargo target dir
* Make external build scripts aware of CARGO_TARGET_DIR
* fix libmozjpeg fuzzer with shared target dir
* fix cargo-make default value for CARGO_TARGET_DIR
* avoid ./ in cargo-make for windows compat
* CI: cargo-hack's --feature-powerset is too powerful
* fuzzer_concolic: support CARGO_TARGET_DIR
* ci: install z3 to avoid building from source
* ci: update actions
* ci: test nightly features with nightly rust
* test_all_fuzzers: try pruning more compilation artifacts
* ci: fix nightly feature check
* ci: apply rust-cache action after checkout (d'oh)
The rust-cache action populates the checkout directory, which is promply
deleted by the checkout action during checkout.. whoops!
2022-10-20 21:38:58 +02:00
Andrea Fioraldi
089bc49d55
Bump to 0.8.2 and update versions script ( #828 )
2022-10-12 14:57:08 +02:00
Dongjia "toka" Zhang
57d1e4fba6
Fix Doc
2022-10-05 20:13:46 +02:00
Dongjia Zhang
eac7307c5a
0.8.1 ( #732 )
2022-08-18 10:23:57 +02:00
syheliel
2504b6dae3
Add rustfmt.toml
( #722 )
...
* add `rustfmt.toml`
* format fix
Co-authored-by: syheliel <syheliel@gmail.com>
2022-08-12 02:28:32 +02:00
Dominik Maier
12052b5f1c
Remove num_cpus dependency ( #717 )
...
* Remove num_cpus dependency
* Fix build, remove more num_cpus
2022-08-03 07:49:32 +02:00
Dongjia Zhang
a5248d0250
Change StdWeightedScheduler API ( #712 )
...
* change
* fmt
2022-07-27 14:17:45 +02:00
Dongjia Zhang
ffe8dbf6af
Bump to 0.8.0 ( #696 )
...
* upd
* more
2022-07-11 21:59:11 +02:00
Dongjia Zhang
66b5fe8678
Extend weighted scheduler ( #685 )
...
* extend
* fix
* fmt
* more fix
2022-06-29 09:43:42 +09:00
Dominik Maier
bfe69aea09
Format C/Cpp code in ./scripts/fmt_all.sh ( #653 )
...
* format all (clang format 13)
* added clang-format check
* re-add missing newline
* cargo doc was missing
* more brackets
* fixed fmt workflow
* clang format
* shellcheck
* install clang-format-13
* update ubuntu for maximum clang-formattability
* yml whitespaces
* fmt
* shellcheck only for .sh
* oops path
* ignored shellcheck warning
2022-05-29 03:23:02 +02:00
Andrea Fioraldi
28edbad618
Refactor libafl Python bindings ( #632 )
...
* SerdeAny MapFeedbackState
* Fix macro syntax
* alloc
* fix
* Metadata calibrate and map feedback
* metadata feedback states
* compile
* fmt
* Register common generic types
* tests
* sugar
* no_std
* fix book
* alloc
* fix fuzzers
* fix
* fmt
* disable python bindings for libafl
* clippy
* fmt
* fixes
* fmt
* compiling python bindings
* no uaf in python observer
* working python observer, feedback and executor
* mutators
* fmt
* nits
* added autofix script
* clippy
* clippy
* more clippy
* fix
* ignore clippy for deserialization
* newlines
* nits
* fmt
* feedbacks
* generators
* methods
* feedbacks
* pyerr
* fix
* fix
* fmt
* python bindings in CI
* fix
* fix
* fix
* autofix
* clippy
Co-authored-by: Dominik Maier <dmnk@google.com>
2022-05-25 16:56:06 +02:00
Andrea Fioraldi
da537aae83
FeedbackState as metadata ( #627 )
...
* SerdeAny MapFeedbackState
* Fix macro syntax
* alloc
* fix
* Metadata calibrate and map feedback
* metadata feedback states
* compile
* fmt
* Register common generic types
* tests
* sugar
* no_std
* fix book
* alloc
* fix fuzzers
* fix
* fmt
* disable python bindings for libafl
* clippy
* fmt
* fixes
* fmt
* fix
* fix
* fix
* fix
* fix
* release autofix
* fix
* fix
* fix
* fmt
* fix
* fix
* name
* fix
Co-authored-by: Dominik Maier <dmnk@google.com>
2022-05-24 16:05:22 +02:00
Dominik Maier
fa839bb08d
More docs and less pub types ( #646 )
...
* more docs
* nits
* fixes
* win fix
* fmt
2022-05-23 13:42:51 +02:00
Dongjia Zhang
283ceaac9b
Make weigthed scheduler independent of powersheduler stage ( #599 )
...
* rename & add metadata in scheduler, not stage
* Update testcase_score
* rename
* fix
* update handicap in scheduler
* fmt
* update fuzzers
* doc
* fmt
* fix
* fmt
* more
* fix
* fix
* fix
* fmt
2022-05-08 16:43:02 +02:00
Dominik Maier
1690dbb2cc
Sender id fix ( #610 )
...
* Starting to fix id issues
* add crashing testcase
* remove debug flags
2022-04-15 19:25:51 +02:00
Dongjia Zhang
eaa46075cc
COE Fix ( #593 )
...
* fix
* clp
2022-04-04 18:07:19 +02:00
Toka
abf1a66028
Rename FavFactor to TestcaseScore; More TestcaseScores ( #574 )
...
* rework aflfast
* more
* move fuzz_Mu
* weighted
* fix
* borrow checker fix
* compute_weight
* alias_table
* fmt
* fix & rename
* fix & less mut
* no_std
* no_std
* clippy
* 32bit clippy fix
* top_rated for compute_weight
* fix
* clippy & metadata Init
* fix
* fix
* fix
* clippy & fmt
* change fuzzers
* fuzzbench_selected
* fmt
* compute() has state
* use favfactor for powerschedules also
* fix merge
* rename
* fmt & clippy
* no_std
* fmt
* clippy
* rename
* fmt
* rename
* fmt
* fix
* fix
* fmt
* fix
* fix
2022-03-27 04:04:46 +09:00
Dongjia Zhang
c72f773ca0
Weighted corpus entry selection ( #570 )
...
* rework aflfast
* more
* move fuzz_Mu
* weighted
* fix
* borrow checker fix
* compute_weight
* alias_table
* fmt
* fix & rename
* fix & less mut
* no_std
* no_std
* clippy
* 32bit clippy fix
* top_rated for compute_weight
* fix
* clippy & metadata Init
* fix
* fix
* fix
* clippy & fmt
* change fuzzers
* fuzzbench_selected
* fmt
2022-03-23 02:01:00 +09:00
Andrea Fioraldi
a56f4af7da
CorpusScheduler -> Scheduler and move them to the schedulers folder ( #560 )
...
* CorpusScheduler -> Scheduler
* fix book
* update fuzzers
* fix tests
* fix sugar
* fix
* fix tutorial
* fix tutorial
* fmt
* fix
* fmt
* fmt
2022-03-03 14:27:37 +01:00
Dongjia Zhang
ba4cca0e15
Delete redundant makefiles ( #546 )
...
We switched to cargo make
2022-02-20 18:50:29 +01:00
Dongjia Zhang
936e2221d1
Cargo-make ( #537 )
...
* timeout utility
* example build.toml
* upd
* ci
* Update build_and_test.yml
* Update build_and_test.yml
* rename, qemu_launcher
* libpngs
* fix
* upd
* del
* do_nothing -> unsupported
* rename
* use command
* non qemu fuzzbench
* script.sh
* mroe
* qemu
* fix
* generic
* fix
* fix
* allow 124
* quotes
* fix
* fix
* fix
* stderr to devnull
* chg
2022-02-20 03:32:43 +01:00
Dominik Maier
6810e6085b
Builder for CommandExecutor & Tokens Refactoring ( #508 )
...
* builder for CommandExecutor
* tokens api cleanup, clippy
* fix doctest
* cleanup
* added testcase, remodelled
* command executor builder fix
* fix fuzzer(?)
* implemented From for configurator
* nits
* clippy
* unused
* autotokens
* cleanup
* nits
* Err instead of empty tokens
* fix tokens fn
* fix err
* more error fixing
* tokens remodelling
* typo
* recoverable fail on missing autotokens
* clippy, nostd
* asslice, into_iter, etc. for tokens
* adapt fuzzers
* iter
* fixes, clippy
* fix
* more clippy
* no_std
* more fix
* fixed typo
* cmd_executor builds again
* bring back ASAN stuff to Command Executor
* forkserver speedup
* no need to static
* back to earlier
2022-02-01 10:10:47 +01:00
Dominik Maier
77e5965e97
Add AsSlice, AsMutSlice traits, refactor MapObservers to be iterable, and have associated types ( #477 )
...
* from warning
* fix latest clippy
* clippy fixes++
* renamed shmem parameters
* renamed map to shmem
* make forkserver executor work for any (non-system) shmem
* Mem -> ShMem
* rework windows
* fix nit
* fix symbolic
* refacctor map observers
* iterator for map observers
* removed unused ownedptr, added asslice trait to most functions
* make map entry type an associated type
* fix fuzzers
* fix docs
* typo fix
* fix windows, add try_from_slice to shmid
* missing import
* fix fuzzbench
* cleanup
* fmt
* more asslice
* fmt
* added doc link about token-level fuzzing
* cods
2022-01-19 00:02:33 +01:00
Dominik Maier
2dd88998bd
Clippy fixes for latest toolchain ( #471 )
...
* from warning
* fix latest clippy
* clippy fixes++
* more nits
2022-01-17 11:02:42 +01:00
Andrea Fioraldi
bca1f392a7
Bump to 0.7.1 ( #465 )
...
* bump to 0.7.1
* bump libafl_qemu
2022-01-13 11:32:57 +01:00
Dongjia Zhang
b537539b54
Use MiMalloc for in-process fuzzers ( #439 )
...
* MiMalloc
* docu
* other fuzzers
* mention asan
2021-12-30 16:33:23 +01:00
Andrea Fioraldi
37b8cb0d2f
Bump to 0.7
2021-12-01 17:22:09 +01:00
Toka
23f02dae12
Fix api ( #376 )
...
* Fix api
* change fuzzers
2021-11-12 19:10:53 +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
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
Andrea Fioraldi
6ae36ce658
Refactor configurations with EventConfig ( #277 )
...
* switch to EventConfig
* adapt fuzzers
* fix tests
* fix sugar
* clippy
* ahash
2021-08-26 13:25:03 +02:00
Andrea Fioraldi
951b6fef36
Bump 0.6.1
2021-08-23 10:01:22 +02:00
julihoh
dcf107a30a
symcc_runtime dependency fix for next libafl version & bump to 0.6.0 ( #268 )
...
* symcc_runtime dependency fix for next libafl version
* bump to 0.6.0
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2021-08-18 10:57:55 +02:00
Dominik Maier
ee33faa881
Bring back libpng CI on MacOS ( #255 )
...
* Makefile fix for libpng on MacOS (#252 )
* clean exit for libpng_launcher
2021-08-09 02:59:39 +02:00
Dominik Maier
bb21ab7a63
Autolaunch ShMemService, add MacOS fuzzers to CI, various fixes ( #246 )
...
* starting to fix macos linker bugs
* mdetailed error prints
* start shmem service manually
* not a doc comment
* Some fixes
* only send exit msg to shmemservice when start was successful
* incorporated shmem service into provider
* removed unused imports
* trying to fix fuzzers
* fixed build
* check if join_handle is_some
* more debug prints
* fixed shmem service autolaunch
* fixed macos linker
* ignoring broken libpng testcase on macos for now (see #252 )
* fmt
* try to fix missing llvm_config (see #253 )
* empty issue template added
* Mmanually look for llvm-config on MacOS
* fixing CI
* fixed docs
* ignoring libmozjpg for CI, see #254
2021-08-09 01:10:29 +02:00
Toka
bfe0a97077
AFLFast ( #208 )
...
* Defined PowerScheduleTestcase
* calibrate stage
* powerschedule
* PowerQueueCorpusScheduler
* Calstat
* Integer for observer
* update power.rs
* calculate_score
* no_std
* no_std
* calibrate_case
* calculate_score done
* update fuzz_level
* update depth
* rename, PowerScheduleQueueScheduler::next
* increment hashmap
* n_fuzz
* no_std
* fmt
* clippy
* check bitmap_size
* hash
* compile
* rename, vec
* fuzzer runs
* fixes
* rename, no_std log2
* fmt
* clippy
* fmt
* unused imports
* use exec_time
* getter/setter
* No unwrap
* ToString
* fixes
* ahash
* fmt
* use favored from power.rs side
* rename
* IsFavoredMetadata
* run_target
* clippy fixes
* doc & fix
* doc
* rename
* forgot log2
* fix
* fix
* added comments explaining why the COE and FAST schedules are different from the thesis
* saturated increment
* saturating_add
* put n_fuzz in PowerScheduleMetadata
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2021-07-28 21:19:50 +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
Andrea Fioraldi
a1fc2a5453
Bump to 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
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
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
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
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
Andrea Fioraldi
21508ee571
Remove useless trace-cmp
2021-06-16 19:02:39 +02:00
Andrea Fioraldi
1faadec106
Move win32 libs in libafl_cc and improve static lib linking ( #176 )
...
* Move win32 libs in libafl_cc and improve static lib linking
* fmt
2021-06-16 14:21:13 +02:00
Andrea Fioraldi
2b0976132a
Generic Inmemory Fuzzer ( #166 )
...
* generic inmemory fuzzer
* Link whole archive
* fmt
2021-06-14 10:26:10 +02:00
Dominik Maier
3b2ee4bb70
Added MacOS CI ( #131 )
...
* added macos ci
* running tests on macos
* some macos fixes
* fmt
* some must_use infos
* trying' to fix MacOs testcases
* no main in test
* fixed MacOS testcases
* tried to fix build errors
* unified shmem_limits
* Revert "unified shmem_limits"
This reverts commit 8c6bb8d6a2cec71d72bb181b5b491737a771298e.
* hopefully fixed macos testcase
* removed unneeded values
2021-06-07 01:24:41 +02:00