Dongjia "toka" Zhang
ee58375ac5
Revert fuzzbench changes ( #927 )
2022-12-05 05:59:55 +09:00
Dongjia "toka" Zhang
cd8367d3e9
SIGINT handlers, and Release StateRestorer shmem ( #894 )
...
* drop not working
* why drop_in_place works but drop does not
* stop shmem leak
* don't kill -9 fuzzer
* don't put fuzzer background
* no &
* nostd
* fix
* fix
* windows, clippy
* fix
* fmt
* windows
2022-12-04 18:56:19 +01:00
Andrea Fioraldi
ebdab32b36
Fix clap in fuzzbench fuzzers ( #866 )
2022-10-26 14:06:14 +02:00
Andrea Fioraldi
5da5997b20
Remove fuzzbench_weighted and update fuzzbench ( #865 )
2022-10-26 11:24:34 +02:00
Andrea Fioraldi
5571a03641
Implement thread-safe AsanGiovese in Rust with snapshots support ( #851 )
...
* Purge C impl of asan-giovese
* Compiling
* reset asan
* Restore asan state in qemu
* clippy
* upd
* Asan snapshots
* fuzzbench_qemu
* fix snap mmap limit
* fix
* compiles again
* clippy
* update meminterval
* autofix
* fix 32 bit targets
* try to clean intermediate builds
Co-authored-by: Dominik Maier <dmnk@google.com>
2022-10-25 09:48:59 +02:00
Dominik Maier
e8b3d33bf4
Update dependencies, removed unused deps, CI fixes ( #839 )
...
* update clap, remove unused deps
* update grammartek
* update pyo3
* update pyo3
* undid clap update
* not changing nyx
* updated deps
* Update more deps, fixes
* not needed clippy
* fix windows
* try to enable deprecated pyproto for pyo3
* unused
* moving some things to clap4 after all
* initial move to clap 4
* fix clap
* more clap4, removed accidental file
* fixes, fmt
* fix
* all fix no play
* fix
2022-10-18 20:36:43 +02:00
Dongjia Zhang
eac7307c5a
0.8.1 ( #732 )
2022-08-18 10:23:57 +02:00
Dongjia Zhang
5d9a19f955
Mac OS Autotokens ( #723 )
...
* mac_tokens
* more
* win fix
* fmt
* fmt c
2022-08-13 02:58:22 +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
Dongjia Zhang
ffe8dbf6af
Bump to 0.8.0 ( #696 )
...
* upd
* more
2022-07-11 21:59:11 +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
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
Andrea Fioraldi
e8f5949aec
Fix linking with -z defs ( #601 )
...
* Always link no-link-rt when not linking a fuzzer
* Handle dynamic
* fuzzbench
* Handle -z defs
* fix
* clippy
* clippy
* windowa
* fix
2022-04-08 18:06:27 +02:00
Dongjia Zhang
034a4870e2
Set the number of stacked mutations in MOpt mutator ( #587 )
...
* max_stack_pow
* fix
* fix
* fmt
* rename
2022-04-03 09:25:59 +09: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
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
Dongjia Zhang
62614ce101
LLVM AutoTokens ( #470 )
...
* posix dict2file llvm pass
* new PM
* working
* clean up
* fmt
* fix
* silence clippy
* bring the println back
* early return
* rename
* weak symbols
* linux onky
* fuzzbench change
* only linux
* linux only
* cfg
* cfg
* fix
* fix
* fix
* why
* fix
* bug fix
* rename
* rename
* macros & rename
* add_from_autotokens
* fix fuzzbench
* std -> core
* builder pattern?
* clippy
* wrong cfg
* cfgstd
* fuzzbench fmt
* no unsafe
* update fuzzbench_text
* use TokenSectiopn
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2022-01-26 19:23:04 +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
Andrea Fioraldi
929f687676
Repro arguments libfuzzer-like for fuzzbench ( #475 )
2022-01-18 16:31:44 +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
9b3a435778
Add --libafl arg in libafl_cc and enable it for fuzzbench ( #466 )
2022-01-13 15:40:39 +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
d2bc09a31b
Format
2021-12-21 11:28:08 +01:00
Andrea Fioraldi
0cce1e2b91
Update fuzzbench and fuzzbench_qemu, delete fuzzbench_gsoc
2021-12-21 11:26:04 +01:00
van Hauser
1f24ad0b65
Implement AflMap ( #416 )
...
* aflmap
* nits
* nits
* switch implementation
* clippy
* set fuzzbench fuzzer to afl map
* fix monitor display
* Remove MapFindFilter and fix names
* AndReducer
* fixed testcase
* always inline
* remove inline(always)
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-12-16 14:19:39 +01:00
Dongjia Zhang
4aa6550bf2
Clap: use help instead of about ( #417 )
2021-12-10 05:04:32 +01:00
van Hauser
4a23489acb
Implement unstable edge detection+ignore in calibration stage ( #398 )
...
* step 1 for unstable calibration
* fmt
* fixed build
* done unstable implementation
* clippy
* finishing touches for unstable
* no_std
* fmt
* event mgr stablity
* fixed stability value
* displaying
* no_std
* fixed critical whitespace
* send msg only after calibration
* clippy
* Added log to mgr
* moved stability to state
* fix introspection
* space
* fixed docs
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-12-08 09:54:47 +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
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
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
Dominik Maier
16c3a07be7
ShMem Server for MacOS ( #238 )
...
* generalized ashmem server
* fixed macos testcases
* added StdShMemService
* no_st
* fmt
* added testcase, fixed some bugs (not all)
* solidified unix shmem
* initial impl for MmapShMem
* Added shmem service start to more testcases
* clippy
* fixed tetcases
* added frida_libpng makefile for easy use
* trying to fix build on ubuntu
* fixed ubuntu build for libpng
* no_std
* fixed testcase
2021-08-05 17:08:01 +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
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
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
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
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
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
Dominik Maier
dea21da5c3
fuzzbench harness ( #165 )
...
* starting to build fuzzbench harness
* fuzzbench updated
* fuzzbench example readme
* removed dummy files
* Intial de-luxe dockerfile added
* added to dockerignore
* more fuzzbench
* dockerfile
* final dockerfile fun
* fuzzing fixes, switched rand, build fixes
* fmt
* added dummy fuzzone
* silence wrapper output
* clippy
* logfile fixes
* adopt changes to libafl-cc
* various fixes
2021-06-16 18:24:07 +02:00