2814 Commits

Author SHA1 Message Date
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
Sameer Puri
50892ddc75
Finalize macOS support for libafl_libfuzzer (#1843)
* libafl_targets: on macOS, do not provide a default implementation for weak functions

* libafl_libfuzzer: update README to talk about macOS specifics

* libafl_targets: allow __sanitizer_cov_pcs_init to be called more than once

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2024-02-15 22:45:15 +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
49ad380068
fix (#1859) 2024-02-14 23:28:20 +01:00
Dongjia "toka" Zhang
db88412738
Make cmp_extend_encoding panic-less (#1857)
* Add a panic check for aflpp

* aa

---------

Co-authored-by: novafacing <rowanbhart@gmail.com>
2024-02-14 11:46:09 +01:00
mkravchik
c837d0df7a
Pr/xxh3 rrmxmx mixer fix (#1828)
* Fixing the mixer according to the xxHash implementation

* Using Rust xxhash-rust instead of handwritten implementation

* Fixing the mixer according to the xxHash implementation - linking directly, not relying on bolts option

* clippy+fmt

* Removing rotation, as it causes issues

* Not using xxhash directly, relying on bolts

* Fmt
2024-02-14 11:45:47 +01:00
tbethe
b9650045f6
Getter for mutable reference to forkserver (#1849)
* Getter for mutable reference to forkserver

* Whoops

---------

Co-authored-by: Timme Bethe <git@timmebethe.nl>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2024-02-13 16:10:26 +01:00
Dongjia "toka" Zhang
cefb73861f
Fix token mutation crash (#1855)
* clippy

* token mutation fix
2024-02-13 16:10:02 +01:00
Dongjia "toka" Zhang
973c4358e6
clippy (#1851) 2024-02-13 13:19:00 +01:00
RobertBuhren
af97033d85
Fix x86_32 build: Don't build functions using uint128_t data type on x86_32 (#1854) 2024-02-13 12:49:52 +01:00
3817892ff1 Fix graph output formatting 2024-02-13 08:28:53 +01:00
Dominik Maier
dede78159c
Remove unused shmem structs, update Nix (#1845)
* Remove unused shmem structs

* More unused stuff

* Unified crate versions, updated docker rust version

* clean up nix 27 mess?

* Windows?

* Fix frida

* Fix frida

* fix fuzzers with nix
2024-02-11 17:45:09 +01:00
Niklas Gögge
15c98de52f
fuzzers: Fix qemu_launcher zlib include path (#1841) 2024-02-08 13:08:36 +01:00
beee8d8cb7 rewrite info dumps as macros 2024-02-08 10:08:25 +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
9b82af4539
Configurable LLMP client timeout (#1838)
* LLMP client timeout is now configurable.

* fix example.

* Fix for no-std case.
Make default timeout private.

* Fix import.
2024-02-06 18:35:27 +01:00
Addison Crump
c3473e5631
use truncate, not pop (#1837) 2024-02-05 20:48:17 +01:00
Addison Crump
054d0a6b19
OptionalStage is a nested stage, fix stage ID handling (#1836) 2024-02-05 17:51:01 +01:00
Dominik Maier
7d9559b570
Fix Benches (#1833) 2024-02-05 17:19:23 +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
Nereuxofficial
5c18dca792
Fixed Link in baby_fuzzer_nautilus (#1824) 2024-02-01 12:07:13 +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
Sameer Puri
13dd1cc4ec
libafl_libfuzzer: macOS build support (#1711)
* libafl_libfuzzer: macOS support

* make clippy happy

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2024-01-31 02:41:08 +01:00
Dongjia "toka" Zhang
a4f753b0f0
Merge TimeoutForkserverExecutor into ForkserverExecutor (#1819)
* delete timeout forkserver

* clippies

* name

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2024-01-30 17:34:39 +01:00
Karthik Prakash
519ea435ed
LibAFL_libFuzzer: Default ignore_* flags to true when tui=1 (#1820)
* default `ignore_*` flags to true if `tui=1`

* update docs

* refactor code to use `Option<bool>` instead of extra struct members
2024-01-30 16:25:59 +01:00
Dominik Maier
8b0068e39d
Fix Clippy (#1822) 2024-01-30 16:25:10 +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
Karthik Prakash
07f9a9d06a
Remove create_serde_registry_for_trait macro (#1815)
* remove `create_serde_registry_for_trait` macro

* fix `clippy` errors

* fix formatting
2024-01-28 17:51:50 +01:00
Dominik Maier
e7df233dc1
QEMU: add injections mode default (#1818) 2024-01-28 17:12:20 +01:00
Marco Vanotti
e6184936ce
Expose PCs table to map coverage bitmap entries to the corresponding code (#1812)
This table allows users to map between coverage bitmap entries and the
corresponding code in memory.
2024-01-25 16:51:13 +01:00
Rubens Brandão
59945fbcc9
Fix typo on qemu_launcher options help message (#1816) 2024-01-25 13:50:20 +01:00
Harrison Green
e117b7199c
Allow testcase removal during fuzz loop (#1717) 2024-01-24 17:56:24 +01:00
Dominik Maier
6a0ba7b647
Add SimpleMgr feature to qemu_launcher (#1790) 2024-01-24 17:54:52 +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
Dongjia "toka" Zhang
bb443027f7
Observer fix (#1807)
* fix

* Increase default edgemap size for libafl_cc and libafl_targets (#1798)

* fmt

---------

Co-authored-by: Dominik Maier <dmnk@google.com>
2024-01-24 03:30:22 +01:00
Sharad Khanna
1458c3efff
Fix build issues in frida cmplog for aarch64 (#1813)
* Fix build issues for aarch64

* cargo fmt
2024-01-24 01:18:31 +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
Josef Haider
058d2c0825
Remove unnecessary PartialEq trait constraint on DiffFeedback observers (#1811) 2024-01-22 20:23:32 +01:00
expend20
72c862171e
POC attempt to make cmplog work on x64 (#1713)
* POC attempt to make cmplog work on x64

windows POC seems working

unix POC seems working :)

* no register collisions
* rsp-related ref support

iced optional dep

iced depends on cmplog

warnings

one more warning

comments cleanup

ci unbreak

rebase windows unbreak

rebase unix unbreak

unix only

fmt check

clang formatting

clang formatting again

make clippy happy

formatting

double import

windows unbreak

hashmap is conditional

leftover definition

tutorial related formatter

review fixes

comments

.asm fuzz targets for cmplog on Windows

more tests

rip-relative reference support without index register form

proper ignore rip-related references and ignore 8 bit comparisons

another try_into packing

* harness modification reverted

* dummy commit to restart CI

* review comments

---------

Co-authored-by: sbarsky <sbarsky@denuvo.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2024-01-19 11:52:15 +01:00
WorksButNotTested
e615cb4aed
Disable QemuInjectionHelper if not configured (#1804)
Co-authored-by: Your Name <you@example.com>
2024-01-18 18:53:42 +01:00
Dongjia "toka" Zhang
df8fa71aa7
Revert "Increase default edgemap size" (#1803) 2024-01-18 14:58:29 +01:00
Dongjia "toka" Zhang
001e132186
Fix windows after #1350 (#1801)
* fix

* apt update

* apt update

* a

* split even more

* tmate

* ci

* can't fix this shit

* s
2024-01-17 18:51:56 +01:00