Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
230 commits
Select commit Hold shift + click to select a range
49ad380
fix (#1859)
tokatoka Feb 14, 2024
5151f1e
fix qemu linking error. (#1846)
rmalmain Feb 14, 2024
d6d6a23
feature(libqasan): add asprintf and vasprintf (#1844)
rbran Feb 15, 2024
97a83ab
feature(libqasan): add strndup (#1860)
rbran Feb 15, 2024
b999b4a
Companion patch to qemu-libafl-bridge #46 (#1830)
cube0x8 Feb 15, 2024
0a995f2
Cleanup Pointer Clippy Lints (#1861)
domenukk Feb 15, 2024
50892dd
Finalize macOS support for libafl_libfuzzer (#1843)
sameer-ditto Feb 15, 2024
578a22a
Revert "Companion patch to qemu-libafl-bridge #46 (#1830)" (#1865)
domenukk Feb 16, 2024
fafe8f5
Fixing clippy some more (#1872)
domenukk Feb 19, 2024
ef16e64
Support raw byte grammar in NautilusContext (#1868)
sadeli413 Feb 19, 2024
f48e281
Fix TuiUI deadlock under multi-threading (#1871)
w1tcher Feb 19, 2024
263af87
Less useless allocs for monitor display (#1874)
domenukk Feb 19, 2024
2bfe91e
Fix a corner case where bitmap_size = 0 leads to panic (#1875)
tokatoka Feb 19, 2024
b97598d
Windows fix (#1876)
tokatoka Feb 22, 2024
19f5081
Add several warnings when starting forkserver (#1877)
tokatoka Feb 22, 2024
1dcfe8e
Make the map size larger for some of the example fuzzers (#1879)
tokatoka Feb 23, 2024
7a4fb06
make nopstate public so that it can be used as reproducer (#1888)
addisoncrump Feb 27, 2024
8c773a6
Implement `RetryProgress` for limiting retry attempts in stages (#1890)
addisoncrump Feb 28, 2024
1a41e65
Sancov based ngram & ctx implementation (#1864)
tokatoka Mar 1, 2024
035c01b
update libfuzzer docs about macos (#1903)
addisoncrump Mar 1, 2024
f3c37db
TransferFeedback for determining if a testcase was from another node …
addisoncrump Mar 4, 2024
b7efe8e
Implement MutatorTuple for Vecs to allow Dynamic Mutator Choices (#1893)
domenukk Mar 4, 2024
d96a142
Fix lint errors (#1909)
rmalmain Mar 5, 2024
95bed5b
Fix the centralize disconnection bug. (#1896)
tokatoka Mar 5, 2024
1a0e692
Print PID when you create a new Llmp Sender. (#1898)
tokatoka Mar 5, 2024
e3f837d
Fix inconsistent settings of client_timeout (#1897)
tokatoka Mar 5, 2024
cd8003e
Fix for #1881, ProbabilitySamplingScheduler seems to be inverted (#1884)
DanBlackwell Mar 5, 2024
44b0b0a
libafl_targets/src/cmplog.c: Fix warning for deprecated syscall() in …
Skryptonyte Mar 5, 2024
55a300d
Make executor state available to the harness V2 (#1900)
rmalmain Mar 5, 2024
3b3e2f6
Improve readability of InProcessExecutor-related code (#1912)
rmalmain Mar 5, 2024
969aa12
aa (#1913)
tokatoka Mar 6, 2024
2ac0750
fix(Dockerfile): allow running commands with docker run (#1894)
vringar Mar 6, 2024
9a2e7b0
Fix redundant xor in Ngram calculation (#1901)
tokatoka Mar 7, 2024
e48c8c0
fuzzbench_ctx: fix duplicate package warning (#1918)
Mrmaxmeier Mar 7, 2024
6747a7d
token mutations: avoid a few infallible unwraps (#1919)
Mrmaxmeier Mar 7, 2024
781e830
fix cast to c_void of the wrong object. (#1921)
rmalmain Mar 7, 2024
1b9f4ea
Fix batched timeout (#1920)
tokatoka Mar 7, 2024
d6fe67c
Introduce multicore loading for the initial seed corpus (#1905)
R9295 Mar 8, 2024
e745401
Update QEMU version. (#1922)
rmalmain Mar 8, 2024
9b780cc
Fix UB in anymap.rs and other minor warnings. (#1926)
tokatoka Mar 11, 2024
61046c4
Fix reproducibility of the docker image (#1924)
momvart Mar 11, 2024
dd410c5
Allow dyn in StagesTuple, add Current Testcase API, Untraitify Progre…
domenukk Mar 11, 2024
fe1c7a3
Dockerfile: setup for building libafl_qemu in Docker (#1899)
vringar Mar 12, 2024
5f67b9f
Event Manager handle_in_client hooks (#1916)
tokatoka Mar 12, 2024
9b96149
Do not build doc with all features. (#1928)
rmalmain Mar 12, 2024
2763d94
Cleanup last redundant corpus_idx usages (#1930)
domenukk Mar 13, 2024
44aec56
remove more args (#1934)
tokatoka Mar 13, 2024
4f3d9d2
Tiny optimization for into_vec (#1931)
domenukk Mar 13, 2024
afa2965
Remove some arguments from pre_exec/post_exec in ExecutorHook (#1933)
tokatoka Mar 13, 2024
93f67aa
Fix os error printing in unix_shmem (#1406) (#1935)
am009 Mar 14, 2024
04d87cc
Remove (almost) unused stage_idx (#1929)
domenukk Mar 14, 2024
b3ddab3
fix libafl_qemu_sys unnecessarily rebuilding. (#1938)
rmalmain Mar 14, 2024
ee6385c
Fire events in append_metadata not in is_interesting (#1936)
tokatoka Mar 15, 2024
5cc0180
Fix self.restart_helper.execs_since_progress_start in calibration sta…
tokatoka Mar 15, 2024
e30ff57
Update exec counts in objective (#1945)
tokatoka Mar 15, 2024
c6875b8
Fix self.iterations underflow (#1942)
tokatoka Mar 15, 2024
34b4a6a
Better error message instead of "No entries in corpus"
tokatoka Mar 15, 2024
c6420c0
Separate fuzzbench fuzzers's test (#1947)
tokatoka Mar 15, 2024
44a37da
Use const_assert not assert (#1949)
tokatoka Mar 16, 2024
fbd0d49
Refactor(build.rs): extract common code between branches (#1950)
vringar Mar 17, 2024
a0143d0
Rename OSError -> OsError and merge with redundant Error::File (#1944)
domenukk Mar 18, 2024
0f26f6e
Remove useless feedback (#1953)
tokatoka Mar 18, 2024
928cf80
fix unwrap. (#1954)
rmalmain Mar 18, 2024
fde9cda
Gramatron: Upgrade automaton files (#1956)
michael-yxchen Mar 19, 2024
5eab4fb
Update tinyinst_simple to support Linux (#1316) (#1955)
am009 Mar 19, 2024
2efa747
SerdeAnyMap: add `unsafe_stable_anymap` feature that uses `type_name`…
domenukk Mar 19, 2024
14fd304
Remove hash for AnyMap (since it's a hashmap already) (#1951)
domenukk Mar 19, 2024
7abc26e
Change AnyMap API, add unsafe_ assert (#1958)
domenukk Mar 20, 2024
15f4613
More usable ListFeedback (#1959)
tokatoka Mar 21, 2024
6b94db2
Use OwnedPtr in ListObserver (#1961)
tokatoka Mar 21, 2024
50843b1
libafl_nyx: Allow custom input buffer size to be passed to `NyxHelper…
l4yton Mar 21, 2024
44c841f
WIP: QEMU exit handler (#1745)
rmalmain Mar 22, 2024
a0d4a5b
libafl_nyx: Add documentation to NyxSettings fields
l4yton Mar 23, 2024
f448b6f
libafl_nyx: Add bounds check for Nyx input buffer (#1963)
l4yton Mar 23, 2024
4d3c6a3
Fix libafl_qemu fuzzers not building in Docker (#1966)
rmalmain Mar 24, 2024
3cc8ea0
Fix EventManagerHook (#1968)
tokatoka Mar 25, 2024
7170b53
Fix UpdateExecStats not sent to the main broker in centralized
tokatoka Mar 25, 2024
53bfae0
Increase llmp timeout & Print PID in logger (#1970)
tokatoka Mar 25, 2024
9177896
Inline cmplog internal functions code (#1972)
tokatoka Mar 26, 2024
cd12546
Fix llvm api so it works with older LLVM version (#1964)
tokatoka Mar 26, 2024
f0ee6e0
Make fuzzer examples's argument parser tell that --input is mandatory…
tokatoka Mar 26, 2024
c221108
Add `MutatedTransform` to the input type in `TMinMutationalStage` (#1…
am009 Mar 27, 2024
1fc5ba6
batch_timeout: fix overflowing subtraction (#1976)
s1341 Mar 28, 2024
1c293e9
Introduce aarch64
mineo333 Mar 29, 2024
1a1257a
MacOS fix - MemoryAreas is broken on MacOS and just loops
mineo333 Mar 29, 2024
15aabfe
Clean up warnings in baby_fuzzers (#1981)
Marcondiro Mar 29, 2024
c848124
Introduce working aarch64 ASAN check
mineo333 Mar 30, 2024
0cafa5c
Don't use unwrap() in the crash handler (#1979)
tokatoka Mar 30, 2024
50e0f80
Refactoring of qemu_systemmode fuzzers (#1980)
rmalmain Mar 30, 2024
69d7d7b
Add backdoors to portable header file of LibAFL QEMU. (#1978)
rmalmain Mar 30, 2024
45d4721
Fix OOM restarts with LlmpShouldSaveState (#1974)
andreafioraldi Mar 30, 2024
10f373d
fix AFL-Style UI errors when allowing the introspection feature (#1986)
ToSeven Apr 1, 2024
99a8af6
Implement large blob
mineo333 Apr 1, 2024
26122b2
Add unsafe to AsanErrorsObserver, fix UBs, fix Frida Version missmatc…
domenukk Apr 2, 2024
63a6d1a
Update setup_libxml2.sh of nyx_libxml2_standalone fuzzer (#1990)
GanbaruTobi Apr 2, 2024
aaafe1f
Use new Rust CStr constant (#1993)
domenukk Apr 2, 2024
cca4e3d
Make inputs in libafl_qemu generic (#1991)
rmalmain Apr 2, 2024
44dca17
Tiny Frida doc fix (#1994)
domenukk Apr 2, 2024
2137ad0
Don't resume in std mutational stage (#1946)
tokatoka Apr 2, 2024
d90d232
Frida: Move ASAN_ERRORS values into a Mutex for shared access (#1995)
domenukk Apr 3, 2024
50be2f4
Fix of libafl qemu runtime files (#1996)
rmalmain Apr 3, 2024
e64233e
LLMP: Fix page-size where allocated message is larger than the curren…
domenukk Apr 3, 2024
98d3dfe
Replace LLMP client timeout with client deregistration (#1982)
tokatoka Apr 4, 2024
1c85c3a
Add option to enabled/disable client stats and fix #1771 (#2001)
domenukk Apr 5, 2024
90c627a
revert large map (#2004)
tokatoka Apr 5, 2024
17aae94
Move some C functions to Rust from sancov_cmp.c (#2003)
tokatoka Apr 5, 2024
24fd098
Update Dockerfile to work for nyx (#2008)
GanbaruTobi Apr 6, 2024
4901846
Remove python bindings (#2005)
tokatoka Apr 6, 2024
527b892
Separate fuzzer test in CI (#2010)
tokatoka Apr 6, 2024
72aa1fb
Fix hook_rt for arm64
mineo333 Apr 6, 2024
5c6f764
Fix poison/unpoison
mineo333 Apr 7, 2024
159da0d
Change when weighted scheduler make new table & don't update global m…
tokatoka Apr 7, 2024
e29897d
Fix GuestMaps in userspace LibAFL QEMU (#2013)
andreafioraldi Apr 8, 2024
fa58dff
concurrency (#2017)
tokatoka Apr 8, 2024
ff93826
Fix Clippy on MacOS for qemu, accept some `clippy::missing_transmute_…
domenukk Apr 8, 2024
e8fe5bb
Move HasMetadata/HasNamedMetadata trait to libafl_bolts (#2016)
tokatoka Apr 8, 2024
f19302c
Bring back python bindings for sugar,qemu (partially revert #2005) (#…
domenukk Apr 8, 2024
a0a6d0e
Fix yml file for CI (#2022)
domenukk Apr 8, 2024
ed5a10d
Inter-job dependency on ubuntu ci (#2021)
tokatoka Apr 8, 2024
7479726
Un-Unfix libafl_qemu fixes after #2020, remove python CI (#2024)
domenukk Apr 8, 2024
ef25aef
Fix docs for frida (see #2025) (#2027)
domenukk Apr 9, 2024
2cc560e
Tiny clippy fix for qemu_launcher fuzzer (#2026)
domenukk Apr 9, 2024
f252469
CI: A few updates and fixes (#2023)
Mrmaxmeier Apr 9, 2024
33c6ea1
Fix libafl_qemu python bindings and example (#2030)
rmalmain Apr 9, 2024
c4f0763
Fix the OOM exit code from 137 to 9 (#2029)
tokatoka Apr 9, 2024
d3b3d5d
bolts: add time ticks method for arm (#2032)
devnexen Apr 9, 2024
47c41c2
Introduce disabled testcases for splicing (#1932)
R9295 Apr 9, 2024
374f873
Implement user-space QEMU ASAN (#1806)
WorksButNotTested Apr 9, 2024
0d5c621
Dedup CentralizedEventManager's serialize_observers() (#2034)
tokatoka Apr 10, 2024
48463d0
Fix error handling in libafl_qemu_build (#2036)
vringar Apr 10, 2024
287d1ac
Add HasAdaptiveSerializer trait. (#2040)
tokatoka Apr 11, 2024
94a2a23
Add CPUArchStatePtr to backdoor signature (#2038)
rmalmain Apr 11, 2024
631b174
libafl_nyx: Add support for `StdOutObserver` (#2033)
l4yton Apr 11, 2024
0f778b5
Order differential generics alphabetically (#2044)
domenukk Apr 12, 2024
2f618b6
Rename HasAFLSchedulerMetadata to simply AflScheduler (it doesn't hol…
domenukk Apr 12, 2024
8b9b5a8
Introduce `StdOutToMetadataFeedback` and `StdErrToMetadataFeddback` (…
l4yton Apr 12, 2024
ec935bf
Fix GuestMaps iterator in LibAFL QEMU. (#2041)
rmalmain Apr 12, 2024
3d702f4
Implement CanTrack tracking enforcement through rust types (#1886)
addisoncrump Apr 12, 2024
cbb323f
LibAFL 0.12 (#1823)
tokatoka Apr 12, 2024
0c68ff0
Readme Update (#2046)
tokatoka Apr 12, 2024
4ec50d6
bolts: core affinity simplification for freebsd (#2049)
devnexen Apr 14, 2024
da6118e
Debugging tips (#2048)
tokatoka Apr 15, 2024
534f05e
Fix shadow check
mineo333 Apr 15, 2024
bc3ef59
Rework of libafl_qemu configuration (#2054)
rmalmain Apr 16, 2024
8bce605
DDFuzz (#2056)
tokatoka Apr 16, 2024
edcff38
fixup: fix some missing tracking hints (#2058)
addisoncrump Apr 17, 2024
7595b2e
Debugging tips upd (#2062)
tokatoka Apr 17, 2024
467c6d7
missed a spot (#2063)
addisoncrump Apr 17, 2024
c50af44
Split edges_map_size and edges_map_size_alloc (#2012)
tokatoka Apr 17, 2024
886519b
Pr/fixing forkserver libafl cc (#2066)
mkravchik Apr 17, 2024
39c32d5
Fix main not passing CI tests (#2075)
rmalmain Apr 18, 2024
2b18562
Fixing the inconsistency btw #2012 and #2066 (#2074)
mkravchik Apr 18, 2024
84a432d
fix import (#2076)
rmalmain Apr 18, 2024
276bfc6
tee not pipe (#2078)
addisoncrump Apr 18, 2024
d7ac802
Update libafl_nyx to newest qemu-nyx and nyx-packer, fixing some prob…
GanbaruTobi Apr 19, 2024
c68b381
Revert splitting libafl_edges_map_max and libafl_edges_map_in_use (#2…
tokatoka Apr 19, 2024
04cd792
fix libfuzzer by simply adding the needed feature (#2080)
addisoncrump Apr 19, 2024
c238b69
Implement `Hash` for MapObserver (#1989)
edwin1729 Apr 19, 2024
e8cc1ba
Revert "Revert splitting libafl_edges_map_max and libafl_edges_map_in…
tokatoka Apr 19, 2024
ea549b9
Add a warning to say never use EDGES_MAP.len() (#2083)
tokatoka Apr 19, 2024
fd364d1
cargo-fuzz testing (#2081)
addisoncrump Apr 19, 2024
2df71e7
Faster cargo check (#2084)
tokatoka Apr 20, 2024
fe64d10
Fix typo in setup_libxml2.sh (#2088)
GanbaruTobi Apr 22, 2024
fef6c8d
Run qemu_systemmode tests with self-hosted runners (#2018)
rmalmain Apr 22, 2024
98863fb
Only run QEMU tests if there is a QEMU-related change. (#2090)
rmalmain Apr 22, 2024
0f3ad28
Fix #1932 (#2089)
tokatoka Apr 22, 2024
ea6a36b
fix (#2091)
tokatoka Apr 22, 2024
2e1b4e6
Update x86-64
mineo333 Apr 23, 2024
95b7114
Fix aarch64 unused import
mineo333 Apr 23, 2024
2046cfe
Checkout before filter (#2092)
rmalmain Apr 23, 2024
5ff709f
Symcc Update (#2047)
tokatoka Apr 23, 2024
e1b8c9b
libafl_bolts: improvements to the `rands` module, add next_float (#2086)
flyingmutant Apr 23, 2024
d349651
Add FeedbackFactory implementations for CrashFeedback, CombinedFeedba…
djoooooe Apr 23, 2024
76a95bc
Introduce `AFL_EXIT_ON_SEED_ISSUES` (#2085)
R9295 Apr 23, 2024
1766598
Add TypeRefCreator trait (#2065)
tokatoka Apr 23, 2024
0f42efa
refactor(snapshot.rs): use const generics (#2069)
vringar Apr 24, 2024
1e8667a
libafl_bolts: more `rands` improvements (#2096)
flyingmutant Apr 24, 2024
c622a28
Rename from ReReference to Reference (#2099)
tokatoka Apr 24, 2024
dd0fbff
Small refactoring of libafl_qemu structure (#2098)
rmalmain Apr 24, 2024
4c95d90
Split android and ios tests (#2106)
addisoncrump Apr 25, 2024
abcb2bf
Remove jobs dependency in CI (#2108)
tokatoka Apr 25, 2024
f255a82
Remove extraneous println statement
mineo333 Apr 25, 2024
c2e0e8d
Add recv_blocking_with_flags (#2102)
addisoncrump Apr 26, 2024
32963be
add crash_exitcode to Forkserver to accomodate AFL_CRASH_EXITCODE (#2…
R9295 Apr 26, 2024
084b9b5
Batch timeout fix (#2109)
tokatoka Apr 26, 2024
28c43b3
Match by Ref fix (#2105)
addisoncrump Apr 27, 2024
b024846
Allow for AsIter(Mut)/AsSlice(Mut) to be implemented in safe Rust (#2…
langston-barrett Apr 27, 2024
50f14d4
Restrict more on edges map API (#2117)
tokatoka Apr 29, 2024
b49ab99
libafl_bolts: `rands` super mega ultra giga house cleaning of doom (#…
flyingmutant Apr 29, 2024
61ac4ea
Improve `OnDiskTOMLMonitor` (#2125)
clesmian Apr 30, 2024
b231803
Fix Ctrl-C Handler (#2124)
tokatoka Apr 30, 2024
2f7c19e
Change centralized launcher signature (#2094)
tokatoka Apr 30, 2024
935100e
Qemu update to latest version + various fixes (#2119)
rmalmain May 2, 2024
c79cdc8
add mmap hooks to libqasan (#2122)
cube0x8 May 2, 2024
359e94e
ctrl c handler fix for non-fork mode (#2132)
tokatoka May 2, 2024
2302f1b
Fix QEMU doc not building (again) (#2130)
rmalmain May 2, 2024
ec944a0
Allow setting stdout_file in non-fork launcher (#2127)
vringar May 2, 2024
02ef0c4
fix qemu systemmode fuzzers exit code (#2133)
rmalmain May 2, 2024
431a7af
Add documentation, change panic to error, do formatting
mineo333 May 2, 2024
8756a03
Merge branch 'frida_windows_aarch64' of github.com:mineo333/LibAFL in…
mineo333 May 2, 2024
78e166a
Fix merge
mineo333 May 2, 2024
1bd582d
Fix dependency
mineo333 May 2, 2024
7b032a4
Fix aarch64 dependencies
mineo333 May 2, 2024
2e81dc6
Fix DDFuzz instrumentation (#2134)
tokatoka May 2, 2024
7fe0c57
Make CommandExecutor Generic on the specific Input (#2129)
riesentoaster May 2, 2024
f75c5ff
Add `found_objectives` metadata (#2093)
tokatoka May 3, 2024
382673b
`GenStage`: A stage for generational (e.g., black-box) fuzzers (#2137)
langston-barrett May 3, 2024
41ff743
Fix incrementing found_objective(#2139)
tokatoka May 3, 2024
b0ac25a
Rename Reference to Handle (#2142)
tokatoka May 4, 2024
502929d
Separate map observers (#2143)
tokatoka May 4, 2024
d4ff7b8
Add windows test & ci & fix (#2144)
tokatoka May 5, 2024
b0d592d
Add to how to leave tui screen (#2146)
tokatoka May 5, 2024
4562f19
Qemu ctrl c exit (#2147)
tokatoka May 6, 2024
b47b053
merge main
mineo333 May 6, 2024
a16fb88
Add null ptr to devices vec (QEMU systemmode) (#2141)
cube0x8 May 6, 2024
575ba53
Merge branch 'frida_windows_aarch64' of github.com:mineo333/LibAFL in…
mineo333 May 6, 2024
bed5004
QEMU generic memory iterator (#2148)
rmalmain May 7, 2024
e7e8208
Change special exitcode from 137 to 9 in simple.rs too (#2153)
tokatoka May 7, 2024
c1a5598
Stable type_eq (#2150)
addisoncrump May 7, 2024
3c5ab08
fix chaining return x86
mineo333 May 7, 2024
c97c8cf
Rename Handler -> Handled, various other cleanups after #2142 (#2152)
domenukk May 7, 2024
676dea0
add additional comments + aarch64
mineo333 May 7, 2024
2ccadca
Merge branch 'frida_windows_aarch64' of github.com:mineo333/LibAFL in…
mineo333 May 7, 2024
d53bbbd
fix aarch64 chaining return
mineo333 May 7, 2024
5891de7
merge main
mineo333 May 7, 2024
7c8ec31
Merge branch 'main' into frida_windows_aarch64
mineo333 May 7, 2024
e16a9db
Documentation
mineo333 May 7, 2024
ab71f31
Fix merge from main
mineo333 May 7, 2024
b14cb79
Merge remote-tracking branch 'main_repo/frida_windows' into frida_win…
mineo333 May 7, 2024
027b204
fix asan for aarch64
mineo333 May 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions fuzzers/forkserver_libafl_cc/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ use libafl::{
use libafl_bolts::{
rands::StdRand,
shmem::{ShMem, ShMemProvider, UnixShMemProvider},
tuples::{tuple_list, Handler, MatchNameRef, Merge},
tuples::{tuple_list, Handled, MatchNameRef, Merge},
AsSliceMut, Truncate,
};
use libafl_targets::EDGES_MAP_SIZE_IN_USE;
Expand Down Expand Up @@ -166,7 +166,7 @@ pub fn main() {
// Create the executor for the forkserver
let args = opt.arguments;

let observer_ref = edges_observer.handle();
let observer_handle = edges_observer.handle();

let mut tokens = Tokens::new();
let mut executor = ForkserverExecutor::builder()
Expand All @@ -182,7 +182,7 @@ pub fn main() {
.unwrap();

if let Some(dynamic_map_size) = executor.coverage_map_size() {
executor.observers_mut()[&observer_ref]
executor.observers_mut()[&observer_handle]
.as_mut()
.truncate(dynamic_map_size);
}
Expand Down
2 changes: 1 addition & 1 deletion fuzzers/forkserver_simple/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ use libafl_bolts::{
current_nanos,
rands::StdRand,
shmem::{ShMem, ShMemProvider, UnixShMemProvider},
tuples::{tuple_list, Handler, Merge},
tuples::{tuple_list, Handled, Merge},
AsSliceMut, Truncate,
};
use nix::sys::signal::Signal;
Expand Down
2 changes: 1 addition & 1 deletion fuzzers/frida_gdiplus/Makefile.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ windows_alias = "fuzzer_windows"
[tasks.fuzzer_windows]
script_runner="@shell"
script='''
cargo build --profile ${PROFILE}
cargo +nightly build --profile ${PROFILE}
cp ./target/${PROFILE_DIR}/${FUZZER_NAME} .
'''

Expand Down
56 changes: 30 additions & 26 deletions fuzzers/frida_gdiplus/src/fuzzer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ use libafl_bolts::{
tuples::{tuple_list, Merge},
AsSlice,
};

use libafl_frida::asan::asan_rt::AsanRuntime;
use libafl_frida::asan::errors::{AsanErrorsFeedback, AsanErrorsObserver};
use libafl_frida::{
asan::{
asan_rt::AsanRuntime,
Expand All @@ -50,7 +51,8 @@ use libafl_frida::{
cmplog_rt::CmpLogRuntime,
coverage_rt::{CoverageRuntime, MAP_SIZE},
executor::FridaInProcessExecutor,
helper::FridaInstrumentationHelper, hook_rt::HookRuntime,
helper::FridaInstrumentationHelper,
hook_rt::HookRuntime,
};
use libafl_targets::cmplog::CmpLogObserver;

Expand Down Expand Up @@ -101,9 +103,12 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
let coverage = CoverageRuntime::new();
let asan = AsanRuntime::new(&options);
let hooks = HookRuntime::new();

let mut frida_helper =
FridaInstrumentationHelper::new(&gum, options, tuple_list!(coverage, asan, hooks));

let mut frida_helper = FridaInstrumentationHelper::new(
&gum,
options,
tuple_list!(coverage, asan, hooks),
);
//
// Create an observation channel using the coverage map
let edges_observer = HitcountsMapObserver::new(StdMapObserver::from_mut_ptr(
Expand Down Expand Up @@ -177,11 +182,9 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
// A fuzzer with feedbacks and a corpus scheduler
let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);

let observers = tuple_list!(
edges_observer,
time_observer,
asan_observer,
);

let observers = tuple_list!(edges_observer, time_observer, asan_observer);


// Create the executor for an in-process function with just one observer for edge coverage
let mut executor = FridaInProcessExecutor::new(
Expand Down Expand Up @@ -221,8 +224,11 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
let cmplog = CmpLogRuntime::new();
let hooks = HookRuntime::new();

let mut frida_helper =
FridaInstrumentationHelper::new(&gum, options, tuple_list!(coverage, cmplog, hooks));
let mut frida_helper = FridaInstrumentationHelper::new(
&gum,
options,
tuple_list!(coverage, cmplog, hooks),
);

// Create an observation channel using the coverage map
let edges_observer = HitcountsMapObserver::new(StdMapObserver::from_mut_ptr(
Expand Down Expand Up @@ -294,11 +300,9 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
// A fuzzer with feedbacks and a corpus scheduler
let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);

let observers = tuple_list!(
edges_observer,
time_observer,
asan_observer
);

let observers = tuple_list!(edges_observer, time_observer, asan_observer);


// Create the executor for an in-process function with just one observer for edge coverage
let mut executor = FridaInProcessExecutor::new(
Expand Down Expand Up @@ -379,8 +383,8 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {

let mut objective = feedback_or_fast!(
CrashFeedback::new(),
// TimeoutFeedback::new(),
feedback_and_fast!(ConstFeedback::from(false), AsanErrorsFeedback::new(&asan_observer))
TimeoutFeedback::new(),
AsanErrorsFeedback::new(&asan_observer)
);

// If not restarting, create a State from scratch
Expand Down Expand Up @@ -423,11 +427,9 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
// A fuzzer with feedbacks and a corpus scheduler
let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);

let observers = tuple_list!(
edges_observer,
time_observer,
asan_observer
);


let observers = tuple_list!(edges_observer, time_observer);

// Create the executor for an in-process function with just one observer for edge coverage
let mut executor = FridaInProcessExecutor::new(
Expand All @@ -438,7 +440,7 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
&mut fuzzer,
&mut state,
&mut mgr,
options.timeout
options.timeout,
)?,
&mut frida_helper,
);
Expand All @@ -455,7 +457,9 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {

let mut stages = tuple_list!(StdMutationalStage::new(mutator));

fuzzer.fuzz_loop(&mut stages, &mut executor, &mut state, &mut mgr).unwrap();
fuzzer
.fuzz_loop(&mut stages, &mut executor, &mut state, &mut mgr)
.unwrap();

Ok(())
})(state, mgr, core_id)
Expand Down
2 changes: 1 addition & 1 deletion fuzzers/frida_libpng/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ reqwest = { version = "0.11.4", features = ["blocking"] }
libafl = { path = "../../libafl/", features = [ "std", "llmp_compression",
"llmp_bind_public", "frida_cli", "errors_backtrace" ] } #, "llmp_small_maps", "llmp_debug"]}
libafl_bolts = { path = "../../libafl_bolts/" }
frida-gum = { version = "0.13.3", features = [ "auto-download", "event-sink", "invocation-listener"] }
frida-gum = { path = "../../../frida-rust/frida-gum", features = [ "auto-download", "event-sink", "invocation-listener"] }
libafl_frida = { path = "../../libafl_frida", features = ["cmplog"] }
libafl_targets = { path = "../../libafl_targets", features = ["sancov_cmplog"] }
libloading = "0.7"
Expand Down
4 changes: 2 additions & 2 deletions fuzzers/frida_libpng/Makefile.toml
Original file line number Diff line number Diff line change
Expand Up @@ -69,14 +69,14 @@ windows_alias = "fuzzer_windows"
[tasks.fuzzer_unix]
script_runner="@shell"
script='''
cargo build --profile ${PROFILE}
cargo +nightly build --profile ${PROFILE}
cp ${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME} .
'''

[tasks.fuzzer_windows]
script_runner="@shell"
script='''
cargo build --profile ${PROFILE}
cargo +nightly build --profile ${PROFILE}
cp ./target/${PROFILE_DIR}/${FUZZER_NAME} .
'''

Expand Down
49 changes: 9 additions & 40 deletions fuzzers/frida_libpng/src/fuzzer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ use libafl::{
state::{HasCorpus, StdState},
Error, HasMetadata,
};
#[cfg(unix)]
use libafl::{feedback_and_fast, feedbacks::ConstFeedback};
use libafl_bolts::{
cli::{parse_args, FuzzerOptions},
Expand All @@ -31,7 +30,6 @@ use libafl_bolts::{
tuples::{tuple_list, Merge},
AsSlice,
};
#[cfg(unix)]
use libafl_frida::asan::{
asan_rt::AsanRuntime,
errors::{AsanErrorsFeedback, AsanErrorsObserver},
Expand Down Expand Up @@ -94,15 +92,12 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
let gum = Gum::obtain();

let coverage = CoverageRuntime::new();
#[cfg(unix)]

let asan = AsanRuntime::new(options);

#[cfg(unix)]
let mut frida_helper =
FridaInstrumentationHelper::new(&gum, options, tuple_list!(asan, coverage));
#[cfg(windows)]
let mut frida_helper =
FridaInstrumentationHelper::new(&gum, &options, tuple_list!(coverage));


// Create an observation channel using the coverage map
let edges_observer = HitcountsMapObserver::new(StdMapObserver::from_mut_ptr(
Expand All @@ -114,7 +109,6 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {

// Create an observation channel to keep track of the execution time
let time_observer = TimeObserver::new("time");
#[cfg(unix)]
let asan_observer = AsanErrorsObserver::from_static_asan_errors();

// Feedback to rate the interestingness of an input
Expand All @@ -127,18 +121,13 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
);

// Feedbacks to recognize an input as solution
#[cfg(unix)]
let mut objective = feedback_or_fast!(
CrashFeedback::new(),
TimeoutFeedback::new(),
// true enables the AsanErrorFeedback
feedback_and_fast!(
ConstFeedback::from(true),
AsanErrorsFeedback::new(&asan_observer)
)
AsanErrorsFeedback::new(&asan_observer)
);
#[cfg(windows)]
let mut objective = feedback_or_fast!(CrashFeedback::new(), TimeoutFeedback::new());


// If not restarting, create a State from scratch
let mut state = state.unwrap_or_else(|| {
Expand Down Expand Up @@ -180,10 +169,8 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
// A fuzzer with feedbacks and a corpus scheduler
let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);

#[cfg(unix)]
let observers = tuple_list!(edges_observer, time_observer, asan_observer);
#[cfg(windows)]
let observers = tuple_list!(edges_observer, time_observer);


// Create the executor for an in-process function with just one observer for edge coverage
let mut executor = FridaInProcessExecutor::new(
Expand Down Expand Up @@ -235,7 +222,6 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {

// Create an observation channel to keep track of the execution time
let time_observer = TimeObserver::new("time");
#[cfg(unix)]
let asan_observer = AsanErrorsObserver::from_static_asan_errors();

// Feedback to rate the interestingness of an input
Expand All @@ -247,17 +233,12 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
TimeFeedback::new(&time_observer)
);

#[cfg(unix)]
let mut objective = feedback_or_fast!(
CrashFeedback::new(),
TimeoutFeedback::new(),
feedback_and_fast!(
ConstFeedback::from(false),
AsanErrorsFeedback::new(&asan_observer)
)
AsanErrorsFeedback::new(&asan_observer)
);
#[cfg(windows)]
let mut objective = feedback_or_fast!(CrashFeedback::new(), TimeoutFeedback::new());


// If not restarting, create a State from scratch
let mut state = state.unwrap_or_else(|| {
Expand Down Expand Up @@ -299,10 +280,8 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
// A fuzzer with feedbacks and a corpus scheduler
let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);

#[cfg(unix)]

let observers = tuple_list!(edges_observer, time_observer, asan_observer);
#[cfg(windows)]
let observers = tuple_list!(edges_observer, time_observer);

// Create the executor for an in-process function with just one observer for edge coverage
let mut executor = FridaInProcessExecutor::new(
Expand Down Expand Up @@ -368,7 +347,6 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {

// Create an observation channel to keep track of the execution time
let time_observer = TimeObserver::new("time");
#[cfg(unix)]
let asan_observer = AsanErrorsObserver::from_static_asan_errors();

// Feedback to rate the interestingness of an input
Expand All @@ -380,17 +358,11 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
TimeFeedback::new(&time_observer)
);

#[cfg(unix)]
let mut objective = feedback_or_fast!(
CrashFeedback::new(),
TimeoutFeedback::new(),
feedback_and_fast!(
ConstFeedback::from(false),
AsanErrorsFeedback::new(&asan_observer)
)
AsanErrorsFeedback::new(&asan_observer)
);
#[cfg(windows)]
let mut objective = feedback_or_fast!(CrashFeedback::new(), TimeoutFeedback::new());

// If not restarting, create a State from scratch
let mut state = state.unwrap_or_else(|| {
Expand Down Expand Up @@ -432,10 +404,7 @@ unsafe fn fuzz(options: &FuzzerOptions) -> Result<(), Error> {
// A fuzzer with feedbacks and a corpus scheduler
let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);

#[cfg(unix)]
let observers = tuple_list!(edges_observer, time_observer, asan_observer);
#[cfg(windows)]
let observers = tuple_list!(edges_observer, time_observer);

// Create the executor for an in-process function with just one observer for edge coverage
let mut executor = FridaInProcessExecutor::new(
Expand Down
6 changes: 3 additions & 3 deletions fuzzers/fuzzbench_fork_qemu/src/fuzzer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ use libafl_qemu::{
elf::EasyElf,
filter_qemu_args,
hooks::QemuHooks,
GuestReg, MmapPerms, Qemu, QemuExitReason, QemuExitReasonError, QemuForkExecutor,
QemuShutdownCause, Regs,
GuestReg, MmapPerms, Qemu, QemuExitError, QemuExitReason, QemuForkExecutor, QemuShutdownCause,
Regs,
};
#[cfg(unix)]
use nix::unistd::dup;
Expand Down Expand Up @@ -328,7 +328,7 @@ fn fuzz(
Ok(QemuExitReason::End(QemuShutdownCause::HostSignal(Signal::SigInterrupt))) => {
process::exit(0)
}
Err(QemuExitReasonError::UnexpectedExit) => return ExitKind::Crash,
Err(QemuExitError::UnexpectedExit) => return ExitKind::Crash,
_ => panic!("Unexpected QEMU exit."),
}
}
Expand Down
2 changes: 1 addition & 1 deletion fuzzers/fuzzbench_forkserver_cmplog/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ use libafl_bolts::{
ownedref::OwnedRefMut,
rands::StdRand,
shmem::{ShMem, ShMemProvider, UnixShMemProvider},
tuples::{tuple_list, Handler, Merge},
tuples::{tuple_list, Handled, Merge},
AsSliceMut,
};
use libafl_targets::{
Expand Down
4 changes: 2 additions & 2 deletions fuzzers/fuzzbench_qemu/src/fuzzer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ use libafl_qemu::{
MmapPerms,
Qemu,
QemuExecutor,
QemuExitError,
QemuExitReason,
QemuExitReasonError,
QemuShutdownCause,
Regs,
};
Expand Down Expand Up @@ -350,7 +350,7 @@ fn fuzz(
Ok(QemuExitReason::End(QemuShutdownCause::HostSignal(Signal::SigInterrupt))) => {
process::exit(0)
}
Err(QemuExitReasonError::UnexpectedExit) => return ExitKind::Crash,
Err(QemuExitError::UnexpectedExit) => return ExitKind::Crash,
_ => panic!("Unexpected QEMU exit."),
}
}
Expand Down
Loading