
* Add internal deps to workspace * libafl: use workspace internal deps * libafl_bolts: use workspace internal deps * 0.14.0 * use workspace internal deps
114 lines
3.5 KiB
TOML
114 lines
3.5 KiB
TOML
[package]
|
|
name = "libafl_frida"
|
|
version.workspace = true
|
|
authors = ["s1341 <github@shmarya.net>"]
|
|
description = "Frida backend library for LibAFL"
|
|
documentation = "https://docs.rs/libafl_frida"
|
|
repository = "https://github.com/AFLplusplus/LibAFL/"
|
|
readme = "../README.md"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["fuzzing", "frida", "instrumentation"]
|
|
edition = "2021"
|
|
categories = [
|
|
"development-tools::testing",
|
|
"emulators",
|
|
"embedded",
|
|
"os",
|
|
"no-std",
|
|
]
|
|
|
|
[package.metadata.docs.rs]
|
|
no-default-features = true # We can't use auto-download inside docs.rs (no internet)
|
|
all-features = false
|
|
features = [
|
|
"cmplog",
|
|
"serdeany_autoreg",
|
|
"track_hit_feedbacks",
|
|
"document-features",
|
|
]
|
|
|
|
[features]
|
|
default = ["serdeany_autoreg", "auto-download"]
|
|
document-features = ["dep:document-features"]
|
|
|
|
#! # Feature Flags
|
|
#! ### General Features
|
|
|
|
## Enables `cmplog`, a mode that logs comparisons. This increases runtime overhead but also increases the fuzzer's solving capabilities. Should be used on some cores.
|
|
cmplog = ["iced-x86"]
|
|
## Automatically register all types with LibAFL's serializer. There's hardly a reason not to use this.
|
|
serdeany_autoreg = ["libafl_bolts/serdeany_autoreg"]
|
|
## If hit feedbacks should be tracked as part of LibAFL's feedback.
|
|
track_hit_feedbacks = ["libafl/track_hit_feedbacks"]
|
|
## If Frida should be automatically downloaded (else you'll have to provide a Frida version to use manually)
|
|
auto-download = ["frida-gum-sys/auto-download", "frida-gum/auto-download"]
|
|
|
|
[build-dependencies]
|
|
cc = { workspace = true, features = ["parallel"] }
|
|
|
|
[dependencies]
|
|
libafl = { workspace = true, features = ["std", "derive", "frida_cli"] }
|
|
libafl_bolts = { workspace = true, features = ["std", "derive", "frida_cli"] }
|
|
libafl_targets = { workspace = true, default-features = true, features = [
|
|
"std",
|
|
"sancov_cmplog",
|
|
] }
|
|
|
|
nix = { workspace = true, default-features = true, features = ["mman"] }
|
|
libc = { workspace = true }
|
|
hashbrown = { workspace = true, default-features = true }
|
|
rangemap = { workspace = true }
|
|
frida-gum-sys = { version = "0.15.1", features = [
|
|
"event-sink",
|
|
"invocation-listener",
|
|
] }
|
|
frida-gum = { version = "0.15.1", features = [
|
|
"event-sink",
|
|
"invocation-listener",
|
|
"module-names",
|
|
"script",
|
|
] }
|
|
dynasmrt = "3.0.1"
|
|
|
|
color-backtrace = { version = "0.6.1", features = ["resolve-modules"] }
|
|
termcolor = "1.4.1"
|
|
serde = { workspace = true, default-features = true }
|
|
backtrace = { workspace = true, default-features = false, features = [
|
|
"std",
|
|
"serde",
|
|
] }
|
|
num-traits = { workspace = true, default-features = true }
|
|
ahash = { workspace = true, default-features = true }
|
|
paste = { workspace = true }
|
|
log = { workspace = true }
|
|
mmap-rs = "0.6.1"
|
|
bit_reverse = "0.1.8"
|
|
yaxpeax-arch = "0.3.2"
|
|
|
|
document-features = { workspace = true, optional = true } # Document all features of this crate (for `cargo doc`)
|
|
|
|
[dev-dependencies]
|
|
serial_test = { workspace = true, default-features = false, features = [
|
|
"logging",
|
|
] }
|
|
clap = { workspace = true, features = ["derive"] }
|
|
libloading = "0.8.5"
|
|
mimalloc = { workspace = true, default-features = false }
|
|
dlmalloc = { version = "0.2.6", features = ["global"] }
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[target.'cfg(target_arch = "aarch64")'.dependencies]
|
|
yaxpeax-arm = "0.3.0"
|
|
|
|
[target.'cfg(target_arch = "x86_64")'.dependencies]
|
|
yaxpeax-x86 = "2.0.0"
|
|
iced-x86 = { version = "1.21.0", features = ["code_asm"], optional = true }
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
winsafe = { version = "0.0.22", features = ["kernel"] }
|
|
|
|
[target.'cfg(target_vendor="apple")'.dependencies]
|
|
mach-sys = { version = "0.5.4" }
|