AFLplusplus / LibAFL

Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, ...
Other
2.03k stars 319 forks source link

libafl-fuzz: separate frida build + cmplog debug #2591

Closed R9295 closed 3 weeks ago

R9295 commented 1 month ago

Try to fix the cmplog issue in this pr too

tokatoka commented 1 month ago

https://github.com/mxschmitt/action-tmate

use this if you want to connect to their vm

R9295 commented 1 month ago

Since AFL++ runs the timeout again with double the timeout, to confirm if it is actually a timeout, I'll implement that and check if that fixes the CI

tokatoka commented 1 month ago

you can delete old afl_stat.rs

R9295 commented 1 month ago

Making this into a draft PR cause still a bit WIP

R9295 commented 1 month ago

set_timeout and timeout should be #[inline]

tokatoka commented 1 month ago

@R9295 Don't over-speficy the trait bounds. always put the minimal set of contraints

domenukk commented 1 month ago

On windows this leads to:

error[E0432]: unresolved import `libafl_bolts::os::peak_rss_mb_child_processes`
   --> libafl\src\stages\stats.rs:16:5
    |
16  |     os::peak_rss_mb_child_processes,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `peak_rss_mb_child_processes` in `os`
    | 
domenukk commented 1 month ago

some fuzzers are also still broken

error[E0046]: not all trait items implemented, missing: `exec_timeout_mut`
  --> src/main.rs:88:5
   |
88 |     impl CommandConfigurator<BytesInput> for MyExecutor {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `exec_timeout_mut` in implementation
   |
   = help: implement the missing item: `fn exec_timeout_mut(&mut self) -> &mut std::time::Duration { todo!() }`
domenukk commented 4 weeks ago

Status?