Dongjia "toka" Zhang c415b4d5f6
0.13.0 (#2253)
* 0.13

* z3

* capstone

* fixer

---------

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2024-06-13 23:35:35 +02:00

108 lines
3.3 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 = { version = "1.0", features = ["parallel"] }
[target.'cfg(target_arch = "aarch64")'.dependencies]
yaxpeax-arm = "0.2.4"
[target.'cfg(target_arch = "x86_64")'.dependencies]
yaxpeax-x86 = "1.2.2"
iced-x86 = { version = "1.20.0", features = ["code_asm"], optional = true }
[dependencies]
libafl = { path = "../libafl", default-features = false, version = "0.13.0", features = [
"std",
"derive",
"frida_cli",
] }
libafl_bolts = { path = "../libafl_bolts", version = "0.13.0", default-features = false, features = [
"std",
"derive",
"frida_cli"
] }
libafl_targets = { path = "../libafl_targets", version = "0.13.0", features = [
"std",
"sancov_cmplog",
] }
nix = { version = "0.29", features = ["mman"] }
libc = "0.2"
hashbrown = "0.14"
rangemap = "1.3"
frida-gum-sys = { version = "0.13.6", features = [
"event-sink",
"invocation-listener",
] }
frida-gum = { version = "0.13.6", features = [
"event-sink",
"invocation-listener",
"module-names",
] }
dynasmrt = "2"
color-backtrace = { version = "0.6", features = ["resolve-modules"] }
termcolor = "1.1.3"
serde = "1.0"
backtrace = { version = "0.3", default-features = false, features = [
"std",
"serde",
] }
num-traits = "0.2"
ahash = "^0.8" # fetch the latest
paste = "1.0"
log = "0.4.20"
mmap-rs = "0.6.0"
bit_reverse = "0.1.8"
yaxpeax-arch = "0.2.7"
document-features = { version = "0.2", optional = true } # Document all features of this crate (for `cargo doc`)
[target.'cfg(windows)'.dependencies]
winsafe = {version = "0.0.21", features = ["kernel"]}
[dev-dependencies]
serial_test = { version = "3", default-features = false, features = ["logging"] }
clap = {version = "4.5", features = ["derive"]}
libloading = "0.8"
mimalloc = { version = "*", default-features = false }
dlmalloc ={version = "0.2.6", features = ["global"]}