Romain Malmain
b3ddab3bce
fix libafl_qemu_sys unnecessarily rebuilding. ( #1938 )
2024-03-14 18:25:19 +01:00
Dongjia "toka" Zhang
afa2965f3c
Remove some arguments from pre_exec/post_exec in ExecutorHook ( #1933 )
...
* refactor
* no std, fmt
* win mac
* state
* frida
* ctx
* trait bound
* clip
2024-03-13 18:49:09 +01:00
Romain Malmain
9b96149f6c
Do not build doc with all features. ( #1928 )
...
Add documentation about default features for documentation.
2024-03-12 23:08:37 +01:00
Dominik Maier
dd410c590a
Allow dyn in StagesTuple, add Current Testcase API, Untraitify Progress ( #1915 )
...
* Move into_vec to extra trait
* fix no_std
* First step towards stages tuples as vecs
* Allow dyn in StagesTuple, add Current Testcase API, un-traitify Progress, cleanups
* Move from generics to impl keyword, more replacements with better API
* rename fn
* Fix additional stages, more cleanup, rename progress to retries
* Fix more fixes
* Fixes
* Rename ProgressHelper -> RestartHelper
* Fix sugar, python, add perform_restartable
* fixes
* remove prelude bs
* rename to restart_progress_should_run
* more cleanup, remove tests I don't understand (sorry)
* fix docs
* more fix
* fix miri
* unsafe safety annotations
* more comments
* last docs
* Mixed_attributes only allowed for bindgen
2024-03-12 00:58:07 +01:00
Romain Malmain
e745401a39
Update QEMU version. ( #1922 )
...
* update QEMU version.
* clippy
2024-03-08 13:15:00 +01:00
Romain Malmain
55a300d508
Make executor state available to the harness V2 ( #1900 )
...
* inital commit.
* clippy
* tests
* clippy
* adapt example
* systemmode.
* renaming
* fmt
* fix lints.
* more lint fix.
* even more lint fixes.
* always more lint fixes.
* lint fix.
* allow unused qualifications for crate when it could be confusing.
* Still lint fixes.
* Lint fixes on generated code.
* Some lint fixes.
* renamed modules as well.
2024-03-05 19:28:46 +01:00
Dongjia "toka" Zhang
1a0e692f33
Print PID when you create a new Llmp Sender. ( #1898 )
...
* aaaa
* FMT
* adding std
2024-03-05 16:02:47 +01:00
Romain Malmain
d96a1426d5
Fix lint errors ( #1909 )
...
* fix lints.
* more lint fix.
* even more lint fixes.
* always more lint fixes.
* lint fix.
* allow unused qualifications for crate when it could be confusing.
* Still lint fixes.
* Lint fixes on generated code.
* Some lint fixes.
2024-03-05 14:16:26 +01:00
Dongjia "toka" Zhang
1a41e65a5b
Sancov based ngram & ctx implementation ( #1864 )
...
* ngram
* ctx
* push stuff
* passing cargo check
* save stuf
* add
* no default
* fuzzbench ready
* formatt
* aaaaaaaa
* adaptive map
* add all
* chg
* fix
* deleting stuff
* fmt
* clang18
* fuck
* save space
* fix?
* feature name
* fucking nightly only
* harness
* fix libafl_cc
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2024-03-01 13:59:13 +01:00
Addison Crump
7a4fb06d02
make nopstate public so that it can be used as reproducer ( #1888 )
2024-02-27 16:48:08 +01:00
Dominik Maier
263af87652
Less useless allocs for monitor display ( #1874 )
...
* Less useless allocs for monitor display
* More less String
* Lol who needs generics
* clippy
* remove &String
2024-02-19 21:15:11 +01:00
Dominik Maier
fafe8f5ce8
Fixing clippy some more ( #1872 )
...
* Fixing clippy some more
* more commit
* Git gud
* remove more useless imports
2024-02-19 16:46:06 +01:00
Dominik Maier
578a22a3d9
Revert "Companion patch to qemu-libafl-bridge #46 ( #1830 )" ( #1865 )
...
This reverts commit b999b4aac591818d4342773ff48e98f2896f141e.
2024-02-16 20:50:18 +01:00
Dominik Maier
0a995f241c
Cleanup Pointer Clippy Lints ( #1861 )
...
* Fix pointer clippy lints
* More clippy
* fix build
* fix
2024-02-15 16:31:18 +01:00
cube0x8
b999b4aac5
Companion patch to qemu-libafl-bridge #46 ( #1830 )
...
* fixing qemu-libafl-bridge #46
* cargo fmt
* updated QEMU revision
---------
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2024-02-15 16:30:05 +01:00
Rubens Brandão
97a83aba3b
feature(libqasan): add strndup ( #1860 )
...
* feature(libqasan): add asprintf and vasprintf
* feature(libqasan): add asprintf and vasprintf to hotpatch
* feature(libqasan): add strndup
2024-02-15 16:13:46 +01:00
Rubens Brandão
d6d6a23f69
feature(libqasan): add asprintf and vasprintf ( #1844 )
...
* feature(libqasan): add asprintf and vasprintf
* feature(libqasan): add asprintf and vasprintf to hotpatch
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2024-02-15 13:56:35 +01:00
Romain Malmain
5151f1e35c
fix qemu linking error. ( #1846 )
...
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2024-02-15 00:29:33 +01:00
Dongjia "toka" Zhang
973c4358e6
clippy ( #1851 )
2024-02-13 13:19:00 +01:00
Rubens Brandão
40c8645ed3
Fix libafl_qemu libqasan Makefile ( #1835 )
...
* fix libafl_qemu libqasan Makefile
* remove make clean from libafl_qemu libqasan build
---------
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2024-02-07 15:36:36 +01:00
Andrea Fioraldi
41d24ca375
Fix broken closure hooks in libafl_qemu ( #1839 )
...
* Fix broken crash hook
* fix hooks
* clippy
* pin
2024-02-07 15:03:27 +01:00
Romain Malmain
99a70e5771
Update qemu-libafl-bridge with upstream. ( #1829 )
...
QEMU update to v8.2.1
2024-02-05 14:24:02 +01:00
Rubens Brandão
241b93036e
Fix libafl_qemu hooks references ( #1825 )
...
* fix libafl_qemu hooks references
* restrict the fatptr transmutation
2024-02-02 21:52:58 +01:00
Rubens Brandão
c96d103b37
HookId trait and types in libafl_qemu ( #1796 )
...
* libafl_qemu fix remove_hook
* libafl_qemu specialize hooks into separated types
* libafl_qemu generalize HookState to allow any HookId implementation
* fmt: external C qemu hook functions
---------
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2024-02-01 10:55:55 +01:00
Dominik Maier
244c6b0da5
QEMU: Fix injections build for hexagon, disable on system mode ( #1821 )
...
* Fix CI for Clippy, QEMU
* Clippy, fixes for system mode
* clippy
* clippy
* fixing new clippy
2024-01-30 04:25:14 +01:00
Dominik Maier
e7df233dc1
QEMU: add injections mode default ( #1818 )
2024-01-28 17:12:20 +01:00
Dominik Maier
0cb7b25f39
Replace static borrows with addr_of!
, rust 2024 compatibility ( #1800 )
...
* Less UB
* fmt
* fix warning
* clippy fixes
* addr_of_mut allthethings
* removed duplicate import
* fix imports
* remove comment
* more windows
* fmt
* fix tests
* fixes
* qemu
* fix more cases, qemu
* fix
* fmt
2024-01-24 17:47:55 +01:00
Romain Malmain
a0e30d01d3
QEMU: safe linking of extern "C" declarations ( #1810 )
...
* safe linking initial commit
* Fix static declaration.
* Works also for static variables, even for thread-unsafe types.
* Remove warnings.
* fixed visibility for function.
* remove `rustversion` from dependencies.
2024-01-23 22:38:06 +01:00
Dongjia "toka" Zhang
2ac154d473
Refactor InProcessExecutor, merge timeout executors ( #1789 )
...
* move windows, inprocess fork to a different file, try new hook mechanism for the executor
* fix
* even more
* more
* more
* fix
* fix
* macosgit add -ugit add -u
* windows!
* windows!
* aa
* aa
* macos
* std
* wtf unresolved?
* Copy, Clone
* why you just don't have the same API!
* inproc
* next; inprocess
* windows?
* ci
* ci
* ci
* unused
* ci
* unused
* no_std
* windows no std
* fix
* inprocess
* fix
* windows
* fuzzers
* macos , book
* fix
* aa
* allow
* fix
* stop suggesting wrong lint AAAAAAAAAAAAAAAAA!!!
* stop suggesting wrong lint AAAAAAAAAAAAAAAAA!!!
* win
* fix
* wip
* wip2
* windows done?
* remove TimeoutExecutor
* ci
* ci
* miri
* fixfi
* compile on windows
* a
* clp
* no_std stuff
* windows no_std
* mac stuff
* m
* a
* ci
* ci
* deleting timeoutexecutor, gradually
* fucking macos
* ci
* test
* ci
* ci
* batch mode constructor
* fix
* ci
* aa
* miri
* aaa
* tmate again
* fix windows stuff
* final fix
* another win fix
* add
* let's add the new fix later
* more
* fi
* parse
* win clippy
* win no std
* safety
* fix
* DEFAULT
* final fix
* libafl_libfuzzer
* comments
* fix
* fix fuzzres
* fixxxxx
* fixxxxx
* last fix
* change name
2024-01-23 22:35:14 +01:00
2ac7874895
fix build
2024-01-16 15:53:57 +01:00
Dongjia "toka" Zhang
3ed231db69
Don't use assert fail when building on libafl_libfuzzer on windows ( #1792 )
...
* fix
* fix
* clippy
* clippy
2024-01-13 16:02:10 +01:00
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
Dominik Maier
88f3ff4a28
Clang-format latest ( #1651 )
...
* Clang-format latest
* add
* rdm
* CHATGPT
* CHATDUMB
* different action
* no
* fix
* ci
* ci
* ci
* fuck
* dir
* checkout?
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* don't use shit
* ci
* ci
* ci
* FMT
---------
Co-authored-by: toka <tokazerkje@outlook.com>
2024-01-05 23:32:06 +01:00
Romain Malmain
b8d48013c0
updated QEMU. Adapted emu.rs to fit new interface. ( #1774 )
...
* updated QEMU. Adapted emu.rs to fit new interface.
* format
2024-01-03 20:10:20 +01:00
Romain Malmain
38e16fbade
replace Emulator::new_empty
by Emulator::get
calls outside of emu.rs
for safety. ( #1763 )
2024-01-01 18:49:11 +01:00
c49edd729d
switch to native breakpoints
2023-12-22 12:56:54 +01:00
7f362f5907
add interrupt injection
2023-12-22 12:56:54 +01:00
b678f9f18b
libafl_qemu: add jmp instrumentation
2023-12-22 12:56:51 +01:00
03fbe41dbb
WIP: port fret
2023-12-22 12:54:16 +01:00
Romain Malmain
830faec95f
QEMU filtering rework + paging filtering ( #1705 )
...
* Added paging filtering.
Reworked address range filtering to fit with new generic code.
* Fix: renamed remaining QemuInstrumentationFilter instances.
* Fix: clippy + format
* Updated qemu-libafl-bridge
* Fix QEMU userspace crash handler (#1706 )
* Fix QEMU userspace crash handler
* no_std
* libafl_cc custom llvm_config lookup for solaris/illumos (#1708 )
* fix simd (#1709 )
* Updated qemu
---------
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
Co-authored-by: David CARLIER <devnexen@gmail.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-12-21 15:51:14 +01:00
Dongjia "toka" Zhang
78060ea308
0.11.2 ( #1735 )
2023-12-18 14:33:14 +01:00
van Hauser
63e1523358
small fixes and enhancements ( #1731 )
...
* nits
* first steps
* different approach
* fixes
* remove temps
* remove temp
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-12-17 20:19:15 +09:00
Andrea Fioraldi
517d6962bd
Fix QEMU userspace crash handler ( #1706 )
...
* Fix QEMU userspace crash handler
* no_std
2023-12-01 13:26:10 +01:00
Andrea Fioraldi
5d83c9399a
Fix bp in QEMU thumb mode on arm64 systems ( #1701 )
2023-11-29 10:37:10 +01:00
Andrea Fioraldi
bc458864f1
Fix libafl_qemu edge hooks src addr ( #1700 )
2023-11-28 17:16:15 +01:00
Andrea Fioraldi
1545514ed8
JIT fast path for edge cov hooks in libafl_qemu ( #1696 )
...
* JIT fast path for edge cov hooks in libafl_qemu
* fix
* fmt
* fix
* unify hooks as opt
2023-11-27 13:20:20 +01:00
Romain Malmain
bd12e060ca
Update qemu-libafl-bridge ( #1697 )
...
Update to last version of qemu-libafl-bridge
2023-11-24 20:19:57 +01:00
Romain Malmain
b4e987a640
Clippy fix for Refactor QEMU hooks ( #1695 )
...
* clippy
* format
* clippy
2023-11-24 13:15:33 +01:00
Andrea Fioraldi
f1aee3c376
Refactor QEMU hooks ( #1690 )
...
* Rewrite QEMU Asan
* fake sys
* New hooks
* edge cov helper
* opaque raw hook
* new hooks
* EMulator::get
* new asan
* fix fuzzers
* fix types
* fix
* fix
* fix
* merge fix
* fix
2023-11-23 18:57:15 +01:00