3576 Commits

Author SHA1 Message Date
Reverier Xu
261b6b5a52
minor: fix mutable reference warning in examples (#2631) 2024-10-24 12:25:39 +02:00
Langston Barrett
dfd5609c10
bolts: Simplify definition of nonzero! macro (#2624)
* bolts: Simplify definition of `nonzero!` macro

* Non-Usize NonZero

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2024-10-24 00:28:47 +02:00
d8a15adb1d move codepieces 2024-10-22 14:25:51 +02:00
c5c9a052e4 remove interval_name from interval, fix snakefile showmap 2024-10-22 09:05:21 +02:00
Romain Malmain
d96d833760
Support on_crash & on_timeout callbacks for libafl_qemu modules (#2620)
* support (unsafe) on_crash / on_timeout callbacks for modules

* use libc types in bindgen
2024-10-21 17:59:04 +02:00
f9f59211fb do not use error as objective for showmap 2024-10-21 17:29:56 +02:00
a7f24da786 show function ranges 2024-10-21 17:14:14 +02:00
8417613cb2 save stats per abb 2024-10-21 17:13:38 +02:00
Dongjia "toka" Zhang
f0da4d15da
Fix Generator (#2627)
* no min but max

* import

* large stack arrays ?
2024-10-21 16:27:25 +02:00
Dongjia "toka" Zhang
fda1596ee2
Use nonzero! macro (#2589)
* nonzero_lit

* nonzero

* std instead of core

* a

* l

* test

* import

* api

* api

* aaaaa

* apiapi

* api

* api

* api

* mm

* api

* non zero

* FMT

* pls

* nnnaaasdfadsfafdsa

* pls

* MM

* fix

* a

* sat add

* aa

* mistake

* unreachable

* no generic

* api change

* a
2024-10-18 23:33:03 +02:00
926ad96b8e print hash on graph nodes 2024-10-18 15:04:47 +02:00
d4e6de3e80 shrink moving average window size to ~5 min 2024-10-18 13:18:44 +02:00
735fc3e144 collect first n error inputs as objectives, fix configs 2024-10-18 13:08:13 +02:00
bf827c077f use moving average success rate for interrupt mutation frequency 2024-10-18 11:09:44 +02:00
Romain Malmain
3b31b4d796
libafl_qemu: unset thumb bit for breakpoints (#2619)
* unset thumb bit for breakpoints
2024-10-17 09:42:56 +02:00
Romain Malmain
23e966c702
Fix CI apt-get install (#2618) 2024-10-16 13:17:34 +02:00
Romain Malmain
31e31b662d
Adapt qemu linux fuzzers to latest LibAFL version (#2616) 2024-10-16 10:41:37 +02:00
3a126cb0a8 target_symbols.csv++ 2024-10-15 17:02:08 +02:00
Dominik Maier
4710915b61
Revert "Revert "Fix pipe I/O in forkserver"" (#2614)
* Revert "Revert "Fix pipe I/O in forkserver (#2602)" (#2612)"

This reverts commit 888c608e5e56e2df55271dab262bb0eac400a416.

* More expressive errors

* fix testcase
2024-10-15 16:31:25 +02:00
875f87f0c6 fix detection of releases by api call 2024-10-15 16:22:42 +02:00
Romain Malmain
d48a7d508d
Centralize clippy lints in workspace (#2606)
* centralize clippy definition

* fmt

* add update bindings script

* add a checked and unchecked version of memory read to qemu stuff

also, a lot of clippy thing

* update binding position

* rm old script, new one is a bit better

* update doc

* macos clippy

* adapt fuzzers

* windows clippy

* fix fuzzer

* windows clippy

* remove old allowed clippy

* remove some allowed clippy

* use default features for serde_json in gramatron

* better error handler for failed rw to memory
2024-10-15 13:31:01 +02:00
Dongjia "toka" Zhang
453d733a35
Use .vscode/settings.json.default (#2615)
* .gitignore .vscode

* vscode

* vscode

* ignore
2024-10-14 15:45:17 +02:00
Dongjia "toka" Zhang
888c608e5e
Revert "Fix pipe I/O in forkserver (#2602)" (#2612)
This reverts commit ea4a281d535cce1b522ed0fb328f02b016a4b4ea.
2024-10-14 14:17:40 +02:00
Henry Chu
ea4a281d53
Fix pipe I/O in forkserver (#2602)
* Fix read_st_size in forkserver

* fixed read_st, read_st_size, and write_ctl

with read_exact and write_all

* Cleanup redundant return values in forkserver pipe I/O

* Forkserver: avoid using read_exact/write_all for reading/writing integers

* Forkserver: avoid initializing the vec twice when reading a chunk of bytes

* Fix code formatting
2024-10-14 11:49:06 +02:00
Dominik Maier
da8f17f29e
Add AFLStats to QEMU_Launcher TUI (#2611)
* Remove prelude from qemu_launcher

* QEMU_Launcher: Add stats to TUI

* More tui
2024-10-14 11:06:21 +02:00
Dominik Maier
1ad64e7ae7
Remove prelude from qemu_launcher (#2610) 2024-10-14 10:53:02 +02:00
Dominik Maier
d29b657bf4
Add LibAFL_Jumper util (#2594)
* Add jumper

* Hex Hex

* Fix hex decoding

* Cleanup readme

* Build with musl

* add mips delay slot back

* Added linker script

* More jump

* clippy

* taplo
2024-10-12 13:16:33 +02:00
Dominik Maier
cad9e2717e
Remove prelude from default features (#2608)
* Remove prelude from default features

* Prelude

* something
2024-10-12 13:16:22 +02:00
Romain Malmain
18fb6a4197
[libafl-qemu-bridge] fix rpath regex for Ubuntu (#2609) 2024-10-11 18:56:51 +02:00
Dominik Maier
66a8682c9e
Add DrCov &.rerun options to QEMU_Launcher (#2607)
* Move all target-specific code to harness.rs

* Add IfModule to LibAFL_Qemu

* More more

* Added DrCov tracing

* Add DrCov rerun to launcher

* fixes
2024-10-11 16:02:01 +02:00
Dominik Maier
2bfed2d488
Move all target-specific code to harness.rs (#2605) 2024-10-11 12:41:42 +02:00
Dominik Maier
830941ce3a
Rename LibAFL_GdiPlus to _Windows_ (#2604)
* Rename LibAFL_GdiPlus to _Windows_

* Readme more
2024-10-11 10:52:39 +02:00
8f0e54053b WIP: try removing interrupts within min interarrival 2024-10-10 17:56:08 +02:00
2ca6fdf538 simplify stored execution times per testcase 2024-10-10 16:33:19 +02:00
Dongjia "toka" Zhang
19ccb0807c
Don't do generalization on larger inptus (#2603) 2024-10-10 16:13:08 +02:00
bae801c620 remove shortcut from benchmark features 2024-10-10 15:24:54 +02:00
04cfa7cea2 report interrupt mutation statistics 2024-10-10 15:15:23 +02:00
7586c51f6f disable release warnings 2024-10-10 15:14:56 +02:00
6d197274dd snakemake: increase build efficiency 2024-10-10 15:14:13 +02:00
Henry Chu
a69cd98432
Make ASAN log dumping optional (#2600) 2024-10-10 09:44:26 +02:00
jejuisland87654
efa99ee3c9
Fix error[E0308]: mismatched types for libafl_qemu_init (#2593) 2024-10-09 17:17:51 +02:00
Romain Malmain
c03653f7be
Remove useless allocation in colorization stage (#2598)
* do not allocate here

* clippy
2024-10-09 17:16:53 +02:00
cube0x8
1e4d38d744
Fix file sync timing and prevent crash on missing SyncFromDiskMetadata (#2595)
* max_time is the current_time(); SyncFromDiskMetadata might not be in state

* using metadata_or_insert_with
2024-10-09 17:16:32 +02:00
cube0x8
2b05e0a1fd
Do not start another logger in prometheus (#2599) 2024-10-09 17:15:56 +02:00
d4ee679d0e fix trace seection when no instance was found, comments++ 2024-10-09 16:16:12 +02:00
Romain Malmain
c1ddcb2eed
Update frida to 0.14.0 (#2596)
* update frida crate to the latest version

* adapt libafl_frida to the latest version of frida
2024-10-09 11:13:43 +02:00
Dongjia "toka" Zhang
c12c6f31e2
Change fuzzbench_qemu fuzzer (#2520)
* change fuzzbench_qemu

* real test

* fix qemu crash hook

* update bindings

* fix fork executor, reduce trait bound overhead

* make EdgeModule depend on observer to get ptrs.

* do not make EdgeCoverageModule::new public

* map observer as builder call

* adapt examples with new edge coverage module builder.

* TMP: everyone is a variable length map observer

* reuse profile path script

* fix absolute paths

* remove some dependencies to make pipeline faster

* compile-time builder initialization check

---------

Co-authored-by: Romain Malmain <romain.malmain@pm.me>
2024-10-08 15:18:13 +02:00
Romain Malmain
7344fdf059
Re-add drcov for both usermode and systemmode. (#2573)
* re-add drcov for both usermode and systemmode.
2024-10-07 14:20:11 +02:00
Dominik Maier
27677a6461
LibAFL_QEMU: Don't require extra_tokens. (#2576)
Co-authored-by: Romain Malmain <romain.malmain@pm.me>
2024-10-07 13:39:55 +02:00
Romain Malmain
1fbb18cb99
Versioning unification, dependencies update, logging optimization (#2560)
* versioning unification: use x.y.z format everywhere

* do not compile low-level logs (< info level) by default in fuzzers

* update dependencies to the latest versions

* add members to workspace.

* use workspace for common dependencies

* add vscode native support

---------

Co-authored-by: Toka <tokazerkje@outlook.com>
2024-10-07 12:03:29 +02:00