ignored frida on windows
This commit is contained in:
parent
15955f0af9
commit
556141e9a3
@ -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
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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};
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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>,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user