ignored frida on windows

This commit is contained in:
Dominik Maier 2021-03-22 16:54:31 +01:00
parent 15955f0af9
commit 556141e9a3
7 changed files with 14 additions and 4 deletions

View File

@ -22,7 +22,7 @@ frida = ["frida-gum", "frida-gum-sys"]
cc = { version = "1.0", features = ["parallel"] } cc = { version = "1.0", features = ["parallel"] }
num_cpus = "1.0" num_cpus = "1.0"
[dependencies] [target.'cfg(unix)'.dependencies]
libafl = { path = "../../libafl/" } libafl = { path = "../../libafl/" }
#frida-gum = { path = "../../../frida-rust/frida-gum", version = "0.2.3", optional = true, features = ["auto-download", "event-sink", "invocation-listener"] } #frida-gum = { path = "../../../frida-rust/frida-gum", version = "0.2.3", optional = true, features = ["auto-download", "event-sink", "invocation-listener"] }
#frida-gum-sys = { path = "../../../frida-rust/frida-gum-sys", version = "0.2.2", optional = true, features = ["auto-download", "event-sink", "invocation-listener"] } #frida-gum-sys = { path = "../../../frida-rust/frida-gum-sys", version = "0.2.2", optional = true, features = ["auto-download", "event-sink", "invocation-listener"] }
@ -34,6 +34,6 @@ libloading = "0.7.0"
[[example]] [[example]]
name = "frida_libpng" name = "frida_libpng"
path = "./src/fuzzer.rs" path = "./src/main.rs"
test = false test = false
bench = false bench = false

View File

@ -11,7 +11,7 @@ const LIBPNG_URL: &str =
fn main() { fn main() {
if cfg!(windows) { if cfg!(windows) {
println!("cargo:warning=Skipping libpng example on Windows"); println!("cargo:warning=Skipping libpng frida example on Windows");
exit(0); exit(0);
} }

View File

@ -1,6 +1,7 @@
//! A libfuzzer-like fuzzer with llmp-multithreading support and restarts //! A libfuzzer-like fuzzer with llmp-multithreading support and restarts
//! The example harness is built for libpng. //! The example harness is built for libpng.
#[cfg(unix)]
use core::time::Duration; use core::time::Duration;
use std::{env, path::PathBuf}; use std::{env, path::PathBuf};

View File

@ -23,6 +23,7 @@ use libafl::{
Error, Error,
}; };
#[cfg(unix)]
const MAP_SIZE: usize = 16 * 1024; const MAP_SIZE: usize = 16 * 1024;
/// We will interact with a C++ target, so use external c functionality /// We will interact with a C++ target, so use external c functionality

View File

@ -14,7 +14,7 @@ use std::os::raw::{c_long, c_void};
use num_enum::{IntoPrimitive, TryFromPrimitive}; use num_enum::{IntoPrimitive, TryFromPrimitive};
const EXCEPTION_CONTINUE_EXECUTION: c_long = -1; //const EXCEPTION_CONTINUE_EXECUTION: c_long = -1;
//const EXCEPTION_CONTINUE_SEARCH: c_long = 0; //const EXCEPTION_CONTINUE_SEARCH: c_long = 0;
const EXCEPTION_EXECUTE_HANDLER: c_long = 1; const EXCEPTION_EXECUTE_HANDLER: c_long = 1;

View File

@ -3,6 +3,7 @@
pub mod inprocess; pub mod inprocess;
pub use inprocess::InProcessExecutor; pub use inprocess::InProcessExecutor;
pub mod timeout; pub mod timeout;
#[cfg(unix)]
pub use timeout::TimeoutExecutor; pub use timeout::TimeoutExecutor;
#[cfg(feature = "runtime")] #[cfg(feature = "runtime")]
pub mod runtime; pub mod runtime;

View File

@ -1,7 +1,9 @@
//! A TimeoutExecutor set a timeout before each target run //! A TimeoutExecutor set a timeout before each target run
#[cfg(unix)]
use core::{marker::PhantomData, time::Duration}; use core::{marker::PhantomData, time::Duration};
#[cfg(unix)]
use crate::{ use crate::{
bolts::tuples::Named, bolts::tuples::Named,
events::EventManager, events::EventManager,
@ -39,6 +41,7 @@ extern "C" {
const ITIMER_REAL: c_int = 0; const ITIMER_REAL: c_int = 0;
/// The timeout excutor is a wrapper that set a timeout before each run /// The timeout excutor is a wrapper that set a timeout before each run
#[cfg(unix)]
pub struct TimeoutExecutor<E, I, OT> pub struct TimeoutExecutor<E, I, OT>
where where
E: Executor<I> + HasObservers<OT>, E: Executor<I> + HasObservers<OT>,
@ -50,6 +53,7 @@ where
phantom: PhantomData<(I, OT)>, phantom: PhantomData<(I, OT)>,
} }
#[cfg(unix)]
impl<E, I, OT> Named for TimeoutExecutor<E, I, OT> impl<E, I, OT> Named for TimeoutExecutor<E, I, OT>
where where
E: Executor<I> + HasObservers<OT>, E: Executor<I> + HasObservers<OT>,
@ -61,6 +65,7 @@ where
} }
} }
#[cfg(unix)]
impl<E, I, OT> HasObservers<OT> for TimeoutExecutor<E, I, OT> impl<E, I, OT> HasObservers<OT> for TimeoutExecutor<E, I, OT>
where where
E: Executor<I> + HasObservers<OT>, E: Executor<I> + HasObservers<OT>,
@ -78,6 +83,7 @@ where
} }
} }
#[cfg(unix)]
impl<E, I, OT> TimeoutExecutor<E, I, OT> impl<E, I, OT> TimeoutExecutor<E, I, OT>
where where
E: Executor<I> + HasObservers<OT>, E: Executor<I> + HasObservers<OT>,
@ -93,6 +99,7 @@ where
} }
} }
#[cfg(unix)]
impl<E, I, OT> Executor<I> for TimeoutExecutor<E, I, OT> impl<E, I, OT> Executor<I> for TimeoutExecutor<E, I, OT>
where where
E: Executor<I> + HasObservers<OT>, E: Executor<I> + HasObservers<OT>,