1189 Commits

Author SHA1 Message Date
van Hauser
0f2cf80085
libafl_qemu injections (#1743)
* nits

* first steps

* different approach

* fixes

* remove temps

* remove temp

* initial import

* more tests

* bug hunt

* cleanup

* yaml function target 0x.... support

* final

* update doc

* other work

* Clippy, fmt

* Removed lazystatic dependency

* More small cleanups

* optimize to_lowercase

* move funtionality to libafl_qemu

* add missing file

* ready

* remove qemu_injections

* move test files to test directory

* doc update

* add todos

* fixes

* add file comment

* add test and other platform support

* fix clippy

* Replace Emulator::new_empty by Emulator::get.
Fix visibility identifier.

* clippy

* let's try this

* cpu_target?

* fmt

* cleanup build system, enable missing fuzzers

* fix qemu_launcher

* enable hexagon in qemu_launcher

* Removed useless `any` predicate in cfg attribute.
Replaced wrong types in `syscall_hook` signature.

* format

* move to read_function_argument

* add hexagon injections support

* enable injections fuzzing everywhere

* unify error msg

* Fix build, add initial toml support

* intermediate push, wip

* fix build

* More WIP

* Fix build

* Clippy

* fix qemu

* Fix arm

* fix more wrong things

* fix testcase

* try to fix it again?

* more release?

* make makefile independent of dev/release

* trying more fix?

* More ugly more works

* more trying to fix the testcase

* allow yml as filename too

* more docs

---------

Co-authored-by: Dominik Maier <dmnk@google.com>
Co-authored-by: Romain Malmain <romain.malmain@pm.me>
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2024-01-09 19:56:19 +01:00
Addison Crump
ba8ca6723b
Resumable stages redux (#1780)
* initial stage refactor

* repair test

* redqueen

* fixup python bindings

* docs and clippy fixes

* misc hidden changes

* Status => Progress

* fix remaining fuzzers

* fix libafl_libfuzzer

* implement resume for nested stages

* deep testing for stage resumeability

* refactor: use let-else, docfix

* refactor in fuzzbench_forkserver_cmplog

* fmt

* actually use progress

* HasStageStatus => HasCurrentStage
2024-01-09 15:18:14 +01:00
Addison Crump
99fd69acdc
Multipart Input support (#1617)
* initial commit: multipart

* document + wrap up baby fuzzer

* oops

* core

* add from method, option to iter

* improve example; use minmap; fix initial_mut

* bindings

* clippy, again

* moar clippy

* fmt

* drop rand dep because we don't need it, actually

* docfix

* ok actually fix docs pls
2024-01-04 01:51:29 +01:00
Konstantin Bücheler
9b2a17896f
Fix export of afl-clang-fast if already in PATH (#1773) 2024-01-03 23:22:42 +01:00
Dominik Maier
d143cac663
Fix atheris fmt, clippy (#1769) 2024-01-02 23:12:37 +01:00
Dominik Maier
925b33889f
LibAFL Atheris Compatibility (#1576)
* Made changes to libafl_atheris/src/lib.rs to work with Atheris

* Removed unused imports

* Ran  on libafl_atheris

* Fixed issue with using extra_counters and issue with using println

---------

Co-authored-by: eceo902 <evan.seeyave@gmail.com>
Co-authored-by: Evan <53020947+eceo902@users.noreply.github.com>
2024-01-02 22:18:34 +01:00
Dominik Maier
a07563def0
Add mute_inprocess_target fn, SimpleFdLogger::set_logger, and more (#1754)
* Add mute_inprocess_target fn, SimpleFdLogger::set_logger, set_error_print_panic_hook

* Trying to fix #1753

* typo

* More fix

* Fix test?

* more testcase fixes
2024-01-01 23:14:59 +01:00
Dominik Maier
c93291ab57
Fix as_object UB discussed in #1748 (#1751)
* Fix as_object UB discussed in #1748

* More cleanup, more less UB

* Fix fixes

* Added uninit_on_shmem api

* clippy

* fmt

* trying to fix fuzzers, libfuzzer wrapper

* Add OwnedRefMit::owned constructor, libfuzzer fix

* Some more fixes

* Add BacktaceObserver::owned fn

* fmt

* more fmt
2023-12-22 16:49:01 +01:00
fc331fc6d8 consolidate outputs 2023-12-22 12:57:51 +01:00
90cae14958 new cli 2023-12-22 12:57:51 +01:00
6e0b49bf9b switch address data type, simplify synbol resolution 2023-12-22 12:57:51 +01:00
aba83dfb6f minor fixes 2023-12-22 12:57:51 +01:00
5648255542 fixup graph cycles 2023-12-22 12:57:51 +01:00
d179343a63 add delay list overflow 2023-12-22 12:57:51 +01:00
38e5767775 filter interrupt abbs 2023-12-22 12:56:54 +01:00
3fcb9a74e0 add graph printing 2023-12-22 12:56:54 +01:00
4e18b8fdab fix graph dump build 2023-12-22 12:56:54 +01:00
3a601fe250 hack async activation detection 2023-12-22 12:56:54 +01:00
bf42de5698 fix api regression 2023-12-22 12:56:54 +01:00
82908badfd add simple iteration counter 2023-12-22 12:56:54 +01:00
086a575f44 add delay list to RefinedFreeRTOSSystemState 2023-12-22 12:56:54 +01:00
e31c01b2af capture delay list 2023-12-22 12:56:54 +01:00
6dafc4f9d6 update to 0.11.1 2023-12-22 12:56:54 +01:00
92da68af6f small build fixes 2023-12-22 12:56:54 +01:00
53ef9ae96e port to libafl 0.10.1 2023-12-22 12:56:54 +01:00
900ce0bc92 remove dead code 2023-12-22 12:56:54 +01:00
e9f2792488 igonre archives 2023-12-22 12:56:54 +01:00
2d70cff21e eval script wrangeling 2023-12-22 12:56:54 +01:00
5ddb7192ba HACK: interrupt limit for random fuzzing 2023-12-22 12:56:54 +01:00
711fd36200 plot enpoints 2023-12-22 12:56:54 +01:00
81cbddc1be paralellize plots 2023-12-22 12:56:54 +01:00
8c6f8c861f update plot script 2023-12-22 12:56:54 +01:00
47d7ff3c48 tweak time outputs 2023-12-22 12:56:54 +01:00
f2244c96b0 add run_until_saturation 2023-12-22 12:56:54 +01:00
a970954a40 update snakefile 2023-12-22 12:56:54 +01:00
db6df36110 fix empty iterator crash, restart 2023-12-22 12:56:54 +01:00
884a19cf9d set up configurations 2023-12-22 12:56:54 +01:00
e130155204 add missing use 2023-12-22 12:56:54 +01:00
a6052ddad7 randomize interrupts until wort 2023-12-22 12:56:54 +01:00
dd6be70a01 Test: remove pc from hash 2023-12-22 12:56:54 +01:00
0e5dc21cd6 Test: hash notification states 2023-12-22 12:56:54 +01:00
ee15313d96 allow plotting from remote mount 2023-12-22 12:56:54 +01:00
4e08db297a update snakefile 2023-12-22 12:56:54 +01:00
8395ca1000 small fixes 2023-12-22 12:56:54 +01:00
e2aee4af17 WIP: add simple interrupt time randomizer 2023-12-22 12:56:54 +01:00
fef550ecb6 update target_symbols 2023-12-22 12:56:54 +01:00
fc0f1807a9 skip unchanged interrupts 2023-12-22 12:56:54 +01:00
2032f1420d fix staeg setup 2023-12-22 12:56:54 +01:00
fb95bc9e3c fix use 2023-12-22 12:56:54 +01:00
063a4c9216 WIP: move interrupt mutation to new stage 2023-12-22 12:56:54 +01:00