Format all tomls with taplo fmt
(#2436)
Co-authored-by: Dominik Maier <domenukk@gmail.com>
This commit is contained in:
parent
76e1b4cb1e
commit
afbdc02c54
@ -6,11 +6,17 @@ edition = "2021"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
pyo3 = { version = "0.18.3", features = ["extension-module"] }
|
pyo3 = { version = "0.18.3", features = ["extension-module"] }
|
||||||
pyo3-log = "0.8.1"
|
pyo3-log = "0.8.1"
|
||||||
libafl_sugar = { path = "../../libafl_sugar", version = "0.13.2", features = ["python"] }
|
libafl_sugar = { path = "../../libafl_sugar", version = "0.13.2", features = [
|
||||||
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", features = ["python"] }
|
"python",
|
||||||
|
] }
|
||||||
|
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", features = [
|
||||||
|
"python",
|
||||||
|
] }
|
||||||
|
|
||||||
[target.'cfg(target_os = "linux")'.dependencies]
|
[target.'cfg(target_os = "linux")'.dependencies]
|
||||||
libafl_qemu = { path = "../../libafl_qemu", version = "0.13.2", features = ["python"] }
|
libafl_qemu = { path = "../../libafl_qemu", version = "0.13.2", features = [
|
||||||
|
"python",
|
||||||
|
] }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
pyo3-build-config = { version = "0.17" }
|
pyo3-build-config = { version = "0.17" }
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "baby_fuzzer"
|
name = "baby_fuzzer"
|
||||||
version = "0.10.0"
|
version = "0.10.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "baby_fuzzer_gramatron"
|
name = "baby_fuzzer_gramatron"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -21,4 +24,6 @@ debug = true
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
postcard = { version = "1.0", features = ["alloc"], default-features = false } # no_std compatible serde serialization format
|
postcard = { version = "1.0", features = [
|
||||||
|
"alloc",
|
||||||
|
], default-features = false } # no_std compatible serde serialization format
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "baby_fuzzer_grimoire"
|
name = "baby_fuzzer_grimoire"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "baby_fuzzer_minimizing"
|
name = "baby_fuzzer_minimizing"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "Addison Crump <research@addisoncrump.info>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
"Addison Crump <research@addisoncrump.info>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "baby_fuzzer_multi"
|
name = "baby_fuzzer_multi"
|
||||||
version = "0.10.0"
|
version = "0.10.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "Addison Crump <me@addisoncrump.info>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
"Addison Crump <me@addisoncrump.info>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "baby_fuzzer_nautilus"
|
name = "baby_fuzzer_nautilus"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -27,7 +27,12 @@ cc = "1.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl" }
|
libafl = { path = "../../../libafl" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts" }
|
libafl_bolts = { path = "../../../libafl_bolts" }
|
||||||
libafl_targets = { path = "../../../libafl_targets", features = ["sancov_pcguard_hitcounts", "libfuzzer", "sancov_cmplog", "pointer_maps"] }
|
libafl_targets = { path = "../../../libafl_targets", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"libfuzzer",
|
||||||
|
"sancov_cmplog",
|
||||||
|
"pointer_maps",
|
||||||
|
] }
|
||||||
mimalloc = { version = "*", default-features = false }
|
mimalloc = { version = "*", default-features = false }
|
||||||
|
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'fuzzer_sd'
|
FUZZER_NAME = 'fuzzer_sd'
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release" }
|
PROFILE = { value = "release" }
|
||||||
PROFILE_DIR = { value = "release" }
|
PROFILE_DIR = { value = "release" }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "baby_fuzzer_tokens"
|
name = "baby_fuzzer_tokens"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "baby_fuzzer_unicode"
|
name = "baby_fuzzer_unicode"
|
||||||
version = "0.10.0"
|
version = "0.10.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "baby_fuzzer_with_forkexecutor"
|
name = "baby_fuzzer_with_forkexecutor"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "baby_no_std"
|
name = "baby_no_std"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[profile.dev]
|
[profile.dev]
|
||||||
@ -21,4 +24,3 @@ static-alloc = "0.2.3"
|
|||||||
|
|
||||||
[target.'cfg(unix)'.dependencies]
|
[target.'cfg(unix)'.dependencies]
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
|
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
FUZZER_NAME = "fuzzer"
|
FUZZER_NAME = "fuzzer"
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
@ -13,7 +15,14 @@ echo "Cargo-make not integrated yet on this"
|
|||||||
# Fuzzer
|
# Fuzzer
|
||||||
[tasks.build]
|
[tasks.build]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = ["build", "--profile", "${PROFILE}", "-Zbuild-std=core,alloc", "--target", "x86_64-unknown-linux-gnu"]
|
args = [
|
||||||
|
"build",
|
||||||
|
"--profile",
|
||||||
|
"${PROFILE}",
|
||||||
|
"-Zbuild-std=core,alloc",
|
||||||
|
"--target",
|
||||||
|
"x86_64-unknown-linux-gnu",
|
||||||
|
]
|
||||||
|
|
||||||
# Test
|
# Test
|
||||||
[tasks.test]
|
[tasks.test]
|
||||||
|
@ -26,7 +26,11 @@ nix = { version = "0.29", features = ["signal"] }
|
|||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer", "pointer_maps"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"libfuzzer",
|
||||||
|
"pointer_maps",
|
||||||
|
] }
|
||||||
env_logger = "0.11"
|
env_logger = "0.11"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'fuzzer_libafl_cc'
|
FUZZER_NAME = 'fuzzer_libafl_cc'
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||||
|
@ -18,11 +18,22 @@ opt-level = 3
|
|||||||
debug = true
|
debug = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/", features = [ "std", "llmp_compression", "llmp_bind_public", "frida_cli" ] } #, "llmp_small_maps", "llmp_debug"]}
|
libafl = { path = "../../../libafl/", features = [
|
||||||
|
"std",
|
||||||
|
"llmp_compression",
|
||||||
|
"llmp_bind_public",
|
||||||
|
"frida_cli",
|
||||||
|
] } #, "llmp_small_maps", "llmp_debug"]}
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
frida-gum = { version = "0.13.6", features = [ "auto-download", "event-sink", "invocation-listener"] }
|
frida-gum = { version = "0.13.6", features = [
|
||||||
|
"auto-download",
|
||||||
|
"event-sink",
|
||||||
|
"invocation-listener",
|
||||||
|
] }
|
||||||
libafl_frida = { path = "../../../libafl_frida", features = ["cmplog"] }
|
libafl_frida = { path = "../../../libafl_frida", features = ["cmplog"] }
|
||||||
libafl_targets = { path = "../../../libafl_targets", features = ["sancov_cmplog"] }
|
libafl_targets = { path = "../../../libafl_targets", features = [
|
||||||
|
"sancov_cmplog",
|
||||||
|
] }
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
libloading = "0.7"
|
libloading = "0.7"
|
||||||
num-traits = "0.2"
|
num-traits = "0.2"
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
|
@ -15,12 +15,23 @@ opt-level = 3
|
|||||||
debug = true
|
debug = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/", features = [ "std", "llmp_compression",
|
libafl = { path = "../../../libafl/", features = [
|
||||||
"llmp_bind_public", "frida_cli", "errors_backtrace" ] } #, "llmp_small_maps", "llmp_debug"]}
|
"std",
|
||||||
|
"llmp_compression",
|
||||||
|
"llmp_bind_public",
|
||||||
|
"frida_cli",
|
||||||
|
"errors_backtrace",
|
||||||
|
] } #, "llmp_small_maps", "llmp_debug"]}
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
frida-gum = { version = "0.13.6", features = ["auto-download", "event-sink", "invocation-listener"] }
|
frida-gum = { version = "0.13.6", features = [
|
||||||
|
"auto-download",
|
||||||
|
"event-sink",
|
||||||
|
"invocation-listener",
|
||||||
|
] }
|
||||||
libafl_frida = { path = "../../../libafl_frida", features = ["cmplog"] }
|
libafl_frida = { path = "../../../libafl_frida", features = ["cmplog"] }
|
||||||
libafl_targets = { path = "../../../libafl_targets", features = ["sancov_cmplog"] }
|
libafl_targets = { path = "../../../libafl_targets", features = [
|
||||||
|
"sancov_cmplog",
|
||||||
|
] }
|
||||||
libloading = "0.7"
|
libloading = "0.7"
|
||||||
mimalloc = { version = "*", default-features = false }
|
mimalloc = { version = "*", default-features = false }
|
||||||
dlmalloc = { version = "0.2.6", features = ["global"] }
|
dlmalloc = { version = "0.2.6", features = ["global"] }
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
FUZZER_NAME = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "frida_gdiplus", mapping = { "linux" = "frida_gdiplus", "macos" = "frida_gdiplus", "windows" = "frida_gdiplus.exe" } }
|
FUZZER_NAME = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "frida_gdiplus", mapping = { "linux" = "frida_gdiplus", "macos" = "frida_gdiplus", "windows" = "frida_gdiplus.exe" } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "frida_fuzzer"
|
name = "frida_fuzzer"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -15,12 +18,23 @@ opt-level = 3
|
|||||||
debug = true
|
debug = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/", features = [ "std", "llmp_compression",
|
libafl = { path = "../../../libafl/", features = [
|
||||||
"llmp_bind_public", "frida_cli", "errors_backtrace" ] } #, "llmp_small_maps", "llmp_debug"]}
|
"std",
|
||||||
|
"llmp_compression",
|
||||||
|
"llmp_bind_public",
|
||||||
|
"frida_cli",
|
||||||
|
"errors_backtrace",
|
||||||
|
] } #, "llmp_small_maps", "llmp_debug"]}
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
frida-gum = { version = "0.13.6", features = ["auto-download", "event-sink", "invocation-listener"] }
|
frida-gum = { version = "0.13.6", features = [
|
||||||
|
"auto-download",
|
||||||
|
"event-sink",
|
||||||
|
"invocation-listener",
|
||||||
|
] }
|
||||||
libafl_frida = { path = "../../../libafl_frida", features = ["cmplog"] }
|
libafl_frida = { path = "../../../libafl_frida", features = ["cmplog"] }
|
||||||
libafl_targets = { path = "../../../libafl_targets", features = ["sancov_cmplog"] }
|
libafl_targets = { path = "../../../libafl_targets", features = [
|
||||||
|
"sancov_cmplog",
|
||||||
|
] }
|
||||||
libloading = "0.7"
|
libloading = "0.7"
|
||||||
mimalloc = { version = "*", default-features = false }
|
mimalloc = { version = "*", default-features = false }
|
||||||
color-backtrace = "0.5"
|
color-backtrace = "0.5"
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
FUZZER_NAME = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "frida_fuzzer", mapping = { "linux" = "frida_fuzzer", "macos" = "frida_fuzzer", "windows" = "frida_fuzzer.exe" } }
|
FUZZER_NAME = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "frida_fuzzer", mapping = { "linux" = "frida_fuzzer", "macos" = "frida_fuzzer", "windows" = "frida_fuzzer.exe" } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "fuzzbench"
|
name = "fuzzbench"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -27,7 +30,11 @@ which = "6.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "sancov_cmplog", "libfuzzer"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"sancov_cmplog",
|
||||||
|
"libfuzzer",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
clap = { version = "4.5", features = ["default"] }
|
clap = { version = "4.5", features = ["default"] }
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
[env]
|
[env]
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
FUZZER_NAME = "fuzzer"
|
FUZZER_NAME = "fuzzer"
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "fuzzbench_ctx"
|
name = "fuzzbench_ctx"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -27,7 +30,12 @@ which = "6.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "sancov_cmplog", "libfuzzer", "sancov_ctx"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"sancov_cmplog",
|
||||||
|
"libfuzzer",
|
||||||
|
"sancov_ctx",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
clap = { version = "4.5", features = ["default"] }
|
clap = { version = "4.5", features = ["default"] }
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
[env]
|
[env]
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
FUZZER_NAME = "fuzzer"
|
FUZZER_NAME = "fuzzer"
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "fuzzbench_fork_qemu"
|
name = "fuzzbench_fork_qemu"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -22,7 +25,10 @@ strip = true
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_qemu = { path = "../../../libafl_qemu/", features = ["x86_64", "usermode"] }
|
libafl_qemu = { path = "../../../libafl_qemu/", features = [
|
||||||
|
"x86_64",
|
||||||
|
"usermode",
|
||||||
|
] }
|
||||||
|
|
||||||
clap = { version = "4.5", features = ["default"] }
|
clap = { version = "4.5", features = ["default"] }
|
||||||
nix = { version = "0.29", features = ["fs"] }
|
nix = { version = "0.29", features = ["fs"] }
|
||||||
|
@ -3,7 +3,9 @@
|
|||||||
FUZZER_NAME = 'libpng_harness'
|
FUZZER_NAME = 'libpng_harness'
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
@ -67,7 +69,18 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.run_unix]
|
[tasks.run_unix]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = ["run", "--profile", "${PROFILE_DIR}", "./${FUZZER_NAME}", "--", "--libafl-in", "../libfuzzer_libpng/corpus", "--libafl-out", "./out", "./${FUZZER_NAME}"]
|
args = [
|
||||||
|
"run",
|
||||||
|
"--profile",
|
||||||
|
"${PROFILE_DIR}",
|
||||||
|
"./${FUZZER_NAME}",
|
||||||
|
"--",
|
||||||
|
"--libafl-in",
|
||||||
|
"../libfuzzer_libpng/corpus",
|
||||||
|
"--libafl-out",
|
||||||
|
"./out",
|
||||||
|
"./${FUZZER_NAME}",
|
||||||
|
]
|
||||||
dependencies = ["harness", "fuzzer"]
|
dependencies = ["harness", "fuzzer"]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "fuzzbench_forkserver"
|
name = "fuzzbench_forkserver"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "fuzzbench_forkserver_cmplog"
|
name = "fuzzbench_forkserver_cmplog"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "fuzzbench_qemu"
|
name = "fuzzbench_qemu"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -22,8 +25,10 @@ strip = true
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_qemu = { path = "../../../libafl_qemu/", features = ["x86_64", "usermode"] }
|
libafl_qemu = { path = "../../../libafl_qemu/", features = [
|
||||||
|
"x86_64",
|
||||||
|
"usermode",
|
||||||
|
] }
|
||||||
|
|
||||||
clap = { version = "4.5", features = ["default"] }
|
clap = { version = "4.5", features = ["default"] }
|
||||||
nix = { version = "0.29", features = ["fs"] }
|
nix = { version = "0.29", features = ["fs"] }
|
||||||
|
|
||||||
|
@ -3,7 +3,9 @@
|
|||||||
FUZZER_NAME = 'libpng_harness'
|
FUZZER_NAME = 'libpng_harness'
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
@ -67,7 +69,18 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.run_unix]
|
[tasks.run_unix]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = ["run", "--profile", "${PROFILE}", "./${FUZZER_NAME}", "--", "--libafl-in", "../../libpng/libfuzzer_libpng/corpus", "--libafl-out", "./out", "./${FUZZER_NAME}"]
|
args = [
|
||||||
|
"run",
|
||||||
|
"--profile",
|
||||||
|
"${PROFILE}",
|
||||||
|
"./${FUZZER_NAME}",
|
||||||
|
"--",
|
||||||
|
"--libafl-in",
|
||||||
|
"../../libpng/libfuzzer_libpng/corpus",
|
||||||
|
"--libafl-out",
|
||||||
|
"./out",
|
||||||
|
"./${FUZZER_NAME}",
|
||||||
|
]
|
||||||
dependencies = ["harness", "fuzzer"]
|
dependencies = ["harness", "fuzzer"]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "fuzzbench_text"
|
name = "fuzzbench_text"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -22,7 +25,11 @@ which = "6.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "sancov_cmplog", "libfuzzer"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"sancov_cmplog",
|
||||||
|
"libfuzzer",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
clap = { version = "4.5", features = ["default"] }
|
clap = { version = "4.5", features = ["default"] }
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
[env]
|
[env]
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
FUZZER_NAME = "fuzzer"
|
FUZZER_NAME = "fuzzer"
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_libpng"
|
name = "libfuzzer_libpng"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -24,7 +27,11 @@ which = "6.0"
|
|||||||
libafl = { path = "../../../libafl/", features = ["default"] }
|
libafl = { path = "../../../libafl/", features = ["default"] }
|
||||||
# libafl = { path = "../../../libafl/", features = ["default"] }
|
# libafl = { path = "../../../libafl/", features = ["default"] }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer", "sancov_cmplog"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"libfuzzer",
|
||||||
|
"sancov_cmplog",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
mimalloc = { version = "*", default-features = false }
|
mimalloc = { version = "*", default-features = false }
|
||||||
|
@ -2,9 +2,13 @@
|
|||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'fuzzer_libpng'
|
FUZZER_NAME = 'fuzzer_libpng'
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||||
@ -104,7 +108,16 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_unix]
|
[tasks.fuzzer_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/harness.cc",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
]
|
||||||
dependencies = ["lib", "cxx", "cc"]
|
dependencies = ["lib", "cxx", "cc"]
|
||||||
|
|
||||||
# Crashing Harness
|
# Crashing Harness
|
||||||
@ -115,7 +128,16 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_crash_unix]
|
[tasks.fuzzer_crash_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}_crash", "-lm", "-lz"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/harness.cc",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}_crash",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
]
|
||||||
dependencies = ["crash_lib", "crash_cxx", "crash_cc"]
|
dependencies = ["crash_lib", "crash_cxx", "crash_cc"]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
@ -150,7 +172,6 @@ sleep 0.2
|
|||||||
dependencies = ["fuzzer_crash"]
|
dependencies = ["fuzzer_crash"]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Test
|
# Test
|
||||||
[tasks.test]
|
[tasks.test]
|
||||||
linux_alias = "test_unix"
|
linux_alias = "test_unix"
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_libpng_accounting"
|
name = "libfuzzer_libpng_accounting"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -19,9 +22,21 @@ cc = { version = "1.0", features = ["parallel"] }
|
|||||||
which = "6.0"
|
which = "6.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/", features = ["std", "derive", "llmp_compression", "introspection"] }
|
libafl = { path = "../../../libafl/", features = [
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/", features = ["std", "derive", "llmp_compression"] }
|
"std",
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
|
"derive",
|
||||||
|
"llmp_compression",
|
||||||
|
"introspection",
|
||||||
|
] }
|
||||||
|
libafl_bolts = { path = "../../../libafl_bolts/", features = [
|
||||||
|
"std",
|
||||||
|
"derive",
|
||||||
|
"llmp_compression",
|
||||||
|
] }
|
||||||
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"libfuzzer",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
clap = { version = "4.5", features = ["derive"] }
|
clap = { version = "4.5", features = ["derive"] }
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
FUZZER_NAME = 'fuzzer_libpng_accounting'
|
FUZZER_NAME = 'fuzzer_libpng_accounting'
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||||
@ -72,7 +76,16 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_unix]
|
[tasks.fuzzer_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/harness.cc",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
]
|
||||||
dependencies = ["lib", "cxx", "cc"]
|
dependencies = ["lib", "cxx", "cc"]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_libpng_launcher_centralized"
|
name = "libfuzzer_libpng_launcher_centralized"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -19,9 +22,23 @@ cc = { version = "1.0", features = ["parallel"] }
|
|||||||
which = "6.0"
|
which = "6.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/", features = ["std", "derive", "rand_trait", "fork", "prelude", "gzip", "regex", "scalability_introspection"] }
|
libafl = { path = "../../../libafl/", features = [
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/", features = ["errors_backtrace"] }
|
"std",
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
|
"derive",
|
||||||
|
"rand_trait",
|
||||||
|
"fork",
|
||||||
|
"prelude",
|
||||||
|
"gzip",
|
||||||
|
"regex",
|
||||||
|
"scalability_introspection",
|
||||||
|
] }
|
||||||
|
libafl_bolts = { path = "../../../libafl_bolts/", features = [
|
||||||
|
"errors_backtrace",
|
||||||
|
] }
|
||||||
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"libfuzzer",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
clap = { version = "4.5", features = ["derive"] }
|
clap = { version = "4.5", features = ["derive"] }
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'fuzzer_libpng_launcher'
|
FUZZER_NAME = 'fuzzer_libpng_launcher'
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||||
@ -72,7 +76,16 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_unix]
|
[tasks.fuzzer_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/harness.cc",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
]
|
||||||
dependencies = ["lib", "cxx", "cc"]
|
dependencies = ["lib", "cxx", "cc"]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_libpng_cmin"
|
name = "libfuzzer_libpng_cmin"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "Addison Crump <research@addisoncrump.info>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
"Addison Crump <research@addisoncrump.info>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -25,7 +29,11 @@ env_logger = "0.10"
|
|||||||
libafl = { path = "../../../libafl/", features = ["default", "cmin"] }
|
libafl = { path = "../../../libafl/", features = ["default", "cmin"] }
|
||||||
# libafl = { path = "../../../libafl/", features = ["default"] }
|
# libafl = { path = "../../../libafl/", features = ["default"] }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer", "sancov_cmplog"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"libfuzzer",
|
||||||
|
"sancov_cmplog",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
mimalloc = { version = "*", default-features = false }
|
mimalloc = { version = "*", default-features = false }
|
||||||
|
@ -2,9 +2,13 @@
|
|||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'fuzzer_libpng'
|
FUZZER_NAME = 'fuzzer_libpng'
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||||
@ -104,7 +108,17 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_unix]
|
[tasks.fuzzer_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz", "-lz3"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/harness.cc",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
"-lz3",
|
||||||
|
]
|
||||||
dependencies = ["lib", "cxx", "cc"]
|
dependencies = ["lib", "cxx", "cc"]
|
||||||
|
|
||||||
# Crashing Harness
|
# Crashing Harness
|
||||||
@ -115,7 +129,17 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_crash_unix]
|
[tasks.fuzzer_crash_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}_crash", "-lm", "-lz", "-lz3"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/harness.cc",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}_crash",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
"-lz3",
|
||||||
|
]
|
||||||
dependencies = ["crash_lib", "crash_cxx", "crash_cc"]
|
dependencies = ["crash_lib", "crash_cxx", "crash_cc"]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
@ -150,7 +174,6 @@ sleep 0.2
|
|||||||
dependencies = ["fuzzer_crash"]
|
dependencies = ["fuzzer_crash"]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Test
|
# Test
|
||||||
[tasks.test]
|
[tasks.test]
|
||||||
linux_alias = "test_unix"
|
linux_alias = "test_unix"
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_libpng_launcher"
|
name = "libfuzzer_libpng_launcher"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -19,9 +22,17 @@ cc = { version = "1.0", features = ["parallel"] }
|
|||||||
which = "6.0"
|
which = "6.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/", features = ["std", "derive", "llmp_compression", "introspection"] }
|
libafl = { path = "../../../libafl/", features = [
|
||||||
|
"std",
|
||||||
|
"derive",
|
||||||
|
"llmp_compression",
|
||||||
|
"introspection",
|
||||||
|
] }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"libfuzzer",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
clap = { version = "4.5", features = ["derive"] }
|
clap = { version = "4.5", features = ["derive"] }
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'fuzzer_libpng_launcher'
|
FUZZER_NAME = 'fuzzer_libpng_launcher'
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||||
LIBAFL_LIBTOOL = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_libtool'
|
LIBAFL_LIBTOOL = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_libtool'
|
||||||
@ -73,7 +77,16 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_unix]
|
[tasks.fuzzer_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/harness.cc",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
]
|
||||||
dependencies = ["lib", "cxx", "cc"]
|
dependencies = ["lib", "cxx", "cc"]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_libpng_launcher_norestart"
|
name = "libfuzzer_libpng_launcher_norestart"
|
||||||
version = "0.9.0"
|
version = "0.9.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -21,8 +24,13 @@ which = "6.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
env_logger = "0.10"
|
env_logger = "0.10"
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/", features = ["errors_backtrace"] }
|
libafl_bolts = { path = "../../../libafl_bolts/", features = [
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
|
"errors_backtrace",
|
||||||
|
] }
|
||||||
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"libfuzzer",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
clap = { version = "4.5", features = ["derive"] }
|
clap = { version = "4.5", features = ["derive"] }
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'fuzzer_libpng_launcher'
|
FUZZER_NAME = 'fuzzer_libpng_launcher'
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||||
@ -62,7 +66,16 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_unix]
|
[tasks.fuzzer_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/harness.cc",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
]
|
||||||
dependencies = ["lib", "cc"]
|
dependencies = ["lib", "cc"]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_libpng_tcp_manager"
|
name = "libfuzzer_libpng_tcp_manager"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -24,7 +27,11 @@ which = "6.0"
|
|||||||
libafl = { path = "../../../libafl/", features = ["default", "tcp_manager"] }
|
libafl = { path = "../../../libafl/", features = ["default", "tcp_manager"] }
|
||||||
# libafl = { path = "../../../libafl/", features = ["default"] }
|
# libafl = { path = "../../../libafl/", features = ["default"] }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer", "sancov_cmplog"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"libfuzzer",
|
||||||
|
"sancov_cmplog",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
mimalloc = { version = "*", default-features = false }
|
mimalloc = { version = "*", default-features = false }
|
||||||
|
@ -2,9 +2,13 @@
|
|||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'fuzzer_libpng'
|
FUZZER_NAME = 'fuzzer_libpng'
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||||
@ -104,7 +108,16 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_unix]
|
[tasks.fuzzer_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/harness.cc",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
]
|
||||||
dependencies = ["lib", "cxx", "cc"]
|
dependencies = ["lib", "cxx", "cc"]
|
||||||
|
|
||||||
# Crashing Harness
|
# Crashing Harness
|
||||||
@ -115,7 +128,16 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_crash_unix]
|
[tasks.fuzzer_crash_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}_crash", "-lm", "-lz"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/harness.cc",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}_crash",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
]
|
||||||
dependencies = ["crash_lib", "crash_cxx", "crash_cc"]
|
dependencies = ["crash_lib", "crash_cxx", "crash_cc"]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
@ -150,7 +172,6 @@ sleep 0.2
|
|||||||
dependencies = ["fuzzer_crash"]
|
dependencies = ["fuzzer_crash"]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Test
|
# Test
|
||||||
[tasks.test]
|
[tasks.test]
|
||||||
linux_alias = "test_unix"
|
linux_alias = "test_unix"
|
||||||
|
@ -3,10 +3,19 @@ name = "cargo_fuzz_test"
|
|||||||
edition = "2021"
|
edition = "2021"
|
||||||
version = "0.0.0"
|
version = "0.0.0"
|
||||||
description = "test"
|
description = "test"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||||
keywords = ["fuzzing", "testing", "compiler"]
|
keywords = ["fuzzing", "testing", "compiler"]
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "dynamic_analysis"
|
name = "dynamic_analysis"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -29,7 +32,12 @@ env_logger = "0.11"
|
|||||||
once_cell = "1.19"
|
once_cell = "1.19"
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "sancov_cmplog", "libfuzzer", "function-logging"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"sancov_cmplog",
|
||||||
|
"libfuzzer",
|
||||||
|
"function-logging",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
clap = { version = "4.5", features = ["default"] }
|
clap = { version = "4.5", features = ["default"] }
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
[env]
|
[env]
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
FUZZER_NAME = "fuzzer"
|
FUZZER_NAME = "fuzzer"
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
@ -38,7 +42,16 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzz_o_unix]
|
[tasks.fuzz_o_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["--libafl-no-link", "-O3","-I", "./Little-CMS/include", "-c", "cms_transform_fuzzer.cc", "-o", "cms_transform_fuzzer.o"]
|
args = [
|
||||||
|
"--libafl-no-link",
|
||||||
|
"-O3",
|
||||||
|
"-I",
|
||||||
|
"./Little-CMS/include",
|
||||||
|
"-c",
|
||||||
|
"cms_transform_fuzzer.cc",
|
||||||
|
"-o",
|
||||||
|
"cms_transform_fuzzer.o",
|
||||||
|
]
|
||||||
dependencies = ["cc", "cxx"]
|
dependencies = ["cc", "cxx"]
|
||||||
|
|
||||||
# Fuzzer
|
# Fuzzer
|
||||||
@ -49,7 +62,15 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_unix]
|
[tasks.fuzzer_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["--libafl", "cms_transform_fuzzer.o", "./Little-CMS/src/.libs/liblcms2.a", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
|
args = [
|
||||||
|
"--libafl",
|
||||||
|
"cms_transform_fuzzer.o",
|
||||||
|
"./Little-CMS/src/.libs/liblcms2.a",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
]
|
||||||
dependencies = ["cc", "cxx", "fuzz_o"]
|
dependencies = ["cc", "cxx", "fuzz_o"]
|
||||||
|
|
||||||
# Run
|
# Run
|
||||||
|
@ -6,8 +6,17 @@ edition = "2021"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
clap = { version = "4.5", features = ["derive", "env"] }
|
clap = { version = "4.5", features = ["derive", "env"] }
|
||||||
env_logger = "0.11.3"
|
env_logger = "0.11.3"
|
||||||
libafl = { path = "../../../libafl", features = ["std", "derive", "track_hit_feedbacks", "clap", "errors_backtrace"]}
|
libafl = { path = "../../../libafl", features = [
|
||||||
libafl_bolts = { path = "../../../libafl_bolts", features = ["std", "errors_backtrace"]}
|
"std",
|
||||||
|
"derive",
|
||||||
|
"track_hit_feedbacks",
|
||||||
|
"clap",
|
||||||
|
"errors_backtrace",
|
||||||
|
] }
|
||||||
|
libafl_bolts = { path = "../../../libafl_bolts", features = [
|
||||||
|
"std",
|
||||||
|
"errors_backtrace",
|
||||||
|
] }
|
||||||
libafl_targets = { path = "../../../libafl_targets" }
|
libafl_targets = { path = "../../../libafl_targets" }
|
||||||
memmap2 = "0.9.4"
|
memmap2 = "0.9.4"
|
||||||
nix = { version = "0.29", features = ["fs"] }
|
nix = { version = "0.29", features = ["fs"] }
|
||||||
|
@ -1,11 +1,17 @@
|
|||||||
[env]
|
[env]
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
FUZZER_NAME = 'libafl-fuzz'
|
FUZZER_NAME = 'libafl-fuzz'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||||
LLVM_CONFIG = {value = "llvm-config-18", condition = {env_not_set = ["LLVM_CONFIG"] }}
|
LLVM_CONFIG = { value = "llvm-config-18", condition = { env_not_set = [
|
||||||
|
"LLVM_CONFIG",
|
||||||
|
] } }
|
||||||
AFL_VERSION = "db23931e7c1727ddac8691a6241c97b2203ec6fc"
|
AFL_VERSION = "db23931e7c1727ddac8691a6241c97b2203ec6fc"
|
||||||
AFL_DIR_NAME= {value = "./AFLplusplus-${AFL_VERSION}"}
|
AFL_DIR_NAME= {value = "./AFLplusplus-${AFL_VERSION}"}
|
||||||
AFL_CC_PATH= {value = "${AFL_DIR_NAME}/afl-clang-fast"}
|
AFL_CC_PATH= {value = "${AFL_DIR_NAME}/afl-clang-fast"}
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libafl_atheris"
|
name = "libafl_atheris"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -21,7 +24,12 @@ which = "6.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["pointer_maps", "sancov_cmplog", "libfuzzer", "sancov_8bit"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"pointer_maps",
|
||||||
|
"sancov_cmplog",
|
||||||
|
"libfuzzer",
|
||||||
|
"sancov_8bit",
|
||||||
|
] }
|
||||||
clap = { version = "4.5", features = ["default"] }
|
clap = { version = "4.5", features = ["default"] }
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_libmozjpeg"
|
name = "libfuzzer_libmozjpeg"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -17,7 +20,11 @@ debug = true
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_edges", "sancov_value_profile", "libfuzzer"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_edges",
|
||||||
|
"sancov_value_profile",
|
||||||
|
"libfuzzer",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
mimalloc = { version = "*", default-features = false }
|
mimalloc = { version = "*", default-features = false }
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'fuzzer_mozjpeg'
|
FUZZER_NAME = 'fuzzer_mozjpeg'
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||||
@ -71,7 +75,17 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_unix]
|
[tasks.fuzzer_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/harness.cc", "${PROJECT_DIR}/mozjpeg-4.0.3/libjpeg.a", "${PROJECT_DIR}/mozjpeg-4.0.3/libturbojpeg.a", "-I", "${PROJECT_DIR}/mozjpeg-4.0.3/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/harness.cc",
|
||||||
|
"${PROJECT_DIR}/mozjpeg-4.0.3/libjpeg.a",
|
||||||
|
"${PROJECT_DIR}/mozjpeg-4.0.3/libturbojpeg.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/mozjpeg-4.0.3/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
]
|
||||||
dependencies = ["lib", "cxx", "cc"]
|
dependencies = ["lib", "cxx", "cc"]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
|
@ -16,7 +16,10 @@ debug = true
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["libfuzzer", "sancov_pcguard_edges"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"libfuzzer",
|
||||||
|
"sancov_pcguard_edges",
|
||||||
|
] }
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'libfuzzer_windows_asan'
|
FUZZER_NAME = 'libfuzzer_windows_asan'
|
||||||
CARGO_TARGET_DIR = { value = "./target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "./target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "nautilus_sync"
|
name = "nautilus_sync"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -22,7 +25,10 @@ debug = true
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/", features = ["default", "nautilus"] }
|
libafl = { path = "../../../libafl/", features = ["default", "nautilus"] }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"libfuzzer",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
clap = { version = "4.5", features = ["derive"] }
|
clap = { version = "4.5", features = ["derive"] }
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'fuzzer_libpng_nautilus'
|
FUZZER_NAME = 'fuzzer_libpng_nautilus'
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||||
@ -73,7 +77,16 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_unix]
|
[tasks.fuzzer_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx"
|
||||||
args = ["${PROJECT_DIR}/../../libpng/libfuzzer_libpng/harness.cc", "${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a", "-I", "${PROJECT_DIR}/libpng-1.6.37/", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
|
args = [
|
||||||
|
"${PROJECT_DIR}/../../libpng/libfuzzer_libpng/harness.cc",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/.libs/libpng16.a",
|
||||||
|
"-I",
|
||||||
|
"${PROJECT_DIR}/libpng-1.6.37/",
|
||||||
|
"-o",
|
||||||
|
"${FUZZER_NAME}",
|
||||||
|
"-lm",
|
||||||
|
"-lz",
|
||||||
|
]
|
||||||
dependencies = ["lib", "cxx", "cc"]
|
dependencies = ["lib", "cxx", "cc"]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "push_harness"
|
name = "push_harness"
|
||||||
version = "0.10.0"
|
version = "0.10.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "push_stage_harness"
|
name = "push_stage_harness"
|
||||||
version = "0.10.0"
|
version = "0.10.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_libpng_launcher_centralized_multi_machine"
|
name = "libfuzzer_libpng_launcher_centralized_multi_machine"
|
||||||
version = "0.12.0"
|
version = "0.12.0"
|
||||||
authors = ["Romain Malmain <romain.malmain@pm.me>", "Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Romain Malmain <romain.malmain@pm.me>",
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -20,9 +24,34 @@ which = "6.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
# no llmp compression for now, better perfs.
|
# no llmp compression for now, better perfs.
|
||||||
libafl = { path = "../../../libafl", default-features = false, features = ["std", "derive", "llmp_small_maps", "llmp_broker_timeouts", "rand_trait", "fork", "prelude", "gzip", "regex", "serdeany_autoreg", "tui_monitor", "std", "derive", "rand_trait", "fork", "prelude", "gzip", "regex", "scalability_introspection", "multi_machine", "errors_backtrace"] }
|
libafl = { path = "../../../libafl", default-features = false, features = [
|
||||||
|
"std",
|
||||||
|
"derive",
|
||||||
|
"llmp_small_maps",
|
||||||
|
"llmp_broker_timeouts",
|
||||||
|
"rand_trait",
|
||||||
|
"fork",
|
||||||
|
"prelude",
|
||||||
|
"gzip",
|
||||||
|
"regex",
|
||||||
|
"serdeany_autoreg",
|
||||||
|
"tui_monitor",
|
||||||
|
"std",
|
||||||
|
"derive",
|
||||||
|
"rand_trait",
|
||||||
|
"fork",
|
||||||
|
"prelude",
|
||||||
|
"gzip",
|
||||||
|
"regex",
|
||||||
|
"scalability_introspection",
|
||||||
|
"multi_machine",
|
||||||
|
"errors_backtrace",
|
||||||
|
] }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts", features = ["xxh3"] }
|
libafl_bolts = { path = "../../../libafl_bolts", features = ["xxh3"] }
|
||||||
libafl_targets = { path = "../../../libafl_targets", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
|
libafl_targets = { path = "../../../libafl_targets", features = [
|
||||||
|
"sancov_pcguard_hitcounts",
|
||||||
|
"libfuzzer",
|
||||||
|
] }
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc" }
|
libafl_cc = { path = "../../../libafl_cc" }
|
||||||
clap = { version = "4.5", features = ["derive"] }
|
clap = { version = "4.5", features = ["derive"] }
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
[env]
|
[env]
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = { value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
|
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "tutorial"
|
name = "tutorial"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -21,9 +24,17 @@ which = "6.0"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/", features = ["default", "rand_trait"] }
|
libafl = { path = "../../../libafl/", features = ["default", "rand_trait"] }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer", "sancov_cmplog"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
serde = { version = "1.0", default-features = false, features = ["alloc"] } # serialization lib
|
"sancov_pcguard_hitcounts",
|
||||||
lain = { version = "0.5", features = ["serde_support"], git = "https://github.com/AFLplusplus/lain.git", rev = "208e927bcf411f62f8a1f51ac2d9f9423a1ec5d3" } # We're using a lain fork compatible with libafl's rand version
|
"libfuzzer",
|
||||||
|
"sancov_cmplog",
|
||||||
|
] }
|
||||||
|
serde = { version = "1.0", default-features = false, features = [
|
||||||
|
"alloc",
|
||||||
|
] } # serialization lib
|
||||||
|
lain = { version = "0.5", features = [
|
||||||
|
"serde_support",
|
||||||
|
], git = "https://github.com/AFLplusplus/lain.git", rev = "208e927bcf411f62f8a1f51ac2d9f9423a1ec5d3" } # We're using a lain fork compatible with libafl's rand version
|
||||||
# TODO Include it only when building cc
|
# TODO Include it only when building cc
|
||||||
libafl_cc = { path = "../../../libafl_cc/" }
|
libafl_cc = { path = "../../../libafl_cc/" }
|
||||||
|
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "qemu_cmin"
|
name = "qemu_cmin"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "WorksButNotTested"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
"WorksButNotTested",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
@ -22,7 +26,14 @@ mips = ["libafl_qemu/mips"]
|
|||||||
ppc = ["libafl_qemu/ppc", "be"]
|
ppc = ["libafl_qemu/ppc", "be"]
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
vergen = { version = "8.2.1", features = ["build", "cargo", "git", "gitcl", "rustc", "si"] }
|
vergen = { version = "8.2.1", features = [
|
||||||
|
"build",
|
||||||
|
"cargo",
|
||||||
|
"git",
|
||||||
|
"gitcl",
|
||||||
|
"rustc",
|
||||||
|
"si",
|
||||||
|
] }
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = { version = "4.5", features = ["derive", "string"] }
|
clap = { version = "4.5", features = ["derive", "string"] }
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
[env]
|
[env]
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
CROSS_CC = "x86_64-linux-gnu-gcc"
|
CROSS_CC = "x86_64-linux-gnu-gcc"
|
||||||
CROSS_CXX = "x86_64-linux-gnu-g++"
|
CROSS_CXX = "x86_64-linux-gnu-g++"
|
||||||
CROSS_CFLAGS = ""
|
CROSS_CFLAGS = ""
|
||||||
@ -109,7 +111,9 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.zlib_unix_wget]
|
[tasks.zlib_unix_wget]
|
||||||
dependencies = ["deps_dir"]
|
dependencies = ["deps_dir"]
|
||||||
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13" ] }
|
condition = { files_not_exist = [
|
||||||
|
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13",
|
||||||
|
] }
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
# NOTE: There's no specific reason we're using an old version of zlib,
|
# NOTE: There's no specific reason we're using an old version of zlib,
|
||||||
# but newer versions get moved to fossils/ after a while.
|
# but newer versions get moved to fossils/ after a while.
|
||||||
@ -148,7 +152,9 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.libpng_unix_wget]
|
[tasks.libpng_unix_wget]
|
||||||
dependencies = ["deps_dir"]
|
dependencies = ["deps_dir"]
|
||||||
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37" ] }
|
condition = { files_not_exist = [
|
||||||
|
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37",
|
||||||
|
] }
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
script = '''
|
script = '''
|
||||||
wget \
|
wget \
|
||||||
@ -193,8 +199,10 @@ args = [
|
|||||||
"build",
|
"build",
|
||||||
"--profile",
|
"--profile",
|
||||||
"${PROFILE}",
|
"${PROFILE}",
|
||||||
"--features", "${FEATURE}",
|
"--features",
|
||||||
"--target-dir", "${TARGET_DIR}"
|
"${FEATURE}",
|
||||||
|
"--target-dir",
|
||||||
|
"${TARGET_DIR}",
|
||||||
]
|
]
|
||||||
|
|
||||||
[tasks.fuzzer]
|
[tasks.fuzzer]
|
||||||
@ -235,8 +243,10 @@ windows_alias = "unsupported"
|
|||||||
[tasks.run_unix]
|
[tasks.run_unix]
|
||||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_cmin-${CARGO_MAKE_PROFILE}"
|
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_cmin-${CARGO_MAKE_PROFILE}"
|
||||||
args = [
|
args = [
|
||||||
"--output", "./output",
|
"--output",
|
||||||
"--input", "./corpus",
|
"./output",
|
||||||
|
"--input",
|
||||||
|
"./corpus",
|
||||||
"--verbose",
|
"--verbose",
|
||||||
"--",
|
"--",
|
||||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||||
@ -252,10 +262,7 @@ windows_alias = "unsupported"
|
|||||||
dependencies = ["lightweight"]
|
dependencies = ["lightweight"]
|
||||||
# Tidy up after we've run our tests so we don't hog all the disk space
|
# Tidy up after we've run our tests so we don't hog all the disk space
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "clean"]
|
||||||
"make",
|
|
||||||
"clean",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.test_full]
|
[tasks.test_full]
|
||||||
linux_alias = "test_unix_full"
|
linux_alias = "test_unix_full"
|
||||||
@ -266,10 +273,7 @@ windows_alias = "unsupported"
|
|||||||
dependencies = ["all"]
|
dependencies = ["all"]
|
||||||
# Tidy up after we've run our tests so we don't hog all the disk space
|
# Tidy up after we've run our tests so we don't hog all the disk space
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "clean"]
|
||||||
"make",
|
|
||||||
"clean",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.clean]
|
[tasks.clean]
|
||||||
linux_alias = "clean_unix"
|
linux_alias = "clean_unix"
|
||||||
@ -287,64 +291,30 @@ cargo clean
|
|||||||
|
|
||||||
[tasks.arm]
|
[tasks.arm]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "arm", "run"]
|
||||||
"make",
|
|
||||||
"-p", "arm",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.aarch64]
|
[tasks.aarch64]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "aarch64", "run"]
|
||||||
"make",
|
|
||||||
"-p", "aarch64",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.x86_64]
|
[tasks.x86_64]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "x86_64", "run"]
|
||||||
"make",
|
|
||||||
"-p", "x86_64",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.i386]
|
[tasks.i386]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "i386", "run"]
|
||||||
"make",
|
|
||||||
"-p", "i386",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.mips]
|
[tasks.mips]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "mips", "run"]
|
||||||
"make",
|
|
||||||
"-p", "mips",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.ppc]
|
[tasks.ppc]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "ppc", "run"]
|
||||||
"make",
|
|
||||||
"-p", "ppc",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.all]
|
[tasks.all]
|
||||||
dependencies = [
|
dependencies = ["arm", "aarch64", "x86_64", "i386", "mips", "ppc"]
|
||||||
"arm",
|
|
||||||
"aarch64",
|
|
||||||
"x86_64",
|
|
||||||
"i386",
|
|
||||||
"mips",
|
|
||||||
"ppc"
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.lightweight]
|
[tasks.lightweight]
|
||||||
dependencies = [
|
dependencies = ["arm", "x86_64"]
|
||||||
"arm",
|
|
||||||
"x86_64",
|
|
||||||
]
|
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "qemu_coverage"
|
name = "qemu_coverage"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "WorksButNotTested"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
"WorksButNotTested",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
@ -22,7 +26,14 @@ mips = ["libafl_qemu/mips"]
|
|||||||
ppc = ["libafl_qemu/ppc", "be"]
|
ppc = ["libafl_qemu/ppc", "be"]
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
vergen = { version = "8.2.1", features = ["build", "cargo", "git", "gitcl", "rustc", "si"] }
|
vergen = { version = "8.2.1", features = [
|
||||||
|
"build",
|
||||||
|
"cargo",
|
||||||
|
"git",
|
||||||
|
"gitcl",
|
||||||
|
"rustc",
|
||||||
|
"si",
|
||||||
|
] }
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = { version = "4.5", features = ["derive", "string"] }
|
clap = { version = "4.5", features = ["derive", "string"] }
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
[env]
|
[env]
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
CROSS_CC = "x86_64-linux-gnu-gcc"
|
CROSS_CC = "x86_64-linux-gnu-gcc"
|
||||||
CROSS_CXX = "x86_64-linux-gnu-g++"
|
CROSS_CXX = "x86_64-linux-gnu-g++"
|
||||||
CROSS_CFLAGS = ""
|
CROSS_CFLAGS = ""
|
||||||
@ -109,7 +111,9 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.zlib_unix_wget]
|
[tasks.zlib_unix_wget]
|
||||||
dependencies = ["deps_dir"]
|
dependencies = ["deps_dir"]
|
||||||
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13" ] }
|
condition = { files_not_exist = [
|
||||||
|
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13",
|
||||||
|
] }
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
# NOTE: There's no specific reason we're using an old version of zlib,
|
# NOTE: There's no specific reason we're using an old version of zlib,
|
||||||
# but newer versions get moved to fossils/ after a while.
|
# but newer versions get moved to fossils/ after a while.
|
||||||
@ -148,7 +152,9 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.libpng_unix_wget]
|
[tasks.libpng_unix_wget]
|
||||||
dependencies = ["deps_dir"]
|
dependencies = ["deps_dir"]
|
||||||
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37" ] }
|
condition = { files_not_exist = [
|
||||||
|
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37",
|
||||||
|
] }
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
script = '''
|
script = '''
|
||||||
wget \
|
wget \
|
||||||
@ -193,8 +199,10 @@ args = [
|
|||||||
"build",
|
"build",
|
||||||
"--profile",
|
"--profile",
|
||||||
"${PROFILE}",
|
"${PROFILE}",
|
||||||
"--features", "${FEATURE}",
|
"--features",
|
||||||
"--target-dir", "${TARGET_DIR}"
|
"${FEATURE}",
|
||||||
|
"--target-dir",
|
||||||
|
"${TARGET_DIR}",
|
||||||
]
|
]
|
||||||
|
|
||||||
[tasks.fuzzer]
|
[tasks.fuzzer]
|
||||||
@ -235,8 +243,10 @@ windows_alias = "unsupported"
|
|||||||
[tasks.run_unix]
|
[tasks.run_unix]
|
||||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_coverage-${CARGO_MAKE_PROFILE}"
|
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_coverage-${CARGO_MAKE_PROFILE}"
|
||||||
args = [
|
args = [
|
||||||
"--coverage-path", "${TARGET_DIR}/drcov.log",
|
"--coverage-path",
|
||||||
"--input-dir", "./corpus",
|
"${TARGET_DIR}/drcov.log",
|
||||||
|
"--input-dir",
|
||||||
|
"./corpus",
|
||||||
"--",
|
"--",
|
||||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||||
]
|
]
|
||||||
@ -251,10 +261,7 @@ windows_alias = "unsupported"
|
|||||||
dependencies = ["lightweight"]
|
dependencies = ["lightweight"]
|
||||||
# Tidy up after we've run our tests so we don't hog all the disk space
|
# Tidy up after we've run our tests so we don't hog all the disk space
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "clean"]
|
||||||
"make",
|
|
||||||
"clean",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.test_full]
|
[tasks.test_full]
|
||||||
linux_alias = "test_unix_full"
|
linux_alias = "test_unix_full"
|
||||||
@ -265,10 +272,7 @@ windows_alias = "unsupported"
|
|||||||
dependencies = ["all"]
|
dependencies = ["all"]
|
||||||
# Tidy up after we've run our tests so we don't hog all the disk space
|
# Tidy up after we've run our tests so we don't hog all the disk space
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "clean"]
|
||||||
"make",
|
|
||||||
"clean",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.clean]
|
[tasks.clean]
|
||||||
linux_alias = "clean_unix"
|
linux_alias = "clean_unix"
|
||||||
@ -286,64 +290,30 @@ cargo clean
|
|||||||
|
|
||||||
[tasks.arm]
|
[tasks.arm]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "arm", "run"]
|
||||||
"make",
|
|
||||||
"-p", "arm",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.aarch64]
|
[tasks.aarch64]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "aarch64", "run"]
|
||||||
"make",
|
|
||||||
"-p", "aarch64",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.x86_64]
|
[tasks.x86_64]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "x86_64", "run"]
|
||||||
"make",
|
|
||||||
"-p", "x86_64",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.i386]
|
[tasks.i386]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "i386", "run"]
|
||||||
"make",
|
|
||||||
"-p", "i386",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.mips]
|
[tasks.mips]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "mips", "run"]
|
||||||
"make",
|
|
||||||
"-p", "mips",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.ppc]
|
[tasks.ppc]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "ppc", "run"]
|
||||||
"make",
|
|
||||||
"-p", "ppc",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.all]
|
[tasks.all]
|
||||||
dependencies = [
|
dependencies = ["arm", "aarch64", "x86_64", "i386", "mips", "ppc"]
|
||||||
"arm",
|
|
||||||
"aarch64",
|
|
||||||
"x86_64",
|
|
||||||
"i386",
|
|
||||||
"mips",
|
|
||||||
"ppc"
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.lightweight]
|
[tasks.lightweight]
|
||||||
dependencies = [
|
dependencies = ["arm", "x86_64"]
|
||||||
"arm",
|
|
||||||
"x86_64",
|
|
||||||
]
|
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "qemu_launcher"
|
name = "qemu_launcher"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
@ -33,12 +36,21 @@ opt-level = 3
|
|||||||
debug = true
|
debug = true
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
vergen = { version = "8.2", features = ["build", "cargo", "git", "gitcl", "rustc", "si"] }
|
vergen = { version = "8.2", features = [
|
||||||
|
"build",
|
||||||
|
"cargo",
|
||||||
|
"git",
|
||||||
|
"gitcl",
|
||||||
|
"rustc",
|
||||||
|
"si",
|
||||||
|
] }
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = { version = "4.3", features = ["derive", "string"] }
|
clap = { version = "4.3", features = ["derive", "string"] }
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/", features = ["errors_backtrace"] }
|
libafl_bolts = { path = "../../../libafl_bolts/", features = [
|
||||||
|
"errors_backtrace",
|
||||||
|
] }
|
||||||
libafl_qemu = { path = "../../../libafl_qemu/", features = ["usermode"] }
|
libafl_qemu = { path = "../../../libafl_qemu/", features = ["usermode"] }
|
||||||
log = { version = "0.4.20" }
|
log = { version = "0.4.20" }
|
||||||
nix = { version = "0.29", features = ["fs"] }
|
nix = { version = "0.29", features = ["fs"] }
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
[env]
|
[env]
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
PROFILE_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||||
|
"PROFILE_DIR",
|
||||||
|
] } }
|
||||||
CROSS_CC = "x86_64-linux-gnu-gcc"
|
CROSS_CC = "x86_64-linux-gnu-gcc"
|
||||||
CROSS_CXX = "x86_64-linux-gnu-g++"
|
CROSS_CXX = "x86_64-linux-gnu-g++"
|
||||||
CROSS_CFLAGS = ""
|
CROSS_CFLAGS = ""
|
||||||
@ -101,7 +103,9 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.zlib_unix_wget]
|
[tasks.zlib_unix_wget]
|
||||||
dependencies = ["deps_dir"]
|
dependencies = ["deps_dir"]
|
||||||
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13" ] }
|
condition = { files_not_exist = [
|
||||||
|
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/zlib-1.2.13",
|
||||||
|
] }
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
# NOTE: There's no specific reason we're using an old version of zlib,
|
# NOTE: There's no specific reason we're using an old version of zlib,
|
||||||
# but newer versions get moved to fossils/ after a while.
|
# but newer versions get moved to fossils/ after a while.
|
||||||
@ -140,7 +144,9 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.libpng_unix_wget]
|
[tasks.libpng_unix_wget]
|
||||||
dependencies = ["deps_dir"]
|
dependencies = ["deps_dir"]
|
||||||
condition = { files_not_exist = [ "${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37" ] }
|
condition = { files_not_exist = [
|
||||||
|
"${CARGO_MAKE_CRATE_TARGET_DIRECTORY}/deps/libpng-1.6.37",
|
||||||
|
] }
|
||||||
script_runner = "@shell"
|
script_runner = "@shell"
|
||||||
script = '''
|
script = '''
|
||||||
wget \
|
wget \
|
||||||
@ -186,8 +192,10 @@ args = [
|
|||||||
"build",
|
"build",
|
||||||
"--profile",
|
"--profile",
|
||||||
"${PROFILE}",
|
"${PROFILE}",
|
||||||
"--features", "${FEATURE}",
|
"--features",
|
||||||
"--target-dir", "${TARGET_DIR}"
|
"${FEATURE}",
|
||||||
|
"--target-dir",
|
||||||
|
"${TARGET_DIR}",
|
||||||
]
|
]
|
||||||
|
|
||||||
[tasks.fuzzer]
|
[tasks.fuzzer]
|
||||||
@ -228,13 +236,20 @@ windows_alias = "unsupported"
|
|||||||
[tasks.debug_unix]
|
[tasks.debug_unix]
|
||||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
||||||
args = [
|
args = [
|
||||||
"--input", "./corpus",
|
"--input",
|
||||||
"--output", "${TARGET_DIR}/output/",
|
"./corpus",
|
||||||
"--log", "${TARGET_DIR}/output/log.txt",
|
"--output",
|
||||||
"--cores", "0-7",
|
"${TARGET_DIR}/output/",
|
||||||
"--asan-cores", "0-3",
|
"--log",
|
||||||
"--cmplog-cores", "2-5",
|
"${TARGET_DIR}/output/log.txt",
|
||||||
"--iterations", "100000",
|
"--cores",
|
||||||
|
"0-7",
|
||||||
|
"--asan-cores",
|
||||||
|
"0-3",
|
||||||
|
"--cmplog-cores",
|
||||||
|
"2-5",
|
||||||
|
"--iterations",
|
||||||
|
"100000",
|
||||||
"--verbose",
|
"--verbose",
|
||||||
"--",
|
"--",
|
||||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||||
@ -249,13 +264,20 @@ windows_alias = "unsupported"
|
|||||||
[tasks.run_unix]
|
[tasks.run_unix]
|
||||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
||||||
args = [
|
args = [
|
||||||
"--input", "./corpus",
|
"--input",
|
||||||
"--output", "${TARGET_DIR}/output/",
|
"./corpus",
|
||||||
"--log", "${TARGET_DIR}/output/log.txt",
|
"--output",
|
||||||
"--cores", "0-7",
|
"${TARGET_DIR}/output/",
|
||||||
"--asan-cores", "0-3",
|
"--log",
|
||||||
"--cmplog-cores", "2-5",
|
"${TARGET_DIR}/output/log.txt",
|
||||||
"--iterations", "1000000",
|
"--cores",
|
||||||
|
"0-7",
|
||||||
|
"--asan-cores",
|
||||||
|
"0-3",
|
||||||
|
"--cmplog-cores",
|
||||||
|
"2-5",
|
||||||
|
"--iterations",
|
||||||
|
"1000000",
|
||||||
"--tui",
|
"--tui",
|
||||||
"--",
|
"--",
|
||||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||||
@ -270,10 +292,14 @@ windows_alias = "unsupported"
|
|||||||
[tasks.single_unix]
|
[tasks.single_unix]
|
||||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
||||||
args = [
|
args = [
|
||||||
"--input", "./corpus",
|
"--input",
|
||||||
"--output", "${TARGET_DIR}/output/",
|
"./corpus",
|
||||||
"--log", "${TARGET_DIR}/output/log.txt",
|
"--output",
|
||||||
"--cores", "0",
|
"${TARGET_DIR}/output/",
|
||||||
|
"--log",
|
||||||
|
"${TARGET_DIR}/output/log.txt",
|
||||||
|
"--cores",
|
||||||
|
"0",
|
||||||
"--",
|
"--",
|
||||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||||
]
|
]
|
||||||
@ -287,11 +313,16 @@ windows_alias = "unsupported"
|
|||||||
[tasks.asan_unix]
|
[tasks.asan_unix]
|
||||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
||||||
args = [
|
args = [
|
||||||
"--input", "./corpus",
|
"--input",
|
||||||
"--output", "${TARGET_DIR}/output/",
|
"./corpus",
|
||||||
"--log", "${TARGET_DIR}/output/log.txt",
|
"--output",
|
||||||
"--cores", "0",
|
"${TARGET_DIR}/output/",
|
||||||
"--asan-cores", "0",
|
"--log",
|
||||||
|
"${TARGET_DIR}/output/log.txt",
|
||||||
|
"--cores",
|
||||||
|
"0",
|
||||||
|
"--asan-cores",
|
||||||
|
"0",
|
||||||
"--",
|
"--",
|
||||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||||
]
|
]
|
||||||
@ -305,11 +336,16 @@ windows_alias = "unsupported"
|
|||||||
[tasks.asan_guest_unix]
|
[tasks.asan_guest_unix]
|
||||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
||||||
args = [
|
args = [
|
||||||
"--input", "./corpus",
|
"--input",
|
||||||
"--output", "${TARGET_DIR}/output/",
|
"./corpus",
|
||||||
"--log", "${TARGET_DIR}/output/log.txt",
|
"--output",
|
||||||
"--cores", "0",
|
"${TARGET_DIR}/output/",
|
||||||
"--asan-guest-cores", "0",
|
"--log",
|
||||||
|
"${TARGET_DIR}/output/log.txt",
|
||||||
|
"--cores",
|
||||||
|
"0",
|
||||||
|
"--asan-guest-cores",
|
||||||
|
"0",
|
||||||
"--",
|
"--",
|
||||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||||
]
|
]
|
||||||
@ -358,58 +394,27 @@ cargo clean
|
|||||||
|
|
||||||
[tasks.arm]
|
[tasks.arm]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "arm", "run"]
|
||||||
"make",
|
|
||||||
"-p", "arm",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.aarch64]
|
[tasks.aarch64]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "aarch64", "run"]
|
||||||
"make",
|
|
||||||
"-p", "aarch64",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.x86_64]
|
[tasks.x86_64]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "x86_64", "run"]
|
||||||
"make",
|
|
||||||
"-p", "x86_64",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.i386]
|
[tasks.i386]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "i386", "run"]
|
||||||
"make",
|
|
||||||
"-p", "i386",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.mips]
|
[tasks.mips]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "mips", "run"]
|
||||||
"make",
|
|
||||||
"-p", "mips",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.ppc]
|
[tasks.ppc]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-p", "ppc", "run"]
|
||||||
"make",
|
|
||||||
"-p", "ppc",
|
|
||||||
"run",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.all]
|
[tasks.all]
|
||||||
dependencies = [
|
dependencies = ["arm", "aarch64", "x86_64", "i386", "mips", "ppc"]
|
||||||
"arm",
|
|
||||||
"aarch64",
|
|
||||||
"x86_64",
|
|
||||||
"i386",
|
|
||||||
"mips",
|
|
||||||
"ppc"
|
|
||||||
]
|
|
||||||
|
@ -33,12 +33,7 @@ mysql_send_query = {param = 1}
|
|||||||
# We do not need this as we watch the SYS_execve syscall, this is just an
|
# We do not need this as we watch the SYS_execve syscall, this is just an
|
||||||
# example.
|
# example.
|
||||||
[cmd]
|
[cmd]
|
||||||
tokens = [
|
tokens = ["'\"FUZZ\"'", "\";FUZZ;\"", "';FUZZ;'", "$(FUZZ)"]
|
||||||
"'\"FUZZ\"'",
|
|
||||||
"\";FUZZ;\"",
|
|
||||||
"';FUZZ;'",
|
|
||||||
"$(FUZZ)",
|
|
||||||
]
|
|
||||||
matches = ["'\"FUZZ\"'"]
|
matches = ["'\"FUZZ\"'"]
|
||||||
|
|
||||||
[cmd.functions]
|
[cmd.functions]
|
||||||
|
@ -1,14 +1,18 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "qemu_systemmode"
|
name = "qemu_systemmode"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["std", "classic"]
|
default = ["std", "classic"]
|
||||||
std = []
|
std = []
|
||||||
|
|
||||||
classic = [] # The classic way to interact with LibAFL QEMU, with direct calls to QEMU's functions
|
classic = [
|
||||||
|
] # The classic way to interact with LibAFL QEMU, with direct calls to QEMU's functions
|
||||||
breakpoint = [] # Uses the command system, with breakpoints
|
breakpoint = [] # Uses the command system, with breakpoints
|
||||||
sync_exit = [] # Uses the command system, with sync exit.
|
sync_exit = [] # Uses the command system, with sync exit.
|
||||||
|
|
||||||
@ -23,8 +27,14 @@ codegen-units = 1
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_qemu = { path = "../../../libafl_qemu/", features = ["arm", "systemmode"] }
|
libafl_qemu = { path = "../../../libafl_qemu/", features = [
|
||||||
libafl_qemu_sys = { path = "../../../libafl_qemu/libafl_qemu_sys", features = ["arm", "systemmode"] }
|
"arm",
|
||||||
|
"systemmode",
|
||||||
|
] }
|
||||||
|
libafl_qemu_sys = { path = "../../../libafl_qemu/libafl_qemu_sys", features = [
|
||||||
|
"arm",
|
||||||
|
"systemmode",
|
||||||
|
] }
|
||||||
env_logger = "*"
|
env_logger = "*"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
env_scripts = [
|
env_scripts = ['''
|
||||||
'''
|
|
||||||
#!@duckscript
|
#!@duckscript
|
||||||
profile = get_env PROFILE
|
profile = get_env PROFILE
|
||||||
|
|
||||||
@ -8,8 +7,7 @@ if eq ${profile} "dev"
|
|||||||
else
|
else
|
||||||
set_env PROFILE_DIR ${profile}
|
set_env PROFILE_DIR ${profile}
|
||||||
end
|
end
|
||||||
''',
|
''', '''
|
||||||
'''
|
|
||||||
#!@duckscript
|
#!@duckscript
|
||||||
runs_on_ci = get_env RUN_ON_CI
|
runs_on_ci = get_env RUN_ON_CI
|
||||||
|
|
||||||
@ -18,8 +16,7 @@ if ${runs_on_ci}
|
|||||||
set_env TARGET_DIR ${cargo_target_dir}
|
set_env TARGET_DIR ${cargo_target_dir}
|
||||||
set_env KERNEL ${cargo_target_dir}/example.elf
|
set_env KERNEL ${cargo_target_dir}/example.elf
|
||||||
end
|
end
|
||||||
'''
|
''']
|
||||||
]
|
|
||||||
|
|
||||||
[env]
|
[env]
|
||||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||||
@ -51,13 +48,17 @@ args = [
|
|||||||
"-ffreestanding",
|
"-ffreestanding",
|
||||||
"-nostartfiles",
|
"-nostartfiles",
|
||||||
"-lgcc",
|
"-lgcc",
|
||||||
"-T", "${CARGO_MAKE_WORKING_DIRECTORY}/example/mps2_m3.ld",
|
"-T",
|
||||||
|
"${CARGO_MAKE_WORKING_DIRECTORY}/example/mps2_m3.ld",
|
||||||
"-mcpu=cortex-m3",
|
"-mcpu=cortex-m3",
|
||||||
"${CARGO_MAKE_WORKING_DIRECTORY}/example/main.c",
|
"${CARGO_MAKE_WORKING_DIRECTORY}/example/main.c",
|
||||||
"${CARGO_MAKE_WORKING_DIRECTORY}/example/startup.c",
|
"${CARGO_MAKE_WORKING_DIRECTORY}/example/startup.c",
|
||||||
"-D", "${TARGET_DEFINE}",
|
"-D",
|
||||||
"-I", "${TARGET_DIR}/${PROFILE_DIR}/include",
|
"${TARGET_DEFINE}",
|
||||||
"-o", "${TARGET_DIR}/example.elf",
|
"-I",
|
||||||
|
"${TARGET_DIR}/${PROFILE_DIR}/include",
|
||||||
|
"-o",
|
||||||
|
"${TARGET_DIR}/example.elf",
|
||||||
]
|
]
|
||||||
|
|
||||||
[tasks.build_fuzzer]
|
[tasks.build_fuzzer]
|
||||||
@ -68,22 +69,30 @@ args = [
|
|||||||
"--profile",
|
"--profile",
|
||||||
"${PROFILE}",
|
"${PROFILE}",
|
||||||
"--no-default-features",
|
"--no-default-features",
|
||||||
"--features", "std,${FEATURE}",
|
"--features",
|
||||||
"--target-dir", "${TARGET_DIR}",
|
"std,${FEATURE}",
|
||||||
|
"--target-dir",
|
||||||
|
"${TARGET_DIR}",
|
||||||
]
|
]
|
||||||
dependencies = ["image"]
|
dependencies = ["image"]
|
||||||
|
|
||||||
[tasks.run_fuzzer]
|
[tasks.run_fuzzer]
|
||||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_systemmode"
|
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_systemmode"
|
||||||
args = [
|
args = [
|
||||||
"-icount", "shift=auto,align=off,sleep=off",
|
"-icount",
|
||||||
"-machine", "mps2-an385",
|
"shift=auto,align=off,sleep=off",
|
||||||
"-monitor", "null",
|
"-machine",
|
||||||
"-kernel", "${TARGET_DIR}/example.elf",
|
"mps2-an385",
|
||||||
"-serial", "null",
|
"-monitor",
|
||||||
|
"null",
|
||||||
|
"-kernel",
|
||||||
|
"${TARGET_DIR}/example.elf",
|
||||||
|
"-serial",
|
||||||
|
"null",
|
||||||
"-nographic",
|
"-nographic",
|
||||||
"-snapshot",
|
"-snapshot",
|
||||||
"-drive", "if=none,format=qcow2,file=${TARGET_DIR}/dummy.qcow2",
|
"-drive",
|
||||||
|
"if=none,format=qcow2,file=${TARGET_DIR}/dummy.qcow2",
|
||||||
"-S",
|
"-S",
|
||||||
]
|
]
|
||||||
dependencies = ["target"]
|
dependencies = ["target"]
|
||||||
@ -109,59 +118,55 @@ fi
|
|||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = [
|
||||||
"make",
|
"make",
|
||||||
"-e", "FEATURE=classic",
|
"-e",
|
||||||
"-e", "TARGET_DEFINE=TARGET_CLASSIC",
|
"FEATURE=classic",
|
||||||
|
"-e",
|
||||||
|
"TARGET_DEFINE=TARGET_CLASSIC",
|
||||||
"build_fuzzer",
|
"build_fuzzer",
|
||||||
]
|
]
|
||||||
|
|
||||||
[tasks.test_classic]
|
[tasks.test_classic]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-e", "FEATURE=classic", "test_fuzzer"]
|
||||||
"make",
|
|
||||||
"-e", "FEATURE=classic",
|
|
||||||
"test_fuzzer",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.build_breakpoint]
|
[tasks.build_breakpoint]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = [
|
||||||
"make",
|
"make",
|
||||||
"-e", "FEATURE=breakpoint",
|
"-e",
|
||||||
"-e", "TARGET_DEFINE=TARGET_BREAKPOINT",
|
"FEATURE=breakpoint",
|
||||||
|
"-e",
|
||||||
|
"TARGET_DEFINE=TARGET_BREAKPOINT",
|
||||||
"build_fuzzer",
|
"build_fuzzer",
|
||||||
]
|
]
|
||||||
|
|
||||||
[tasks.test_breakpoint]
|
[tasks.test_breakpoint]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-e", "FEATURE=breakpoint", "test_fuzzer"]
|
||||||
"make",
|
|
||||||
"-e", "FEATURE=breakpoint",
|
|
||||||
"test_fuzzer",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.build_sync_exit]
|
[tasks.build_sync_exit]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = [
|
||||||
"make",
|
"make",
|
||||||
"-e", "FEATURE=sync_exit",
|
"-e",
|
||||||
"-e", "TARGET_DEFINE=TARGET_SYNC_EXIT",
|
"FEATURE=sync_exit",
|
||||||
|
"-e",
|
||||||
|
"TARGET_DEFINE=TARGET_SYNC_EXIT",
|
||||||
"build_fuzzer",
|
"build_fuzzer",
|
||||||
]
|
]
|
||||||
|
|
||||||
[tasks.test_sync_exit]
|
[tasks.test_sync_exit]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = ["make", "-e", "FEATURE=sync_exit", "test_fuzzer"]
|
||||||
"make",
|
|
||||||
"-e", "FEATURE=sync_exit",
|
|
||||||
"test_fuzzer",
|
|
||||||
]
|
|
||||||
|
|
||||||
[tasks.classic]
|
[tasks.classic]
|
||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = [
|
||||||
"make",
|
"make",
|
||||||
"-e", "FEATURE=classic",
|
"-e",
|
||||||
"-e", "TARGET_DEFINE=TARGET_CLASSIC",
|
"FEATURE=classic",
|
||||||
|
"-e",
|
||||||
|
"TARGET_DEFINE=TARGET_CLASSIC",
|
||||||
"run_fuzzer",
|
"run_fuzzer",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -169,8 +174,10 @@ args = [
|
|||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = [
|
||||||
"make",
|
"make",
|
||||||
"-e", "FEATURE=breakpoint",
|
"-e",
|
||||||
"-e", "TARGET_DEFINE=TARGET_BREAKPOINT",
|
"FEATURE=breakpoint",
|
||||||
|
"-e",
|
||||||
|
"TARGET_DEFINE=TARGET_BREAKPOINT",
|
||||||
"run_fuzzer",
|
"run_fuzzer",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -178,8 +185,10 @@ args = [
|
|||||||
command = "cargo"
|
command = "cargo"
|
||||||
args = [
|
args = [
|
||||||
"make",
|
"make",
|
||||||
"-e", "FEATURE=sync_exit",
|
"-e",
|
||||||
"-e", "TARGET_DEFINE=TARGET_SYNC_EXIT",
|
"FEATURE=sync_exit",
|
||||||
|
"-e",
|
||||||
|
"TARGET_DEFINE=TARGET_SYNC_EXIT",
|
||||||
"run_fuzzer",
|
"run_fuzzer",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_stb_image"
|
name = "libfuzzer_stb_image"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
|
|
||||||
@ -18,7 +21,12 @@ debug = true
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_edges", "sancov_cmplog", "libfuzzer", "libfuzzer_no_link_main"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_edges",
|
||||||
|
"sancov_cmplog",
|
||||||
|
"libfuzzer",
|
||||||
|
"libfuzzer_no_link_main",
|
||||||
|
] }
|
||||||
mimalloc = { version = "*", default-features = false }
|
mimalloc = { version = "*", default-features = false }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'libfuzzer_stb_image'
|
FUZZER_NAME = 'libfuzzer_stb_image'
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release" }
|
PROFILE = { value = "release" }
|
||||||
PROFILE_DIR = { value = "release" }
|
PROFILE_DIR = { value = "release" }
|
||||||
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc', mapping = { "windows" = '.\\target\\${PROFILE_DIR}\\libafl_cc.exe' } }
|
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc', mapping = { "windows" = '.\\target\\${PROFILE_DIR}\\libafl_cc.exe' } }
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release" }
|
PROFILE = { value = "release" }
|
||||||
PROFILE_DIR = { value = "release" }
|
PROFILE_DIR = { value = "release" }
|
||||||
FUZZER_NAME = 'libfuzzer_stb_image_concolic'
|
FUZZER_NAME = 'libfuzzer_stb_image_concolic'
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_stb_image_concolic"
|
name = "libfuzzer_stb_image_concolic"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>", "Julius Hohnerlein"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
"Julius Hohnerlein",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
|
|
||||||
@ -18,7 +22,11 @@ debug = true
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../../libafl/", features = ["concolic_mutation"] }
|
libafl = { path = "../../../../libafl/", features = ["concolic_mutation"] }
|
||||||
libafl_bolts = { path = "../../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../../libafl_targets/", features = ["sancov_pcguard_edges", "sancov_cmplog", "libfuzzer"] }
|
libafl_targets = { path = "../../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_edges",
|
||||||
|
"sancov_cmplog",
|
||||||
|
"libfuzzer",
|
||||||
|
] }
|
||||||
clap = { version = "4.0", features = ["derive"] }
|
clap = { version = "4.0", features = ["derive"] }
|
||||||
mimalloc = { version = "*", default-features = false }
|
mimalloc = { version = "*", default-features = false }
|
||||||
|
|
||||||
|
@ -1,10 +1,19 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libfuzzer_stb_image_sugar"
|
name = "libfuzzer_stb_image_sugar"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["std"]
|
default = ["std"]
|
||||||
@ -19,7 +28,11 @@ debug = true
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../../../libafl/" }
|
libafl = { path = "../../../libafl/" }
|
||||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_edges", "sancov_cmplog", "libfuzzer"] }
|
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||||
|
"sancov_pcguard_edges",
|
||||||
|
"sancov_cmplog",
|
||||||
|
"libfuzzer",
|
||||||
|
] }
|
||||||
libafl_sugar = { path = "../../../libafl_sugar/" }
|
libafl_sugar = { path = "../../../libafl_sugar/" }
|
||||||
mimalloc = { version = "*", default-features = false }
|
mimalloc = { version = "*", default-features = false }
|
||||||
|
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
[env]
|
[env]
|
||||||
FUZZER_NAME = 'libfuzzer_stb_image_sugar'
|
FUZZER_NAME = 'libfuzzer_stb_image_sugar'
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
PROJECT_DIR = { script = ["pwd"] }
|
||||||
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = [
|
||||||
|
"CARGO_TARGET_DIR",
|
||||||
|
] } }
|
||||||
PROFILE = { value = "release" }
|
PROFILE = { value = "release" }
|
||||||
PROFILE_DIR = { value = "release" }
|
PROFILE_DIR = { value = "release" }
|
||||||
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc", mapping = { "windows" = '.\\target\\${PROFILE_DIR}\\libafl_cc.exe' } }
|
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc", mapping = { "windows" = '.\\target\\${PROFILE_DIR}\\libafl_cc.exe' } }
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libafl"
|
name = "libafl"
|
||||||
version = "0.13.2"
|
version = "0.13.2"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
description = "Slot your own fuzzers together and extend their features using Rust"
|
description = "Slot your own fuzzers together and extend their features using Rust"
|
||||||
documentation = "https://docs.rs/libafl"
|
documentation = "https://docs.rs/libafl"
|
||||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||||
@ -9,7 +12,13 @@ readme = "../README.md"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "testing", "security"]
|
keywords = ["fuzzing", "testing", "security"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
features = ["document-features"]
|
features = ["document-features"]
|
||||||
@ -17,14 +26,40 @@ all-features = true
|
|||||||
rustc-args = ["--cfg", "docsrs"]
|
rustc-args = ["--cfg", "docsrs"]
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["std", "derive", "llmp_compression", "llmp_small_maps", "llmp_broker_timeouts", "rand_trait", "fork", "prelude", "gzip", "regex", "serdeany_autoreg", "tui_monitor", "libafl_bolts/xxh3"]
|
default = [
|
||||||
|
"std",
|
||||||
|
"derive",
|
||||||
|
"llmp_compression",
|
||||||
|
"llmp_small_maps",
|
||||||
|
"llmp_broker_timeouts",
|
||||||
|
"rand_trait",
|
||||||
|
"fork",
|
||||||
|
"prelude",
|
||||||
|
"gzip",
|
||||||
|
"regex",
|
||||||
|
"serdeany_autoreg",
|
||||||
|
"tui_monitor",
|
||||||
|
"libafl_bolts/xxh3",
|
||||||
|
]
|
||||||
document-features = ["dep:document-features"]
|
document-features = ["dep:document-features"]
|
||||||
|
|
||||||
#! # Feature Flags
|
#! # Feature Flags
|
||||||
#! ### General Features
|
#! ### General Features
|
||||||
|
|
||||||
## Enables features that need rust's `std` lib to work, like print, env, ... support
|
## Enables features that need rust's `std` lib to work, like print, env, ... support
|
||||||
std = ["serde_json", "serde_json/std", "nix", "serde/std", "bincode", "wait-timeout", "uuid", "backtrace", "serial_test", "libafl_bolts/std", "typed-builder"]
|
std = [
|
||||||
|
"serde_json",
|
||||||
|
"serde_json/std",
|
||||||
|
"nix",
|
||||||
|
"serde/std",
|
||||||
|
"bincode",
|
||||||
|
"wait-timeout",
|
||||||
|
"uuid",
|
||||||
|
"backtrace",
|
||||||
|
"serial_test",
|
||||||
|
"libafl_bolts/std",
|
||||||
|
"typed-builder",
|
||||||
|
]
|
||||||
|
|
||||||
## Tracks the Feedbacks and the Objectives that were interesting for a Testcase
|
## Tracks the Feedbacks and the Objectives that were interesting for a Testcase
|
||||||
track_hit_feedbacks = ["std"]
|
track_hit_feedbacks = ["std"]
|
||||||
@ -77,7 +112,13 @@ casr = ["libcasr", "std", "regex"]
|
|||||||
cmin = ["z3"]
|
cmin = ["z3"]
|
||||||
|
|
||||||
## Enables the `PrometheusMonitor` which will monitor stats via UDP, for `Grafana` and others.
|
## Enables the `PrometheusMonitor` which will monitor stats via UDP, for `Grafana` and others.
|
||||||
prometheus_monitor = ["std", "async-std", "prometheus-client", "tide", "futures"]
|
prometheus_monitor = [
|
||||||
|
"std",
|
||||||
|
"async-std",
|
||||||
|
"prometheus-client",
|
||||||
|
"tide",
|
||||||
|
"futures",
|
||||||
|
]
|
||||||
|
|
||||||
## Include a simple concolic mutator based on z3
|
## Include a simple concolic mutator based on z3
|
||||||
concolic_mutation = ["z3"]
|
concolic_mutation = ["z3"]
|
||||||
@ -94,7 +135,10 @@ multipart_inputs = ["arrayvec", "rand_trait"]
|
|||||||
#! ## LibAFL-Bolts Features
|
#! ## LibAFL-Bolts Features
|
||||||
|
|
||||||
## Provide the `#[derive(SerdeAny)]` macro.
|
## Provide the `#[derive(SerdeAny)]` macro.
|
||||||
derive = ["libafl_derive", "libafl_bolts/derive"] # provide `derive(SerdeAny) macro.
|
derive = [
|
||||||
|
"libafl_derive",
|
||||||
|
"libafl_bolts/derive",
|
||||||
|
] # provide `derive(SerdeAny) macro.
|
||||||
|
|
||||||
## Expose `libafl_bolts::cli` for easy commandline parsing of common fuzzer settings
|
## Expose `libafl_bolts::cli` for easy commandline parsing of common fuzzer settings
|
||||||
cli = ["libafl_bolts/cli"]
|
cli = ["libafl_bolts/cli"]
|
||||||
@ -128,10 +172,19 @@ llmp_compression = ["libafl_bolts/llmp_compression"]
|
|||||||
llmp_debug = ["std", "libafl_bolts/llmp_debug"]
|
llmp_debug = ["std", "libafl_bolts/llmp_debug"]
|
||||||
|
|
||||||
## Reduces the initial map size for llmp
|
## Reduces the initial map size for llmp
|
||||||
llmp_small_maps = ["libafl_bolts/llmp_small_maps"] # reduces initial map size for llmp
|
llmp_small_maps = [
|
||||||
|
"libafl_bolts/llmp_small_maps",
|
||||||
|
] # reduces initial map size for llmp
|
||||||
|
|
||||||
## Grammar mutator. Requires nightly.
|
## Grammar mutator. Requires nightly.
|
||||||
nautilus = ["std", "serde_json/std", "pyo3", "rand_trait", "regex-syntax", "regex"]
|
nautilus = [
|
||||||
|
"std",
|
||||||
|
"serde_json/std",
|
||||||
|
"pyo3",
|
||||||
|
"rand_trait",
|
||||||
|
"regex-syntax",
|
||||||
|
"regex",
|
||||||
|
]
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
rustversion = "1.0"
|
rustversion = "1.0"
|
||||||
@ -142,15 +195,25 @@ serde_json = { version = "1.0", default-features = false, features = ["alloc"] }
|
|||||||
bytecount = "0.6.3"
|
bytecount = "0.6.3"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libafl_bolts = { version = "0.13.2", path = "../libafl_bolts", default-features = false, features = ["alloc"] }
|
libafl_bolts = { version = "0.13.2", path = "../libafl_bolts", default-features = false, features = [
|
||||||
|
"alloc",
|
||||||
|
] }
|
||||||
libafl_derive = { version = "0.13.2", path = "../libafl_derive", optional = true }
|
libafl_derive = { version = "0.13.2", path = "../libafl_derive", optional = true }
|
||||||
|
|
||||||
rustversion = "1.0"
|
rustversion = "1.0"
|
||||||
tuple_list = { version = "0.1.3" }
|
tuple_list = { version = "0.1.3" }
|
||||||
hashbrown = { version = "0.14", features = ["serde", "ahash"], default-features = false } # A faster hashmap, nostd compatible
|
hashbrown = { version = "0.14", features = [
|
||||||
|
"serde",
|
||||||
|
"ahash",
|
||||||
|
], default-features = false } # A faster hashmap, nostd compatible
|
||||||
num-traits = { version = "0.2", default-features = false }
|
num-traits = { version = "0.2", default-features = false }
|
||||||
serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] } # serialization lib
|
serde = { version = "1.0", default-features = false, features = [
|
||||||
postcard = { version = "1.0", features = ["alloc"], default-features = false } # no_std compatible serde serialization format
|
"alloc",
|
||||||
|
"derive",
|
||||||
|
] } # serialization lib
|
||||||
|
postcard = { version = "1.0", features = [
|
||||||
|
"alloc",
|
||||||
|
], default-features = false } # no_std compatible serde serialization format
|
||||||
bincode = { version = "1.3", optional = true }
|
bincode = { version = "1.3", optional = true }
|
||||||
c2rust-bitfields = { version = "0.18", features = ["no_std"] }
|
c2rust-bitfields = { version = "0.18", features = ["no_std"] }
|
||||||
ahash = { version = "0.8", default-features = false } # The hash function already used in hashbrown
|
ahash = { version = "0.8", default-features = false } # The hash function already used in hashbrown
|
||||||
@ -158,12 +221,16 @@ meminterval = { version = "0.4", features = ["serde"] }
|
|||||||
backtrace = { version = "0.3", optional = true } # Used to get the stacktrace in StacktraceObserver
|
backtrace = { version = "0.3", optional = true } # Used to get the stacktrace in StacktraceObserver
|
||||||
typed-builder = { version = "0.18", optional = true } # Implement the builder pattern at compiletime
|
typed-builder = { version = "0.18", optional = true } # Implement the builder pattern at compiletime
|
||||||
|
|
||||||
serde_json = { version = "1.0", optional = true, default-features = false, features = ["alloc"] }
|
serde_json = { version = "1.0", optional = true, default-features = false, features = [
|
||||||
|
"alloc",
|
||||||
|
] }
|
||||||
nix = { version = "0.29", optional = true }
|
nix = { version = "0.29", optional = true }
|
||||||
regex = { version = "1", optional = true }
|
regex = { version = "1", optional = true }
|
||||||
uuid = { version = "1.8", optional = true, features = ["serde", "v4"] }
|
uuid = { version = "1.8", optional = true, features = ["serde", "v4"] }
|
||||||
libm = "0.2"
|
libm = "0.2"
|
||||||
ratatui = { version = "0.26", default-features = false, features = ['crossterm'], optional = true } # Commandline rendering, for TUI Monitor
|
ratatui = { version = "0.26", default-features = false, features = [
|
||||||
|
'crossterm',
|
||||||
|
], optional = true } # Commandline rendering, for TUI Monitor
|
||||||
crossterm = { version = "0.27", optional = true }
|
crossterm = { version = "0.27", optional = true }
|
||||||
|
|
||||||
prometheus-client = { version = "0.22", optional = true } # For the prometheus monitor
|
prometheus-client = { version = "0.22", optional = true } # For the prometheus monitor
|
||||||
@ -171,7 +238,15 @@ tide = { version = "0.16", optional = true }
|
|||||||
async-std = { version = "1.12", features = ["attributes"], optional = true }
|
async-std = { version = "1.12", features = ["attributes"], optional = true }
|
||||||
futures = { version = "0.3", optional = true }
|
futures = { version = "0.3", optional = true }
|
||||||
log = { version = "0.4" }
|
log = { version = "0.4" }
|
||||||
tokio = { version = "1.38", optional = true, features = ["sync", "net", "rt", "io-util", "macros", "rt-multi-thread", "time"] } # used for TCP Event Manager and multi-machine
|
tokio = { version = "1.38", optional = true, features = [
|
||||||
|
"sync",
|
||||||
|
"net",
|
||||||
|
"rt",
|
||||||
|
"io-util",
|
||||||
|
"macros",
|
||||||
|
"rt-multi-thread",
|
||||||
|
"time",
|
||||||
|
] } # used for TCP Event Manager and multi-machine
|
||||||
enumflags2 = { version = "0.7", optional = true }
|
enumflags2 = { version = "0.7", optional = true }
|
||||||
|
|
||||||
wait-timeout = { version = "0.2", optional = true } # used by CommandExecutor to wait for child process
|
wait-timeout = { version = "0.2", optional = true } # used by CommandExecutor to wait for child process
|
||||||
@ -180,7 +255,9 @@ concat-idents = { version = "1.1.3", optional = true }
|
|||||||
|
|
||||||
libcasr = { version = "2.7", optional = true }
|
libcasr = { version = "2.7", optional = true }
|
||||||
|
|
||||||
bitvec = { version = "1.0", optional = true, features = ["serde"] } # used for string range storage
|
bitvec = { version = "1.0", optional = true, features = [
|
||||||
|
"serde",
|
||||||
|
] } # used for string range storage
|
||||||
|
|
||||||
arrayvec = { version = "0.7.4", optional = true, default-features = false } # used for fixed-len collects
|
arrayvec = { version = "0.7.4", optional = true, default-features = false } # used for fixed-len collects
|
||||||
|
|
||||||
@ -191,7 +268,9 @@ pyo3 = { version = "0.18.3", optional = true } # For nautilus
|
|||||||
regex-syntax = { version = "0.8.3", optional = true } # For nautilus
|
regex-syntax = { version = "0.8.3", optional = true } # For nautilus
|
||||||
|
|
||||||
# optional-dev deps (change when target.'cfg(accessible(::std))'.test-dependencies will be stable)
|
# optional-dev deps (change when target.'cfg(accessible(::std))'.test-dependencies will be stable)
|
||||||
serial_test = { version = "3", optional = true, default-features = false, features = ["logging"] }
|
serial_test = { version = "3", optional = true, default-features = false, features = [
|
||||||
|
"logging",
|
||||||
|
] }
|
||||||
|
|
||||||
# Document all features of this crate (for `cargo doc`)
|
# Document all features of this crate (for `cargo doc`)
|
||||||
document-features = { version = "0.2", optional = true }
|
document-features = { version = "0.2", optional = true }
|
||||||
@ -203,7 +282,15 @@ libc = "0.2" # For (*nix) libc
|
|||||||
z3 = { version = "0.12.0", optional = true } # for concolic mutation
|
z3 = { version = "0.12.0", optional = true } # for concolic mutation
|
||||||
|
|
||||||
[target.'cfg(windows)'.dependencies]
|
[target.'cfg(windows)'.dependencies]
|
||||||
windows = { version = "0.51.1", features = ["Win32_Foundation", "Win32_System_Threading", "Win32_System_Diagnostics_Debug", "Win32_System_Kernel", "Win32_System_Memory", "Win32_Security", "Win32_System_SystemInformation"] }
|
windows = { version = "0.51.1", features = [
|
||||||
|
"Win32_Foundation",
|
||||||
|
"Win32_System_Threading",
|
||||||
|
"Win32_System_Diagnostics_Debug",
|
||||||
|
"Win32_System_Kernel",
|
||||||
|
"Win32_System_Memory",
|
||||||
|
"Win32_Security",
|
||||||
|
"Win32_System_SystemInformation",
|
||||||
|
] }
|
||||||
|
|
||||||
[target.'cfg(windows)'.build-dependencies]
|
[target.'cfg(windows)'.build-dependencies]
|
||||||
windows = "0.51.1"
|
windows = "0.51.1"
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "libafl_bolts"
|
name = "libafl_bolts"
|
||||||
version = "0.13.2"
|
version = "0.13.2"
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
description = "Low-level bolts to create fuzzers and so much more"
|
description = "Low-level bolts to create fuzzers and so much more"
|
||||||
documentation = "https://docs.rs/libafl"
|
documentation = "https://docs.rs/libafl"
|
||||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||||
@ -9,7 +12,13 @@ readme = "./README.md"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "testing", "security"]
|
keywords = ["fuzzing", "testing", "security"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
rust-version = "1.70.0"
|
rust-version = "1.70.0"
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
@ -17,14 +26,36 @@ features = ["document-features"]
|
|||||||
all-features = true
|
all-features = true
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["std", "derive", "llmp_compression", "llmp_small_maps", "rand_trait", "prelude", "gzip", "serdeany_autoreg", "alloc", "xxh3"]
|
default = [
|
||||||
|
"std",
|
||||||
|
"derive",
|
||||||
|
"llmp_compression",
|
||||||
|
"llmp_small_maps",
|
||||||
|
"rand_trait",
|
||||||
|
"prelude",
|
||||||
|
"gzip",
|
||||||
|
"serdeany_autoreg",
|
||||||
|
"alloc",
|
||||||
|
"xxh3",
|
||||||
|
]
|
||||||
document-features = ["dep:document-features"]
|
document-features = ["dep:document-features"]
|
||||||
|
|
||||||
#! # Feature Flags
|
#! # Feature Flags
|
||||||
#! ### General Features
|
#! ### General Features
|
||||||
|
|
||||||
## Enables features that need rust's `std` lib to work, like print, env, ... support
|
## Enables features that need rust's `std` lib to work, like print, env, ... support
|
||||||
std = ["serde_json", "serde_json/std", "hostname", "nix", "serde/std", "uuid", "backtrace", "uds", "serial_test", "alloc"]
|
std = [
|
||||||
|
"serde_json",
|
||||||
|
"serde_json/std",
|
||||||
|
"hostname",
|
||||||
|
"nix",
|
||||||
|
"serde/std",
|
||||||
|
"uuid",
|
||||||
|
"backtrace",
|
||||||
|
"uds",
|
||||||
|
"serial_test",
|
||||||
|
"alloc",
|
||||||
|
]
|
||||||
|
|
||||||
## Enables all features that allocate in `no_std`
|
## Enables all features that allocate in `no_std`
|
||||||
alloc = ["serde/alloc", "hashbrown", "postcard", "erased-serde/alloc", "ahash"]
|
alloc = ["serde/alloc", "hashbrown", "postcard", "erased-serde/alloc", "ahash"]
|
||||||
@ -96,29 +127,49 @@ libafl_derive = { version = "0.13.2", optional = true, path = "../libafl_derive"
|
|||||||
static_assertions = "1.1.0"
|
static_assertions = "1.1.0"
|
||||||
|
|
||||||
tuple_list = { version = "0.1.3" }
|
tuple_list = { version = "0.1.3" }
|
||||||
hashbrown = { version = "0.14", features = ["serde", "ahash"], default-features = false, optional = true } # A faster hashmap, nostd compatible
|
hashbrown = { version = "0.14", features = [
|
||||||
xxhash-rust = { version = "0.8.5", features = ["xxh3"], optional = true } # xxh3 hashing for rust
|
"serde",
|
||||||
serde = { version = "1.0", default-features = false, features = ["derive"] } # serialization lib
|
"ahash",
|
||||||
|
], default-features = false, optional = true } # A faster hashmap, nostd compatible
|
||||||
|
xxhash-rust = { version = "0.8.5", features = [
|
||||||
|
"xxh3",
|
||||||
|
], optional = true } # xxh3 hashing for rust
|
||||||
|
serde = { version = "1.0", default-features = false, features = [
|
||||||
|
"derive",
|
||||||
|
] } # serialization lib
|
||||||
erased-serde = { version = "0.4.5", default-features = false, optional = true } # erased serde
|
erased-serde = { version = "0.4.5", default-features = false, optional = true } # erased serde
|
||||||
postcard = { version = "1.0", features = ["alloc"], default-features = false, optional = true } # no_std compatible serde serialization format
|
postcard = { version = "1.0", features = [
|
||||||
|
"alloc",
|
||||||
|
], default-features = false, optional = true } # no_std compatible serde serialization format
|
||||||
num_enum = { version = "0.7", default-features = false }
|
num_enum = { version = "0.7", default-features = false }
|
||||||
ahash = { version = "0.8", default-features = false, optional = true } # The hash function already used in hashbrown
|
ahash = { version = "0.8", default-features = false, optional = true } # The hash function already used in hashbrown
|
||||||
backtrace = { version = "0.3", optional = true } # Used to get the stacktrace in StacktraceObserver
|
backtrace = { version = "0.3", optional = true } # Used to get the stacktrace in StacktraceObserver
|
||||||
|
|
||||||
ctor = { optional = true, version = "0.2" }
|
ctor = { optional = true, version = "0.2" }
|
||||||
serde_json = { version = "1.0", optional = true, default-features = false, features = ["alloc"] }
|
serde_json = { version = "1.0", optional = true, default-features = false, features = [
|
||||||
|
"alloc",
|
||||||
|
] }
|
||||||
miniz_oxide = { version = "0.7.1", optional = true }
|
miniz_oxide = { version = "0.7.1", optional = true }
|
||||||
hostname = { version = "^0.4", optional = true } # Is there really no gethostname in the stdlib?
|
hostname = { version = "^0.4", optional = true } # Is there really no gethostname in the stdlib?
|
||||||
rand_core = { version = "0.6", optional = true }
|
rand_core = { version = "0.6", optional = true }
|
||||||
nix = { version = "0.29", default-features = false, optional = true, features = ["signal", "socket", "poll"] }
|
nix = { version = "0.29", default-features = false, optional = true, features = [
|
||||||
|
"signal",
|
||||||
|
"socket",
|
||||||
|
"poll",
|
||||||
|
] }
|
||||||
uuid = { version = "1.4", optional = true, features = ["serde", "v4"] }
|
uuid = { version = "1.4", optional = true, features = ["serde", "v4"] }
|
||||||
clap = { version = "4.5", features = ["derive", "wrap_help"], optional = true } # CLI parsing, for libafl_bolts::cli / the `cli` feature
|
clap = { version = "4.5", features = [
|
||||||
|
"derive",
|
||||||
|
"wrap_help",
|
||||||
|
], optional = true } # CLI parsing, for libafl_bolts::cli / the `cli` feature
|
||||||
log = { version = "0.4" }
|
log = { version = "0.4" }
|
||||||
|
|
||||||
pyo3 = { version = "0.18", optional = true, features = ["serde", "macros"] }
|
pyo3 = { version = "0.18", optional = true, features = ["serde", "macros"] }
|
||||||
|
|
||||||
# optional-dev deps (change when target.'cfg(accessible(::std))'.test-dependencies will be stable)
|
# optional-dev deps (change when target.'cfg(accessible(::std))'.test-dependencies will be stable)
|
||||||
serial_test = { version = "3", optional = true, default-features = false, features = ["logging"] }
|
serial_test = { version = "3", optional = true, default-features = false, features = [
|
||||||
|
"logging",
|
||||||
|
] }
|
||||||
|
|
||||||
# Document all features of this crate (for `cargo doc`)
|
# Document all features of this crate (for `cargo doc`)
|
||||||
document-features = { version = "0.2", optional = true }
|
document-features = { version = "0.2", optional = true }
|
||||||
@ -128,7 +179,16 @@ libc = "0.2" # For (*nix) libc
|
|||||||
uds = { version = "0.4", optional = true, default-features = false }
|
uds = { version = "0.4", optional = true, default-features = false }
|
||||||
|
|
||||||
[target.'cfg(windows)'.dependencies]
|
[target.'cfg(windows)'.dependencies]
|
||||||
windows = { version = "0.51.1", features = ["Win32_Foundation", "Win32_System_Threading", "Win32_System_Diagnostics_Debug", "Win32_System_Kernel", "Win32_System_Memory", "Win32_Security", "Win32_System_SystemInformation", "Win32_System_Console"] }
|
windows = { version = "0.51.1", features = [
|
||||||
|
"Win32_Foundation",
|
||||||
|
"Win32_System_Threading",
|
||||||
|
"Win32_System_Diagnostics_Debug",
|
||||||
|
"Win32_System_Kernel",
|
||||||
|
"Win32_System_Memory",
|
||||||
|
"Win32_Security",
|
||||||
|
"Win32_System_SystemInformation",
|
||||||
|
"Win32_System_Console",
|
||||||
|
] }
|
||||||
|
|
||||||
[target.'cfg(windows)'.build-dependencies]
|
[target.'cfg(windows)'.build-dependencies]
|
||||||
windows = "0.51.1"
|
windows = "0.51.1"
|
||||||
|
@ -9,12 +9,28 @@ readme = "README.md"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "testing", "compiler"]
|
keywords = ["fuzzing", "testing", "compiler"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["ddg-instr", "function-logging", "cmplog-routines", "autotokens", "coverage-accounting", "cmplog-instructions", "ctx", "dump-cfg", "profiling"]
|
default = [
|
||||||
|
"ddg-instr",
|
||||||
|
"function-logging",
|
||||||
|
"cmplog-routines",
|
||||||
|
"autotokens",
|
||||||
|
"coverage-accounting",
|
||||||
|
"cmplog-instructions",
|
||||||
|
"ctx",
|
||||||
|
"dump-cfg",
|
||||||
|
"profiling",
|
||||||
|
]
|
||||||
|
|
||||||
# llvm passes
|
# llvm passes
|
||||||
ddg-instr = []
|
ddg-instr = []
|
||||||
@ -35,4 +51,7 @@ which = "6.0"
|
|||||||
glob = "0.3"
|
glob = "0.3"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] } # serialization lib
|
serde = { version = "1.0", default-features = false, features = [
|
||||||
|
"alloc",
|
||||||
|
"derive",
|
||||||
|
] } # serialization lib
|
||||||
|
@ -2,14 +2,24 @@
|
|||||||
name = "symcc_libafl"
|
name = "symcc_libafl"
|
||||||
version = "0.13.2"
|
version = "0.13.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Julius Hohnerlein <julihoh@users.noreply.github.com>", "Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Julius Hohnerlein <julihoh@users.noreply.github.com>",
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
description = "Meta package for symcc_runtime"
|
description = "Meta package for symcc_runtime"
|
||||||
documentation = "https://docs.rs/symcc_libafl"
|
documentation = "https://docs.rs/symcc_libafl"
|
||||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "testing", "security"]
|
keywords = ["fuzzing", "testing", "security"]
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
@ -2,7 +2,11 @@
|
|||||||
name = "symcc_runtime"
|
name = "symcc_runtime"
|
||||||
version = "0.13.2"
|
version = "0.13.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Julius Hohnerlein <julihoh@users.noreply.github.com>", "Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Julius Hohnerlein <julihoh@users.noreply.github.com>",
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
description = "Build Concolic Tracing tools based on SymCC in Rust"
|
description = "Build Concolic Tracing tools based on SymCC in Rust"
|
||||||
documentation = "https://docs.rs/symcc_runtime"
|
documentation = "https://docs.rs/symcc_runtime"
|
||||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||||
@ -10,7 +14,13 @@ readme = "README.md"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "testing", "security"]
|
keywords = ["fuzzing", "testing", "security"]
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
@ -25,8 +35,14 @@ no-cpp-runtime = []
|
|||||||
unchecked_unwrap = "4"
|
unchecked_unwrap = "4"
|
||||||
ctor = "0.2"
|
ctor = "0.2"
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
libafl = { path = "../../libafl", version = "0.13.2", default-features=false, features=["std", "serdeany_autoreg"] }
|
libafl = { path = "../../libafl", version = "0.13.2", default-features = false, features = [
|
||||||
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", default-features=false, features=["std", "serdeany_autoreg"] }
|
"std",
|
||||||
|
"serdeany_autoreg",
|
||||||
|
] }
|
||||||
|
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", default-features = false, features = [
|
||||||
|
"std",
|
||||||
|
"serdeany_autoreg",
|
||||||
|
] }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
cmake = "0.1"
|
cmake = "0.1"
|
||||||
|
@ -9,7 +9,13 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
|
|||||||
readme = "../README.md"
|
readme = "../README.md"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "libafl", "ldpreload"]
|
keywords = ["fuzzing", "libafl", "ldpreload"]
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
@ -9,7 +9,13 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
|
|||||||
readme = "../README.md"
|
readme = "../README.md"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "libafl", "symbolic", "symcc", "symqemu", "fuzzer"]
|
keywords = ["fuzzing", "libafl", "symbolic", "symcc", "symqemu", "fuzzer"]
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
crate-type = ["cdylib"]
|
crate-type = ["cdylib"]
|
||||||
|
@ -9,7 +9,13 @@ readme = "../README.md"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "testing"]
|
keywords = ["fuzzing", "testing"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
proc-macro = true
|
proc-macro = true
|
||||||
|
@ -14,13 +14,18 @@ categories = [
|
|||||||
"emulators",
|
"emulators",
|
||||||
"embedded",
|
"embedded",
|
||||||
"os",
|
"os",
|
||||||
"no-std"
|
"no-std",
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
no-default-features = true # We can't use auto-download inside docs.rs (no internet)
|
no-default-features = true # We can't use auto-download inside docs.rs (no internet)
|
||||||
all-features = false
|
all-features = false
|
||||||
features = ["cmplog", "serdeany_autoreg", "track_hit_feedbacks", "document-features"]
|
features = [
|
||||||
|
"cmplog",
|
||||||
|
"serdeany_autoreg",
|
||||||
|
"track_hit_feedbacks",
|
||||||
|
"document-features",
|
||||||
|
]
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["serdeany_autoreg", "auto-download"]
|
default = ["serdeany_autoreg", "auto-download"]
|
||||||
@ -57,7 +62,7 @@ libafl = { path = "../libafl", default-features = false, version = "0.13.2", fea
|
|||||||
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = [
|
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = [
|
||||||
"std",
|
"std",
|
||||||
"derive",
|
"derive",
|
||||||
"frida_cli"
|
"frida_cli",
|
||||||
] }
|
] }
|
||||||
libafl_targets = { path = "../libafl_targets", version = "0.13.2", features = [
|
libafl_targets = { path = "../libafl_targets", version = "0.13.2", features = [
|
||||||
"std",
|
"std",
|
||||||
@ -101,7 +106,9 @@ winsafe = {version = "0.0.21", features = ["kernel"]}
|
|||||||
|
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
serial_test = { version = "3", default-features = false, features = ["logging"] }
|
serial_test = { version = "3", default-features = false, features = [
|
||||||
|
"logging",
|
||||||
|
] }
|
||||||
clap = { version = "4.5", features = ["derive"] }
|
clap = { version = "4.5", features = ["derive"] }
|
||||||
libloading = "0.8"
|
libloading = "0.8"
|
||||||
mimalloc = { version = "0.1", default-features = false }
|
mimalloc = { version = "0.1", default-features = false }
|
||||||
|
@ -9,12 +9,7 @@ keywords = ["fuzzing", "testing", "security"]
|
|||||||
edition = "2021"
|
edition = "2021"
|
||||||
categories = ["development-tools::testing"]
|
categories = ["development-tools::testing"]
|
||||||
|
|
||||||
include = [
|
include = ["/src", "/Cargo.toml", "/build.rs", "/runtime"]
|
||||||
"/src",
|
|
||||||
"/Cargo.toml",
|
|
||||||
"/build.rs",
|
|
||||||
"/runtime",
|
|
||||||
]
|
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
@ -10,7 +10,10 @@ publish = false
|
|||||||
default = ["fork"]
|
default = ["fork"]
|
||||||
## Enables forking mode for the LibAFL launcher (instead of starting new processes)
|
## Enables forking mode for the LibAFL launcher (instead of starting new processes)
|
||||||
fork = ["libafl/fork"]
|
fork = ["libafl/fork"]
|
||||||
track_hit_feedbacks = ["libafl/track_hit_feedbacks", "libafl_targets/track_hit_feedbacks"]
|
track_hit_feedbacks = [
|
||||||
|
"libafl/track_hit_feedbacks",
|
||||||
|
"libafl_targets/track_hit_feedbacks",
|
||||||
|
]
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
lto = true
|
lto = true
|
||||||
@ -29,9 +32,38 @@ name = "afl_libfuzzer_runtime" # historically, cargo-fuzz strips double-prefixes
|
|||||||
crate-type = ["staticlib", "rlib"]
|
crate-type = ["staticlib", "rlib"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../libafl", default-features = false, features = ["std", "derive", "llmp_compression", "rand_trait", "regex", "errors_backtrace", "serdeany_autoreg", "tui_monitor", "unicode"] }
|
libafl = { path = "../libafl", default-features = false, features = [
|
||||||
libafl_bolts = { path = "../libafl_bolts", default-features = false, features = ["std", "derive", "llmp_compression", "rand_trait", "serdeany_autoreg", "errors_backtrace"] }
|
"std",
|
||||||
libafl_targets = { path = "../libafl_targets", features = ["sancov_8bit", "sancov_cmplog", "sancov_value_profile", "sancov_pcguard", "libfuzzer", "libfuzzer_oom", "libfuzzer_define_run_driver", "libfuzzer_interceptors", "sanitizers_flags", "whole_archive", "sanitizer_interfaces"] }
|
"derive",
|
||||||
|
"llmp_compression",
|
||||||
|
"rand_trait",
|
||||||
|
"regex",
|
||||||
|
"errors_backtrace",
|
||||||
|
"serdeany_autoreg",
|
||||||
|
"tui_monitor",
|
||||||
|
"unicode",
|
||||||
|
] }
|
||||||
|
libafl_bolts = { path = "../libafl_bolts", default-features = false, features = [
|
||||||
|
"std",
|
||||||
|
"derive",
|
||||||
|
"llmp_compression",
|
||||||
|
"rand_trait",
|
||||||
|
"serdeany_autoreg",
|
||||||
|
"errors_backtrace",
|
||||||
|
] }
|
||||||
|
libafl_targets = { path = "../libafl_targets", features = [
|
||||||
|
"sancov_8bit",
|
||||||
|
"sancov_cmplog",
|
||||||
|
"sancov_value_profile",
|
||||||
|
"sancov_pcguard",
|
||||||
|
"libfuzzer",
|
||||||
|
"libfuzzer_oom",
|
||||||
|
"libfuzzer_define_run_driver",
|
||||||
|
"libfuzzer_interceptors",
|
||||||
|
"sanitizers_flags",
|
||||||
|
"whole_archive",
|
||||||
|
"sanitizer_interfaces",
|
||||||
|
] }
|
||||||
|
|
||||||
ahash = { version = "0.8.3", default-features = false }
|
ahash = { version = "0.8.3", default-features = false }
|
||||||
libc = "0.2.1"
|
libc = "0.2.1"
|
||||||
|
@ -9,15 +9,32 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
|
|||||||
readme = "../README.md"
|
readme = "../README.md"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "testing", "security"]
|
keywords = ["fuzzing", "testing", "security"]
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[target.'cfg(target_os = "linux")'.dependencies]
|
[target.'cfg(target_os = "linux")'.dependencies]
|
||||||
libnyx = { git = "https://github.com/nyx-fuzz/libnyx.git", rev = "6833d236dfe785a8a23d8c8d79e74c99fa635004" }
|
libnyx = { git = "https://github.com/nyx-fuzz/libnyx.git", rev = "6833d236dfe785a8a23d8c8d79e74c99fa635004" }
|
||||||
libafl = { path = "../libafl", version = "0.13.2", features = ["std", "libafl_derive", "frida_cli" ]}
|
libafl = { path = "../libafl", version = "0.13.2", features = [
|
||||||
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", features = ["std", "libafl_derive", "frida_cli" ]}
|
"std",
|
||||||
libafl_targets = { path = "../libafl_targets", version = "0.13.2", features = ["std", "sancov_cmplog"] }
|
"libafl_derive",
|
||||||
|
"frida_cli",
|
||||||
|
] }
|
||||||
|
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", features = [
|
||||||
|
"std",
|
||||||
|
"libafl_derive",
|
||||||
|
"frida_cli",
|
||||||
|
] }
|
||||||
|
libafl_targets = { path = "../libafl_targets", version = "0.13.2", features = [
|
||||||
|
"std",
|
||||||
|
"sancov_cmplog",
|
||||||
|
] }
|
||||||
|
|
||||||
nix = { version = "0.29", features = ["fs"] }
|
nix = { version = "0.29", features = ["fs"] }
|
||||||
typed-builder = "0.18"
|
typed-builder = "0.18"
|
||||||
|
@ -9,16 +9,30 @@ readme = "../README.md"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "qemu", "instrumentation"]
|
keywords = ["fuzzing", "qemu", "instrumentation"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
features = ["document-features", "default", "python", "x86_64", "usermode"]
|
features = ["document-features", "default", "python", "x86_64", "usermode"]
|
||||||
rustdoc-args = ["--cfg", "docsrs"]
|
rustdoc-args = ["--cfg", "docsrs"]
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["fork", "build_libgasan", "build_libqasan", "serdeany_autoreg", "injections"]
|
default = [
|
||||||
|
"fork",
|
||||||
|
"build_libgasan",
|
||||||
|
"build_libqasan",
|
||||||
|
"serdeany_autoreg",
|
||||||
|
"injections",
|
||||||
|
]
|
||||||
document-features = ["dep:document-features"]
|
document-features = ["dep:document-features"]
|
||||||
paranoid_debug = ["libafl_qemu_sys/paranoid_debug"] # Will perform as many checks as possible. The target will be greatly slowed down.
|
paranoid_debug = [
|
||||||
|
"libafl_qemu_sys/paranoid_debug",
|
||||||
|
] # Will perform as many checks as possible. The target will be greatly slowed down.
|
||||||
|
|
||||||
#! # Feature Flags
|
#! # Feature Flags
|
||||||
#! ### General Features
|
#! ### General Features
|
||||||
@ -39,7 +53,9 @@ x86_64 = ["libafl_qemu_sys/x86_64"]
|
|||||||
i386 = ["libafl_qemu_sys/i386"] # build qemu for i386
|
i386 = ["libafl_qemu_sys/i386"] # build qemu for i386
|
||||||
arm = ["libafl_qemu_sys/arm"] # build qemu for arm
|
arm = ["libafl_qemu_sys/arm"] # build qemu for arm
|
||||||
aarch64 = ["libafl_qemu_sys/aarch64"] # build qemu for aarch64
|
aarch64 = ["libafl_qemu_sys/aarch64"] # build qemu for aarch64
|
||||||
mips = ["libafl_qemu_sys/mips"] # build qemu for mips (el, use with the 'be' feature of mips be)
|
mips = [
|
||||||
|
"libafl_qemu_sys/mips",
|
||||||
|
] # build qemu for mips (el, use with the 'be' feature of mips be)
|
||||||
ppc = ["libafl_qemu_sys/ppc"] # build qemu for powerpc
|
ppc = ["libafl_qemu_sys/ppc"] # build qemu for powerpc
|
||||||
hexagon = ["libafl_qemu_sys/hexagon"] # build qemu for hexagon
|
hexagon = ["libafl_qemu_sys/hexagon"] # build qemu for hexagon
|
||||||
|
|
||||||
@ -56,7 +72,10 @@ systemmode = ["libafl_qemu_sys/systemmode"]
|
|||||||
## Automatically register all `#[derive(SerdeAny)]` types at startup.
|
## Automatically register all `#[derive(SerdeAny)]` types at startup.
|
||||||
serdeany_autoreg = ["libafl_bolts/serdeany_autoreg"]
|
serdeany_autoreg = ["libafl_bolts/serdeany_autoreg"]
|
||||||
|
|
||||||
slirp = [ "systemmode", "libafl_qemu_sys/slirp" ] # build qemu with host libslirp (for user networking)
|
slirp = [
|
||||||
|
"systemmode",
|
||||||
|
"libafl_qemu_sys/slirp",
|
||||||
|
] # build qemu with host libslirp (for user networking)
|
||||||
|
|
||||||
# Requires the binary's build.rs to call `build_libafl_qemu`
|
# Requires the binary's build.rs to call `build_libafl_qemu`
|
||||||
shared = ["libafl_qemu_sys/shared"]
|
shared = ["libafl_qemu_sys/shared"]
|
||||||
@ -66,13 +85,24 @@ shared = [ "libafl_qemu_sys/shared" ]
|
|||||||
clippy = ["libafl_qemu_sys/clippy"]
|
clippy = ["libafl_qemu_sys/clippy"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../libafl", version = "0.13.2", default-features = false, features = ["std", "derive", "regex"] }
|
libafl = { path = "../libafl", version = "0.13.2", default-features = false, features = [
|
||||||
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = ["std", "derive"] }
|
"std",
|
||||||
|
"derive",
|
||||||
|
"regex",
|
||||||
|
] }
|
||||||
|
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = [
|
||||||
|
"std",
|
||||||
|
"derive",
|
||||||
|
] }
|
||||||
libafl_targets = { path = "../libafl_targets", version = "0.13.2" }
|
libafl_targets = { path = "../libafl_targets", version = "0.13.2" }
|
||||||
libafl_qemu_sys = { path = "./libafl_qemu_sys", version = "0.13.2" }
|
libafl_qemu_sys = { path = "./libafl_qemu_sys", version = "0.13.2" }
|
||||||
|
|
||||||
serde = { version = "1.0", default-features = false, features = ["alloc"] } # serialization lib
|
serde = { version = "1.0", default-features = false, features = [
|
||||||
hashbrown = { version = "0.14", features = ["serde"] } # A faster hashmap, nostd compatible
|
"alloc",
|
||||||
|
] } # serialization lib
|
||||||
|
hashbrown = { version = "0.14", features = [
|
||||||
|
"serde",
|
||||||
|
] } # A faster hashmap, nostd compatible
|
||||||
num-traits = "0.2"
|
num-traits = "0.2"
|
||||||
num-derive = "0.4"
|
num-derive = "0.4"
|
||||||
num_enum = "0.7"
|
num_enum = "0.7"
|
||||||
|
@ -26,7 +26,8 @@ slirp = [] # build qemu with host libslirp (for user networking)
|
|||||||
|
|
||||||
clippy = [] # special feature for clippy, don't use in normal projects§
|
clippy = [] # special feature for clippy, don't use in normal projects§
|
||||||
|
|
||||||
paranoid_debug = [] # Will perform as many checks as possible. The target will be greatly slowed down.
|
paranoid_debug = [
|
||||||
|
] # Will perform as many checks as possible. The target will be greatly slowed down.
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bindgen = "0.69.4"
|
bindgen = "0.69.4"
|
||||||
|
@ -9,7 +9,13 @@ readme = "../../README.md"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "qemu", "instrumentation"]
|
keywords = ["fuzzing", "qemu", "instrumentation"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
links = "qemu"
|
links = "qemu"
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
@ -33,12 +39,19 @@ systemmode = []
|
|||||||
|
|
||||||
python = ["pyo3", "pyo3-build-config"]
|
python = ["pyo3", "pyo3-build-config"]
|
||||||
|
|
||||||
slirp = [ "systemmode", "libafl_qemu_build/slirp" ] # build qemu with host libslirp (for user networking)
|
slirp = [
|
||||||
|
"systemmode",
|
||||||
|
"libafl_qemu_build/slirp",
|
||||||
|
] # build qemu with host libslirp (for user networking)
|
||||||
shared = ["libafl_qemu_build/shared"]
|
shared = ["libafl_qemu_build/shared"]
|
||||||
|
|
||||||
clippy = [ "libafl_qemu_build/clippy" ] # special feature for clippy, don't use in normal projects
|
clippy = [
|
||||||
|
"libafl_qemu_build/clippy",
|
||||||
|
] # special feature for clippy, don't use in normal projects
|
||||||
|
|
||||||
paranoid_debug = ["libafl_qemu_build/paranoid_debug"] # Will perform as many checks as possible. The target will be greatly slowed down.
|
paranoid_debug = [
|
||||||
|
"libafl_qemu_build/paranoid_debug",
|
||||||
|
] # Will perform as many checks as possible. The target will be greatly slowed down.
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
paste = "1"
|
paste = "1"
|
||||||
|
@ -10,7 +10,13 @@ license = "MIT OR Apache-2.0"
|
|||||||
keywords = ["fuzzing"]
|
keywords = ["fuzzing"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
@ -18,7 +24,9 @@ all-features = true
|
|||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
document-features = ["dep:document-features"]
|
document-features = ["dep:document-features"]
|
||||||
clippy = [ "libafl_qemu/clippy" ] # special feature for clippy, don't use in normal projects
|
clippy = [
|
||||||
|
"libafl_qemu/clippy",
|
||||||
|
] # special feature for clippy, don't use in normal projects
|
||||||
|
|
||||||
#! # Feature Flags
|
#! # Feature Flags
|
||||||
#! ## General Features
|
#! ## General Features
|
||||||
|
@ -46,18 +46,22 @@ sancov_8bit = []
|
|||||||
sancov_ngram4 = ["coverage"]
|
sancov_ngram4 = ["coverage"]
|
||||||
sancov_ngram8 = ["coverage"]
|
sancov_ngram8 = ["coverage"]
|
||||||
sancov_ctx = ["coverage"]
|
sancov_ctx = ["coverage"]
|
||||||
sancov_cmplog = ["common"] # Defines cmp and __sanitizer_weak_hook functions. Use libfuzzer_interceptors to define interceptors (only compatible with Linux)
|
sancov_cmplog = [
|
||||||
|
"common",
|
||||||
|
] # Defines cmp and __sanitizer_weak_hook functions. Use libfuzzer_interceptors to define interceptors (only compatible with Linux)
|
||||||
sancov_pcguard = ["sancov_pcguard_hitcounts"]
|
sancov_pcguard = ["sancov_pcguard_hitcounts"]
|
||||||
sanitizer_interfaces = []
|
sanitizer_interfaces = []
|
||||||
clippy = [] # Ignore compiler warnings during clippy
|
clippy = [] # Ignore compiler warnings during clippy
|
||||||
observers = ["meminterval", "ahash"]
|
observers = ["meminterval", "ahash"]
|
||||||
common = [] # Compile common C code defining sanitizer options and cross-platform intrinsics
|
common = [
|
||||||
|
] # Compile common C code defining sanitizer options and cross-platform intrinsics
|
||||||
coverage = ["common"] # Compile C code definining coverage maps
|
coverage = ["common"] # Compile C code definining coverage maps
|
||||||
cmplog = ["common"] # Compile C code defining cmp log maps
|
cmplog = ["common"] # Compile C code defining cmp log maps
|
||||||
forkserver = ["common"] # Compile C code for forkserver support
|
forkserver = ["common"] # Compile C code for forkserver support
|
||||||
windows_asan = ["common"] # Compile C code for ASAN on Windows
|
windows_asan = ["common"] # Compile C code for ASAN on Windows
|
||||||
whole_archive = [] # use +whole-archive to ensure the presence of weak symbols
|
whole_archive = [] # use +whole-archive to ensure the presence of weak symbols
|
||||||
cmplog_extended_instrumentation = [] # support for aflpp cmplog map, we will remove this once aflpp and libafl cmplog shares the same LLVM passes.
|
cmplog_extended_instrumentation = [
|
||||||
|
] # support for aflpp cmplog map, we will remove this once aflpp and libafl cmplog shares the same LLVM passes.
|
||||||
function-logging = ["common"]
|
function-logging = ["common"]
|
||||||
track_hit_feedbacks = ["libafl/track_hit_feedbacks"]
|
track_hit_feedbacks = ["libafl/track_hit_feedbacks"]
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
@ -66,8 +70,10 @@ cc = { version = "1.0", features = ["parallel"] }
|
|||||||
rustversion = "1.0"
|
rustversion = "1.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libafl = { path = "../libafl", version = "0.13.2", default-features = false, features = [] }
|
libafl = { path = "../libafl", version = "0.13.2", default-features = false, features = [
|
||||||
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = [] }
|
] }
|
||||||
|
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = [
|
||||||
|
] }
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
hashbrown = "0.14"
|
hashbrown = "0.14"
|
||||||
once_cell = "1.19"
|
once_cell = "1.19"
|
||||||
@ -75,7 +81,9 @@ log = "0.4.20"
|
|||||||
rustversion = "1.0"
|
rustversion = "1.0"
|
||||||
|
|
||||||
rangemap = "1.3"
|
rangemap = "1.3"
|
||||||
serde = { version = "1.0", default-features = false, features = ["alloc"] } # serialization lib
|
serde = { version = "1.0", default-features = false, features = [
|
||||||
|
"alloc",
|
||||||
|
] } # serialization lib
|
||||||
meminterval = { version = "0.4", features = ["serde"], optional = true }
|
meminterval = { version = "0.4", features = ["serde"], optional = true }
|
||||||
ahash = { version = "0.8.3", default-features = false, optional = true }
|
ahash = { version = "0.8.3", default-features = false, optional = true }
|
||||||
# serde-big-array = "0.3.2"
|
# serde-big-array = "0.3.2"
|
||||||
|
@ -2,9 +2,18 @@
|
|||||||
name = "libafl_tinyinst"
|
name = "libafl_tinyinst"
|
||||||
version = "0.13.2"
|
version = "0.13.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["elbiazo <eric.l.biazo@gmail.com>", "Dongjia Zhang <tokazerkje@outlook.com>"]
|
authors = [
|
||||||
|
"elbiazo <eric.l.biazo@gmail.com>",
|
||||||
|
"Dongjia Zhang <tokazerkje@outlook.com>",
|
||||||
|
]
|
||||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "testing", "security"]
|
keywords = ["fuzzing", "testing", "security"]
|
||||||
description = "TinyInst backend for libafl"
|
description = "TinyInst backend for libafl"
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
[package]
|
[package]
|
||||||
authors = ["Andrea Fioraldi <andreafioraldi@gmail.com>", "Dominik Maier <domenukk@gmail.com>"]
|
authors = [
|
||||||
|
"Andrea Fioraldi <andreafioraldi@gmail.com>",
|
||||||
|
"Dominik Maier <domenukk@gmail.com>",
|
||||||
|
]
|
||||||
name = "deexit"
|
name = "deexit"
|
||||||
version = "0.13.2"
|
version = "0.13.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
@ -9,7 +12,13 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
|
|||||||
readme = "../../README.md"
|
readme = "../../README.md"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["fuzzing", "libafl", "ldpreload"]
|
keywords = ["fuzzing", "libafl", "ldpreload"]
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
@ -5,7 +5,13 @@ edition = "2021"
|
|||||||
description = "DeSyscall: Hooks syscalls for reduces overhead during in-process fuzzing"
|
description = "DeSyscall: Hooks syscalls for reduces overhead during in-process fuzzing"
|
||||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
categories = [
|
||||||
|
"development-tools::testing",
|
||||||
|
"emulators",
|
||||||
|
"embedded",
|
||||||
|
"os",
|
||||||
|
"no-std",
|
||||||
|
]
|
||||||
keywords = ["fuzzing", "libafl", "ldpreload"]
|
keywords = ["fuzzing", "libafl", "ldpreload"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user