2818 Commits

Author SHA1 Message Date
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
2ac7874895 fix build 2024-01-16 15:53:57 +01:00
David CARLIER
61718c4e88
bolts: fix static mutable use (#1793) 2024-01-16 14:32:42 +01:00
Dongjia "toka" Zhang
c240cdec38
Increase default edgemap size for libafl_cc and libafl_targets (#1798) 2024-01-14 01:25:22 +01:00
Dongjia "toka" Zhang
e72ad4ba2d
remvoe it (#1797) 2024-01-14 01:23:53 +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
mkravchik
6a72f8a1ad
libafl_frida: Add tests for ASan for Unix platforms (#1781)
* First draft of a Asan tests. As of now, unix-only. This is a WIP, as 1) destroying Gum causes segmentation fault and thus a single test is supported by using a static Gum object. Ideally, this should be fixed and a new Gum instance would be created for each test. 2) 70 identical errors are reported by Asan instead of a a single one. Apart from that, the draft fixes a number of errors found in Asan

* Fmt fixes

* PR comments addressed

* Not crashing upon Asan errors while testing

* More PR comments: removing env_logger, renaming harness to test_harness

* Revert "More PR comments: removing env_logger, renaming harness to test_harness"

This reverts commit 2d3494b3f56e0a5ef23566cb9a884e8c57867b57.

* More PR comments: removing env_logger, renaming harness to test_harness

* Checking for clang presence and failing the test if harness not found

* Fmt

* Running multiple Asan tests

* Cpp Fmt

* clang-format

* More clippy complaints and Apple compilation

* Last clippy complaints (ran scripts/clippy.sh)

* Fixing unused MacOS function

* Fixing unused MacOS imports
2024-01-11 13:26:00 +01:00
Andrea Fioraldi
aaeeead574
Remove Aggregated label in stats (#1788)
* Remove Aggregated label in stats

* introspection

* fix monitor aggregate propagation
2024-01-10 21:05:19 +01:00
mkravchik
b93a5bb414
Pr/fix qemu launcher build - fixes 1785 (#1786)
* Fixing qemu_launcher build (#1785)

* Fixed the instructions for using the injection feature
2024-01-10 13:17:53 +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
Dongjia "toka" Zhang
3d126f21cc
aggregator fixer (#1783) 2024-01-08 19:36:41 +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
Gheorghiță Mutu
48c9fed2da
[libafl_targets] # fix typo in windows_asan feature (#1779) 2024-01-05 23:31:57 +01:00
Dongjia "toka" Zhang
0a72d8abbc
Add header (#1777)
* 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
2024-01-05 19:35:36 +01:00
Dominik Maier
207e7dbdff
Move Clippy to extra CI steps (#1370)
* Move Clippy to extra CI steps

* clippy?

* Last try with nightly

* no clue why but hey

* cleanup

* more

* revert

* check ubuntu works

* f

* debug

* clippy_ci

* remove tmate

* regex

---------

Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2024-01-04 21:50:14 +01:00
Dongjia "toka" Zhang
989dd4d89a
More concolic fix (#1776)
* more

* revert
2024-01-04 21:28:11 +01:00
Dongjia "toka" Zhang
616e507593
Update symcc for #1768 (#1775) 2024-01-04 14:25:47 +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
Dongjia "toka" Zhang
75fcd47044
Recover useful CmpLog updates from #1630 (#1684)
* add

* ci

* wip

* make type name more clear

* last

* add

* more fix

* chg

* fmt

* save changes

* fix_handler

* cfg

* win

* fix

* toml

* f

* more

* fix all the stuff

* fix

* revert fuzzers/fuzzbench to origin/main
2024-01-03 23:44:32 +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
Dongjia "toka" Zhang
8164bfca96
Fix sigint handlers (#1772)
* fix_handler

* cfg

* win

* fix

* toml

* f

* more

* rename and write_volatile
2024-01-04 04:57:41 +09: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
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
Bet4
4f93d7e894
Check canonicalized_module_path before used (#1767) 2024-01-02 18:16:02 +01:00
David CARLIER
440e57dd6f
afl_cc llvm 18 build fixes (#1759) 2024-01-02 14:13:52 +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
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
Dongjia "toka" Zhang
2717018601
Dedup common code in scheduler (#1702)
* dedup common code in scheduler

* del eco

* fixing

* fix
2024-01-01 18:22:03 +01:00
mkravchik
df96bb02ee
Enabling DrCov on Windows (#1765)
* Enabling DrCov for Windows
2023-12-27 11:10:04 +02:00
Dominik Maier
9ad7d9bb64
Miri ignores for M1 regex (#1762) 2023-12-27 00:36:21 +01:00
Bet4
ce71858100
Documentation fixes (#1761)
* Documentation fixes

* Fix InProcessExecutor url

* Update all urls to latest
2023-12-26 11:27:07 +01:00
lazymio
ea5ea3410c
Fix incorrect imports (#1758)
* Fix incorrect imports

https://doc.rust-lang.org/core/simd/trait.SimdOrd.html

* Fix

* Try fix ci
2023-12-23 23:12:20 +09:00
Dominik Maier
16a152267e
Ignore SigPipe by default (#1741)
* Ignore SigPipe by default

* Fix no_std

* fmt
2023-12-22 16:50:36 +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
Dominik Maier
4e7d2caa9f
Remove unused create_anymap_for_trait macro (fixes #1719) (#1752) 2023-12-22 16:48:43 +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
61ff3e3196 WIP: quick-fix for missing metadata 2023-12-22 12:57:49 +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