[package] name = "libafl_qemu" version.workspace = true authors = ["Andrea Fioraldi "] description = "QEMU user backend library for LibAFL" documentation = "https://docs.rs/libafl_qemu" repository = "https://github.com/AFLplusplus/LibAFL/" readme = "../README.md" license = "MIT OR Apache-2.0" keywords = ["fuzzing", "qemu", "instrumentation"] edition = "2021" categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"] [features] default = ["fork"] python = ["pyo3", "pyo3-build-config"] fork = ["libafl/fork"] # The following architecture features are mutually exclusive. x86_64 = ["libafl_qemu_sys/x86_64"] # build qemu for x86_64 (default) i386 = ["libafl_qemu_sys/i386"] # build qemu for i386 arm = ["libafl_qemu_sys/arm"] # build qemu for arm aarch64 = ["libafl_qemu_sys/aarch64"] # build qemu for aarch64 be = ["libafl_qemu_sys/be"] usermode = ["libafl_qemu_sys/usermode"] systemmode = ["libafl_qemu_sys/systemmode"] slirp = [ "systemmode", "libafl_qemu_sys/slirp" ] # build qemu with host libslirp (for user networking) clippy = [] # special feature for clippy, don't use in normal projects§ jmp_as_edge = [] # Add all jumps in app code to edges, circumvents bugs in the original instrumentation [dependencies] libafl = { path = "../libafl", version = "0.8.2", default-features = false, features = ["std", "derive", "llmp_compression"] } libafl_targets = { path = "../libafl_targets", version = "0.8.2" } libafl_qemu_sys = { path = "./libafl_qemu_sys", version = "0.8.2" } serde = { version = "1.0", default-features = false, features = ["alloc"] } # serialization lib hashbrown = { version = "0.12", features = ["serde", "ahash-compile-time-rng"] } # A faster hashmap, nostd compatible num-traits = "0.2" num_enum = "0.5.7" goblin = "0.5.3" libc = "0.2" strum = "0.24" strum_macros = "0.24" syscall-numbers = "3.0" meminterval = "0.3" thread_local = "1.1.4" capstone = "0.11.0" #pyo3 = { version = "0.15", features = ["extension-module"], optional = true } pyo3 = { version = "0.17", features = ["pyproto"], optional = true } rangemap = "1.0" [build-dependencies] pyo3-build-config = { version = "0.15", optional = true } [lib] name = "libafl_qemu" crate-type = ["cdylib", "rlib"]