2822 Commits

Author SHA1 Message Date
Abc Xyz
7f68f66d70
drcov_rt: remove unused a field and methods (#1601) 2023-10-04 14:34:53 +09:00
Dominik Maier
cce25d0a94
Add OptionalStage (#1600) 2023-10-04 14:24:02 +09:00
Dongjia "toka" Zhang
fc16b70a65
Format C (#1602) 2023-10-03 13:40:19 +02:00
Dongjia "toka" Zhang
a9014a9419
fmt c too (#1593)
Co-authored-by: Dominik Maier <domenukk@gmail.com>
2023-10-03 11:43:28 +02:00
Dominik Maier
25409119ff
Make Signals compatible with nix, implement TryFrom<&str> (#1599)
* Make our signals compatible to nix Signals

* no-default nix
2023-10-03 17:33:45 +09:00
Addison Crump
20f1119bab
libafl_libfuzzer: documentation and build script (#1596)
* add docs; add build script for prepping libFuzzer

* clarifications
2023-10-03 16:56:27 +09:00
s1341
a27553daec
libafl_cc: fix configuration support (#1595)
* libafl_cc: fix configuration support

* fmt

* clippy
2023-10-02 17:48:33 +03:00
Dongjia "toka" Zhang
f35c59131d
Fix redundant area_is_valid() (#1594) 2023-10-02 13:44:42 +02:00
Dongjia "toka" Zhang
b20fda2a4a
Use /dev/urandom instead of /dev/null for probing valid memory (#1586) 2023-10-01 23:08:29 -05:00
Dongjia "toka" Zhang
583c84ab4e
cmplog routines update & fix (#1592)
* update

* runtime

* Update cmplog-routines-pass.cc (#1589)

* rtm

* fix

* no link rt

* fmt

* let's change script in another pr

* colon

* adjust the checks

* fix

* more fixes

* FMT
2023-10-01 23:06:34 -05:00
Abc Xyz
5854fd0c5b
fix(libafl_frida): correctly calculate the coverage using DrCov (#1579) 2023-10-01 08:11:46 -05:00
Dongjia "toka" Zhang
ee9eb3eef1
Revert "Update cmplog-routines-pass.cc (#1589)" (#1591)
This reverts commit d2ff88f6ff6ec38c16200e9ee59c180412430120.
2023-10-01 14:46:21 +02:00
Dongjia "toka" Zhang
60b3408737
Update dependencies (#1588)
* update

* downgrade some
2023-10-01 07:20:23 -05:00
Dongjia "toka" Zhang
d2ff88f6ff
Update cmplog-routines-pass.cc (#1589) 2023-10-01 07:20:00 -05:00
Dongjia "toka" Zhang
2474691623
Fix libjpeg fuzzer (#1582)
* Revert "Insert into corpus if feedback is_interesting on crash/timeout (#1327)"

This reverts commit 871dfa0a013f31f84e43e125105febca2f137049.

* unused
2023-09-30 18:34:08 +02:00
Dongjia "toka" Zhang
f31c2cc4ce
remove unused deps (#1587) 2023-09-30 18:32:59 +02:00
Dongjia "toka" Zhang
70b75e7fdb
Fix BytesDeleteMutator (#1585) 2023-09-30 00:25:12 +02:00
Abc Xyz
0932421020
fix(libafl_frida): enable asan for Android x86_64 (#1578) 2023-09-29 17:10:27 -04:00
Abc Xyz
6f67919622
fix(minibsod): allow dump_registers and write_crash for Android x86_64 (#1577) 2023-09-29 17:10:15 -04:00
Dongjia "toka" Zhang
5b0e3dd3bc
Make fuzzbench debugging easier (#1574)
* to make debugging easier

* debug
2023-09-29 18:32:09 +02:00
WorksButNotTested
d3a4b726d8
Added qemu_cmin (#1572)
Co-authored-by: Your Name <you@example.com>
2023-09-29 08:59:41 -04:00
WorksButNotTested
9755d189dd
Write coverage for QEMU into separate files (#1571)
Co-authored-by: Your Name <you@example.com>
2023-09-28 15:57:34 -04:00
s1341
78fd4e0d39
frida-asan: move to mmap-rs (#1570) 2023-09-28 16:35:54 +03:00
WorksButNotTested
9c3f8f4511
Qemu features3 (#1538)
* Fix issue with libafl_qemu being repeatedly rebuilt

* Changes to make qemu_launcher a production ready fuzzer

* Remove _get prefix

* Don't collect DrCov data during the campaign

* Fix poor performance

* Better validation for core selection

* Changes to print debug when running in verbose mode

* Autofix

* Remove afl++-clang

* Fix build error on 32-bit

* Fix some clippy

* Fix OSX

* Set default version of clang/clang++

* Review changes

* Fix issue with fd sharing between processes

---------

Co-authored-by: Your Name <you@example.com>
Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
2023-09-28 14:31:15 +02:00
Andrea Fioraldi
19aac2fc04
Fix TCP manager and restarts (#1556)
* Fix TCP manager and restarts

* clippy

* clippy

* clippy
2023-09-28 13:46:07 +02:00
s1341
652c24cb2a
windows: Support LIBAFL_DEBUG_OUTPUT (#1569) 2023-09-28 11:16:41 +03:00
s1341
7cb1080e35
libafl_ar: add extensions (#1568) 2023-09-28 09:09:29 +03:00
Dongjia "toka" Zhang
4e6ad397ec
Fix CI (#1567) 2023-09-28 00:47:40 +02:00
s1341
fd229328eb
Fix frida libafl after #1523 (#1560)
* Fix frida libpng after PR1523

* fmt

* Fix

* Clippy
2023-09-27 08:02:11 -04:00
Dongjia "toka" Zhang
b3483ddd42
Give proper name to some crates and exclude them 2 (#1562)
* fix

* comma
2023-09-27 13:29:24 +02:00
Dongjia "toka" Zhang
324db072a2
Fix CI (#1558)
* endif

* just fix every profile

* WHY YOU DONT JUST USE THE SAME NAME FOR DIR

* fix

* Some fuzzer want release

* WHY I ALWAYS FORGET COMMA

* NO MORE SPACE

* rename

* stb doesn't like debug build

* just use release

* another just use release
2023-09-27 09:59:55 +02:00
Dongjia "toka" Zhang
74435e1461
Fix LLVMPass (#1557) 2023-09-26 18:54:54 +02:00
Dongjia "toka" Zhang
c1006c4d38
Fix CI (#1553)
* export PROFILE

* install aflplusplusw

* no dot

* a
2023-09-25 20:51:40 +02:00
Dongjia "toka" Zhang
c1eef33b5d
Remove --release from Makefile.toml (#1522)
* rem release

* Revert "rem release"

This reverts commit 13aaf13e412818629880348188c3e1b4137b9ed8.

* toggle it with envvar

* fm
2023-09-25 14:22:10 +02:00
Dongjia "toka" Zhang
dc7d561621
Don't send unstable entries if there's nothing (#1552)
* shutup calibration

* Update build_and_test.yml
2023-09-24 17:27:12 +02:00
Dominik Maier
aa7993de10
Some AFL UI example fuzzer cleanup (#1529)
* Some afl ui cleanup

* more info

* Fix CI (#1549)

* Change profiles for the fuzzbench fuzzers.

* just foreground

* Revert "just foreground"

This reverts commit abd4fbec40fd1a7f3bcca1190ce11816fc868c53.

* fix Makefile.toml

* Tmate debug

* fix?

* fix?

* Can't fix this

* remove reset

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2023-09-24 14:54:14 +02:00
Dongjia "toka" Zhang
c103444396
Change profiles for the fuzzbench fuzzers. 2023-09-22 23:51:06 +02:00
Dongjia "toka" Zhang
6251ad0051
Update llvm version in CI (#1533)
* UPD

* UPD

* UPD

* UPD

* MORE

* ??

* Update build_and_test.yml

* LLVM 15

* Update build_and_test.yml

* chg

* Update build_and_test.yml

* Update build_and_test.yml
2023-09-21 01:04:50 +02:00
Fabian Freyer
a092aed538
libafl_frida: Allow setting path for DrCovRuntime (#1536) 2023-09-21 01:03:56 +02:00
Dominik Maier
f70a16a09a
Fix unsoundness for misaligned map observers (#1530)
* Fix unsoundness for misaligned map observers

* nits

* clippy

* Make sure beginning of the page is aligned
2023-09-20 18:25:37 +02:00
Addison Crump
761a77fce0
libafl_libfuzzer fixes for port and fd allocation (#1525)
* better port and fd handling

* fix multitude of CI failures
2023-09-20 17:36:43 +02:00
Benjamin Beyret
0e149afd7a
Allow both fuzz_time and iters in TuneableMutationalStage (#1531) 2023-09-20 12:47:56 +02:00
Fabian Freyer
7f0a4f1d7e
libafl_frida: Add FridaInstrumentationHelperBuilder, don't rely on Clap options (#1523)
* impr(frida): Don't keep FuzzerOptions in Helper

Instead, keep the actual values that are needed. This allows us to make
a builder for FridaInstrumentationBuilder in a subsequent commit.

* refactor(frida): Move workaround to separate method

This is just code movement.

* refactor(frida): move transformer initialization

Mostly code movement here, sets up replacing `new` with a builder. The
one exception is the introduction of a lifetime bound on RT, which needs
to outlive the transformer. This could be generic, but there's probably
no reason to introduce an additional lifetime.

However, because of this lifetime introduction, this is _technically_ a
breaking change.

* impr(frida): Pass module map to runtimes

Instead of passing a slice of modules to instrument, and re-building the
modulemap, pass a Ref-counted module map directly to the initialization.

* feat(frida): Builder for InstrumentationHelper

Co-authored-by: Dominik Maier <domenukk@gmail.com>

* impr(frida/alloc): optional options in allocator

Move all the initialization into Default::default with sensible defaults
and override parameters set from options in new.

* impr(frida): remove options from AsanError

The only option AsanError uses is whether to continue on error. Instead
of keeping a whole clone of the options around, just store that single
boolean value.

* impr(frida/asan): Use less FuzzerOptions

* Implement Default::default to get a good default AsanRuntime

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2023-09-20 11:08:59 +02:00
Dongjia "toka" Zhang
fdd2f53871
Fix doc in testcase_score.rs 2023-09-20 10:36:56 +02:00
Dominik Maier
3625e881a3
Fix forkserver child kill, add kill_signal support (#1521)
* Fix forkserver child kill, add kill_signal support

* more fix
2023-09-19 17:27:50 +02:00
Addison Crump
8f6efe993d
Address recent clippy changes; build clippy in debug instead of release for perf (#1516) 2023-09-19 00:42:46 +02:00
Fabian Freyer
27333f9ce8
libafl_bolts fix potentially unaligned ucontexts in signal handler (#1520)
When entering a signal handler, the ucontext_t is not necessarily 0x10-aligned, so we need to use read_unaligned instead of dereferencing.
2023-09-18 23:17:54 +02:00
Addison Crump
6d0d4e287a
Metadata + infinite loop fix for TuneableMutationalStage (#1514)
* update tuneable: consistently access metadata + force 'choice'

* oops, loop in the wrong place

* clarify API some; allow for least of set configuration
2023-09-16 16:54:40 +02:00
Elnard Utiushev
d4f47340a3
libafl_libfuzzer: replace cargo:error with assert in build.rs (#1517)
It is very confusing if you are trying to build on MacOS
and it is telling you that it worked, but actually it didn't.
2023-09-16 01:53:33 +02:00
Andrea Fioraldi
acecf46fb9
Ignore TCP recv if failed (#1519) 2023-09-15 13:18:46 +02:00