Andrea Fioraldi
fdf579bcd5
Bump to 0.9.0 ( #946 )
...
* bump to 0.9.0
* fix libafl_tinyinst
* fix
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2023-01-31 10:42:01 +01:00
Dominik Maier
97e88af0c5
OnDiskCorpus: Write metadata by default, metadata gzip compression ( #995 )
...
* Write metadata by default
* fix fuzzers
* Cleanup, gzip feature
* Fix casing for ondisk corpus
* fix fmt, clippy
* clippy
* clippy for gdiplus fuzzer
* fmt
2023-01-13 01:07:36 +01:00
Andrea Fioraldi
ec84c71eae
Corpus maps ( #947 )
...
* hashmap corpus for inmemory
* corpus_btreemap feature
* CorpusId
* queue
* MinimizerScheduler::remove
* fixes
* continue
* keys
* working corpus
* ok
* weighted left
* wip
* port weighted scheduler
* it compiles
* doc
* fix mutators
* fix queue
* fix iter
* tests
* fix
* fix
* fix
* py
* clippy
* clippy
* clippy
* cmin
* fix
* fix
* fix
* clippy
* remove Corpus::random_id
2023-01-09 14:15:07 +01:00
Dominik Maier
75f12bd0eb
Remodelling Observers/Examples that rely on UB, API cleanups ( #950 )
...
* Tackling UB
* PtrMut -> MutPtr, moved mapobservers to non-UB
* QEMU fixes
* test fixes
* qemu
* Change all interfaces, fix all fuzzers
* fixes
* fix more fixes
* fmt
* fix qemu sugar
* fix some qemus
* atheris
* fmt
* more fmt
* most fmt
* more fix
* nyx fyx
* fix qemu
* clippy, fixes
* more fixes
* no unfix, only fix
* fix
* fix
* more clippy
* fixes
* ListObserver
* fmt, clippy
* fix qemu on arm
* update zlib target
* fix?
* fix
* added migration guide
* ignore doc
* fix symcc
* fix new win fuzzer
* Fixes, rename PTR_SIZE to PTR_NUM
* Try fix linking on win
* Trying to fix win linking
* more cov
* trying to fix win some more
* trying to fix mac
* trying to fix mac
* Fix tests
* Fix tests
* trying to fix win
* more mac
* giving up for windows
* fmt
* python3
* mac?
* undo windows tests
2022-12-24 14:20:44 +01: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
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
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
Andrea Fioraldi
089bc49d55
Bump to 0.8.2 and update versions script ( #828 )
2022-10-12 14:57:08 +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
Dominik Maier
5a8bdae26f
Update requirements ( #714 )
...
* Update requirements
* more updates
* nits
* more updates
* update nix for fuzzers
* use any regex 1 instead of 1.6
2022-07-29 09:54:16 +02:00
Mrmaxmeier
321bcfeba1
Cleanup duplicate package warnings ( #702 )
...
* cleanup duplicate package warnings
* libmozjpeg fuzzer: disable png reading support
libmozjpeg's libpng support is not used by the fuzzing harness,
and the mozjpeg-4.0.3 release has a build system issue with
newish libpng versions.
2022-07-17 14:17:49 +02:00
Dongjia Zhang
ffe8dbf6af
Bump to 0.8.0 ( #696 )
...
* upd
* more
2022-07-11 21:59:11 +02:00
Andrea Fioraldi
323b8e23ee
LIBAFL_DEBUG_OUTPUT in Launcher and OnDiskTOMLMonitor to create fuzzer_stats ( #666 )
...
* LIBAFL_DEBUG_OUTPUT in launcher on unix
* OnDiskTOMLMonitor
* fix
* clp
* clippy
* fix
* fix
* allow all
Co-authored-by: tokatoka <tokazerkje@outlook.com>
2022-06-08 17:32:58 +02:00
Dominik Maier
3a5118fc02
Moved core_affinity to bolts ( #655 )
...
* moved core_affinity to bolts crate
* clippy
* fixes
* ubuntu
* ubuntu++
* moved core_affinity to os
* fixed more imports
* fixed imports
* fixed test
* moved core_affinity out of os
* added affinity
* moved to windows crate
* fmt
* some tiny fixes
* more win
* refactoring
* win?
* win?
* clp
* upd
* more
* copy & paste & fix
* clp
* try
* fix
* more
* fix
Co-authored-by: tokatoka <tokazerkje@outlook.com>
2022-05-30 10:02:46 +02: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
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
2ba32c0173
Update Clap dependency ( #621 )
2022-05-06 01:12:25 +02:00
Andrea Fioraldi
09cf136c63
Fix CI ( #562 )
...
* fix libfuzzer_libpng_ctx
* fix
* fix
2022-03-04 15:51:54 +01: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
Andrea Fioraldi
dd002a081b
Implement coverage accounting (BB metric atm) ( #507 )
...
* bb accounting llvm pass
* bb metric
* accoutning corpus scheduler
* fix warnings
* alloc
* clippy
* fix dockerfile
* clippy
* coverage accounting example
* finish CoverageAccountingCorpusScheduler
* fmt
* --libs in llvm-config
* merge
2022-02-01 14:08:38 +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
Andrea Fioraldi
cc0880e784
Monitor with UI based on tui-rs ( #480 )
...
* first working version
* full gui
* remove warnings
* remove errors in release
* allow missing_docs in tui
* tui_monitor flag
* working graphs
* disable tui on windows
* clippy
* clippy
* tui module only under std
* use tui from git
* fmt
* tui from crates
2022-01-20 23:55:48 +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
Dominik Maier
6d9763c51f
Move to clap 3.0 ( #447 )
...
* move to clap 3.0
* fix cargo.toml
* update symcc to use clap3
2022-01-04 23:53:12 +01:00
Dominik Maier
af3d321213
Derive debug for all structs in LibAFL ( #442 )
...
* documentation, warnings
* fixed docs
* docs
* no_std
* test
* windows
* nautilus docs
* more fixes
* more docs
* nits
* windows clippy
* docs, windows
* nits
* debug all the things
* derive debug for all core library components
* Docu for libafl_targets
* nits
* reordered generics
* add docs to frida, debug
* nits
* fixes
* more docu for frida, nits
* more docu
* more docu
* Sugar docs
* debug for qemu
* more debug
* import debug
* fmt
* debug
* anyap_debug feature no longer needed
* tidy up unused fn
* indicate if we left out values for struct debug
* implement Debug for sugar
* debug allthethings
* ci
2022-01-03 00:47:17 +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
Dominik Maier
217a7dee1d
Use Structopt instead of yaml for example fuzzers, introduce Cores API ( #420 )
...
* reworked generic_inmemory to structopt
* moved core parsing to a struct
* added Cores
* added structopt to libpng_ctx
* improved libafl, added structopt to libpng launcher
* fix deexit ub
* move more to structopt
* improve llvm-config detection
* move construct_automata to structopt
* clippy, fixes, ...
* no_std
* clippy
* frida core parsing
* fixed no-fork cores
* updated clap
* added missing import
* missing borrow
* reworked frida to structopt
* fixed build
* using Cores api for atheris
Co-authored-by: Dominik Maier <d.maier@avm.de>
2021-12-15 03:58:35 +01:00
Andrea Fioraldi
37b8cb0d2f
Bump to 0.7
2021-12-01 17:22:09 +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
s1341
b4aa22458d
Add core_id to launcher run_client
closure signature ( #290 )
...
* Add core_id to launcher run_client closure signature
* Format
* Attempt to fix windows build
* windows
* Sleep for index seconds instead of id seconds when launching cores (#292 )
2021-09-12 09:49:36 +02: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
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
Andrea Fioraldi
a1fc2a5453
Bump to 0.5.0
2021-07-05 14:12:40 +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
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
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
e479b4fa24
macos fixes
2021-06-28 16:18:17 +02:00