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]
|
||||
pyo3 = { version = "0.18.3", features = ["extension-module"] }
|
||||
pyo3-log = "0.8.1"
|
||||
libafl_sugar = { path = "../../libafl_sugar", version = "0.13.2", features = ["python"] }
|
||||
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", features = ["python"] }
|
||||
libafl_sugar = { path = "../../libafl_sugar", version = "0.13.2", features = [
|
||||
"python",
|
||||
] }
|
||||
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", features = [
|
||||
"python",
|
||||
] }
|
||||
|
||||
[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]
|
||||
pyo3-build-config = { version = "0.17" }
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "baby_fuzzer"
|
||||
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"
|
||||
|
||||
[features]
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "baby_fuzzer_gramatron"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -21,4 +24,6 @@ debug = true
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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]
|
||||
name = "baby_fuzzer_grimoire"
|
||||
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"
|
||||
|
||||
[features]
|
||||
|
@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "baby_fuzzer_minimizing"
|
||||
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"
|
||||
|
||||
[features]
|
||||
|
@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "baby_fuzzer_multi"
|
||||
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"
|
||||
|
||||
[features]
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "baby_fuzzer_nautilus"
|
||||
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"
|
||||
|
||||
[features]
|
||||
|
@ -27,7 +27,12 @@ cc = "1.0"
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl" }
|
||||
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 }
|
||||
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
|
@ -2,7 +2,9 @@
|
||||
[env]
|
||||
FUZZER_NAME = 'fuzzer_sd'
|
||||
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_DIR = { value = "release" }
|
||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "baby_fuzzer_tokens"
|
||||
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"
|
||||
|
||||
[features]
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "baby_fuzzer_unicode"
|
||||
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"
|
||||
|
||||
[features]
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "baby_fuzzer_with_forkexecutor"
|
||||
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"
|
||||
|
||||
[features]
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "baby_no_std"
|
||||
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"
|
||||
|
||||
[profile.dev]
|
||||
@ -21,4 +24,3 @@ static-alloc = "0.2.3"
|
||||
|
||||
[target.'cfg(unix)'.dependencies]
|
||||
libc = "0.2"
|
||||
|
||||
|
@ -2,7 +2,9 @@
|
||||
FUZZER_NAME = "fuzzer"
|
||||
PROJECT_DIR = { script = ["pwd"] }
|
||||
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]
|
||||
script_runner = "@shell"
|
||||
@ -13,7 +15,14 @@ echo "Cargo-make not integrated yet on this"
|
||||
# Fuzzer
|
||||
[tasks.build]
|
||||
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
|
||||
[tasks.test]
|
||||
|
@ -26,7 +26,11 @@ nix = { version = "0.29", features = ["signal"] }
|
||||
libafl = { path = "../../../libafl/" }
|
||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||
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"
|
||||
|
||||
[lib]
|
||||
|
@ -1,9 +1,13 @@
|
||||
# Variables
|
||||
[env]
|
||||
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_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_CXX = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx'
|
||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||
|
@ -18,11 +18,22 @@ opt-level = 3
|
||||
debug = true
|
||||
|
||||
[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/" }
|
||||
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_targets = { path = "../../../libafl_targets", features = ["sancov_cmplog"] }
|
||||
libafl_targets = { path = "../../../libafl_targets", features = [
|
||||
"sancov_cmplog",
|
||||
] }
|
||||
libc = "0.2"
|
||||
libloading = "0.7"
|
||||
num-traits = "0.2"
|
||||
|
@ -1,8 +1,12 @@
|
||||
# Variables
|
||||
[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_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
||||
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||
"PROFILE_DIR",
|
||||
] } }
|
||||
|
||||
[tasks.unsupported]
|
||||
script_runner = "@shell"
|
||||
|
@ -15,12 +15,23 @@ opt-level = 3
|
||||
debug = true
|
||||
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/", features = [ "std", "llmp_compression",
|
||||
"llmp_bind_public", "frida_cli", "errors_backtrace" ] } #, "llmp_small_maps", "llmp_debug"]}
|
||||
libafl = { path = "../../../libafl/", features = [
|
||||
"std",
|
||||
"llmp_compression",
|
||||
"llmp_bind_public",
|
||||
"frida_cli",
|
||||
"errors_backtrace",
|
||||
] } #, "llmp_small_maps", "llmp_debug"]}
|
||||
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_targets = { path = "../../../libafl_targets", features = ["sancov_cmplog"] }
|
||||
libafl_targets = { path = "../../../libafl_targets", features = [
|
||||
"sancov_cmplog",
|
||||
] }
|
||||
libloading = "0.7"
|
||||
mimalloc = { version = "*", default-features = false }
|
||||
dlmalloc = { version = "0.2.6", features = ["global"] }
|
||||
|
@ -1,9 +1,13 @@
|
||||
# Variables
|
||||
[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" } }
|
||||
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]
|
||||
script_runner = "@shell"
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "frida_fuzzer"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -15,12 +18,23 @@ opt-level = 3
|
||||
debug = true
|
||||
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/", features = [ "std", "llmp_compression",
|
||||
"llmp_bind_public", "frida_cli", "errors_backtrace" ] } #, "llmp_small_maps", "llmp_debug"]}
|
||||
libafl = { path = "../../../libafl/", features = [
|
||||
"std",
|
||||
"llmp_compression",
|
||||
"llmp_bind_public",
|
||||
"frida_cli",
|
||||
"errors_backtrace",
|
||||
] } #, "llmp_small_maps", "llmp_debug"]}
|
||||
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_targets = { path = "../../../libafl_targets", features = ["sancov_cmplog"] }
|
||||
libafl_targets = { path = "../../../libafl_targets", features = [
|
||||
"sancov_cmplog",
|
||||
] }
|
||||
libloading = "0.7"
|
||||
mimalloc = { version = "*", default-features = false }
|
||||
color-backtrace = "0.5"
|
||||
|
@ -1,9 +1,13 @@
|
||||
# Variables
|
||||
[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" } }
|
||||
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]
|
||||
script_runner = "@shell"
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "fuzzbench"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -27,7 +30,11 @@ which = "6.0"
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
clap = { version = "4.5", features = ["default"] }
|
||||
|
@ -1,9 +1,13 @@
|
||||
[env]
|
||||
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"
|
||||
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]
|
||||
script_runner = "@shell"
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "fuzzbench_ctx"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -27,7 +30,12 @@ which = "6.0"
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
clap = { version = "4.5", features = ["default"] }
|
||||
|
@ -1,9 +1,13 @@
|
||||
[env]
|
||||
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"
|
||||
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]
|
||||
script_runner = "@shell"
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "fuzzbench_fork_qemu"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -22,7 +25,10 @@ strip = true
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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"] }
|
||||
nix = { version = "0.29", features = ["fs"] }
|
||||
|
@ -3,7 +3,9 @@
|
||||
FUZZER_NAME = 'libpng_harness'
|
||||
PROJECT_DIR = { script = ["pwd"] }
|
||||
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]
|
||||
script_runner = "@shell"
|
||||
@ -67,7 +69,18 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.run_unix]
|
||||
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"]
|
||||
|
||||
# Run the fuzzer
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "fuzzbench_forkserver"
|
||||
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"
|
||||
|
||||
[profile.release]
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "fuzzbench_forkserver_cmplog"
|
||||
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"
|
||||
|
||||
[profile.release]
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "fuzzbench_qemu"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -22,8 +25,10 @@ strip = true
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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"] }
|
||||
nix = { version = "0.29", features = ["fs"] }
|
||||
|
||||
|
@ -3,7 +3,9 @@
|
||||
FUZZER_NAME = 'libpng_harness'
|
||||
PROJECT_DIR = { script = ["pwd"] }
|
||||
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]
|
||||
script_runner = "@shell"
|
||||
@ -67,7 +69,18 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.run_unix]
|
||||
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"]
|
||||
|
||||
# Run the fuzzer
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "fuzzbench_text"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -22,7 +25,11 @@ which = "6.0"
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
clap = { version = "4.5", features = ["default"] }
|
||||
|
@ -1,9 +1,13 @@
|
||||
[env]
|
||||
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"
|
||||
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]
|
||||
script_runner = "@shell"
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "libfuzzer_libpng"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -24,7 +27,11 @@ which = "6.0"
|
||||
libafl = { path = "../../../libafl/", features = ["default"] }
|
||||
# libafl = { path = "../../../libafl/", features = ["default"] }
|
||||
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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
mimalloc = { version = "*", default-features = false }
|
||||
|
@ -2,9 +2,13 @@
|
||||
[env]
|
||||
FUZZER_NAME = 'fuzzer_libpng'
|
||||
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_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_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||
@ -104,7 +108,16 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_unix]
|
||||
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"]
|
||||
|
||||
# Crashing Harness
|
||||
@ -115,7 +128,16 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_crash_unix]
|
||||
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"]
|
||||
|
||||
# Run the fuzzer
|
||||
@ -150,7 +172,6 @@ sleep 0.2
|
||||
dependencies = ["fuzzer_crash"]
|
||||
|
||||
|
||||
|
||||
# Test
|
||||
[tasks.test]
|
||||
linux_alias = "test_unix"
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "libfuzzer_libpng_accounting"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -19,9 +22,21 @@ cc = { version = "1.0", features = ["parallel"] }
|
||||
which = "6.0"
|
||||
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/", features = ["std", "derive", "llmp_compression", "introspection"] }
|
||||
libafl_bolts = { path = "../../../libafl_bolts/", features = ["std", "derive", "llmp_compression"] }
|
||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
|
||||
libafl = { path = "../../../libafl/", features = [
|
||||
"std",
|
||||
"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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
clap = { version = "4.5", features = ["derive"] }
|
||||
|
@ -1,8 +1,12 @@
|
||||
# Variables
|
||||
[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_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
||||
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||
"PROFILE_DIR",
|
||||
] } }
|
||||
FUZZER_NAME = 'fuzzer_libpng_accounting'
|
||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cc'
|
||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||
@ -72,7 +76,16 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_unix]
|
||||
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"]
|
||||
|
||||
# Run the fuzzer
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "libfuzzer_libpng_launcher_centralized"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -19,9 +22,23 @@ cc = { version = "1.0", features = ["parallel"] }
|
||||
which = "6.0"
|
||||
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/", features = ["std", "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"] }
|
||||
libafl = { path = "../../../libafl/", features = [
|
||||
"std",
|
||||
"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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
clap = { version = "4.5", features = ["derive"] }
|
||||
|
@ -1,9 +1,13 @@
|
||||
# Variables
|
||||
[env]
|
||||
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_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_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||
@ -72,7 +76,16 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_unix]
|
||||
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"]
|
||||
|
||||
# Run the fuzzer
|
||||
|
@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "libfuzzer_libpng_cmin"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -25,7 +29,11 @@ env_logger = "0.10"
|
||||
libafl = { path = "../../../libafl/", features = ["default", "cmin"] }
|
||||
# libafl = { path = "../../../libafl/", features = ["default"] }
|
||||
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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
mimalloc = { version = "*", default-features = false }
|
||||
|
@ -2,9 +2,13 @@
|
||||
[env]
|
||||
FUZZER_NAME = 'fuzzer_libpng'
|
||||
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_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_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||
@ -104,7 +108,17 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_unix]
|
||||
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"]
|
||||
|
||||
# Crashing Harness
|
||||
@ -115,7 +129,17 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_crash_unix]
|
||||
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"]
|
||||
|
||||
# Run the fuzzer
|
||||
@ -150,7 +174,6 @@ sleep 0.2
|
||||
dependencies = ["fuzzer_crash"]
|
||||
|
||||
|
||||
|
||||
# Test
|
||||
[tasks.test]
|
||||
linux_alias = "test_unix"
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "libfuzzer_libpng_launcher"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -19,9 +22,17 @@ cc = { version = "1.0", features = ["parallel"] }
|
||||
which = "6.0"
|
||||
|
||||
[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_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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
clap = { version = "4.5", features = ["derive"] }
|
||||
|
@ -1,9 +1,13 @@
|
||||
# Variables
|
||||
[env]
|
||||
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_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_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||
LIBAFL_LIBTOOL = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_libtool'
|
||||
@ -73,7 +77,16 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_unix]
|
||||
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"]
|
||||
|
||||
# Run the fuzzer
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "libfuzzer_libpng_launcher_norestart"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -21,8 +24,13 @@ which = "6.0"
|
||||
[dependencies]
|
||||
env_logger = "0.10"
|
||||
libafl = { path = "../../../libafl/" }
|
||||
libafl_bolts = { path = "../../../libafl_bolts/", features = ["errors_backtrace"] }
|
||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "libfuzzer"] }
|
||||
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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
clap = { version = "4.5", features = ["derive"] }
|
||||
|
@ -1,9 +1,13 @@
|
||||
# Variables
|
||||
[env]
|
||||
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_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_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||
@ -62,7 +66,16 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_unix]
|
||||
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"]
|
||||
|
||||
# Run the fuzzer
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "libfuzzer_libpng_tcp_manager"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -24,7 +27,11 @@ which = "6.0"
|
||||
libafl = { path = "../../../libafl/", features = ["default", "tcp_manager"] }
|
||||
# libafl = { path = "../../../libafl/", features = ["default"] }
|
||||
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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
mimalloc = { version = "*", default-features = false }
|
||||
|
@ -2,9 +2,13 @@
|
||||
[env]
|
||||
FUZZER_NAME = 'fuzzer_libpng'
|
||||
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_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_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||
@ -104,7 +108,16 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_unix]
|
||||
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"]
|
||||
|
||||
# Crashing Harness
|
||||
@ -115,7 +128,16 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_crash_unix]
|
||||
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"]
|
||||
|
||||
# Run the fuzzer
|
||||
@ -150,7 +172,6 @@ sleep 0.2
|
||||
dependencies = ["fuzzer_crash"]
|
||||
|
||||
|
||||
|
||||
# Test
|
||||
[tasks.test]
|
||||
linux_alias = "test_unix"
|
||||
|
@ -3,10 +3,19 @@ name = "cargo_fuzz_test"
|
||||
edition = "2021"
|
||||
version = "0.0.0"
|
||||
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/"
|
||||
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
|
||||
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "dynamic_analysis"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -29,7 +32,12 @@ env_logger = "0.11"
|
||||
once_cell = "1.19"
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
clap = { version = "4.5", features = ["default"] }
|
||||
|
@ -1,9 +1,13 @@
|
||||
[env]
|
||||
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"
|
||||
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]
|
||||
script_runner = "@shell"
|
||||
@ -38,7 +42,16 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzz_o_unix]
|
||||
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"]
|
||||
|
||||
# Fuzzer
|
||||
@ -49,7 +62,15 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_unix]
|
||||
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"]
|
||||
|
||||
# Run
|
||||
|
@ -6,8 +6,17 @@ edition = "2021"
|
||||
[dependencies]
|
||||
clap = { version = "4.5", features = ["derive", "env"] }
|
||||
env_logger = "0.11.3"
|
||||
libafl = { path = "../../../libafl", features = ["std", "derive", "track_hit_feedbacks", "clap", "errors_backtrace"]}
|
||||
libafl_bolts = { path = "../../../libafl_bolts", features = ["std", "errors_backtrace"]}
|
||||
libafl = { path = "../../../libafl", features = [
|
||||
"std",
|
||||
"derive",
|
||||
"track_hit_feedbacks",
|
||||
"clap",
|
||||
"errors_backtrace",
|
||||
] }
|
||||
libafl_bolts = { path = "../../../libafl_bolts", features = [
|
||||
"std",
|
||||
"errors_backtrace",
|
||||
] }
|
||||
libafl_targets = { path = "../../../libafl_targets" }
|
||||
memmap2 = "0.9.4"
|
||||
nix = { version = "0.29", features = ["fs"] }
|
||||
|
@ -1,11 +1,17 @@
|
||||
[env]
|
||||
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_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
||||
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||
"PROFILE_DIR",
|
||||
] } }
|
||||
FUZZER_NAME = 'libafl-fuzz'
|
||||
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_DIR_NAME= {value = "./AFLplusplus-${AFL_VERSION}"}
|
||||
AFL_CC_PATH= {value = "${AFL_DIR_NAME}/afl-clang-fast"}
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "libafl_atheris"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -21,7 +24,12 @@ which = "6.0"
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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"] }
|
||||
|
||||
[lib]
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "libfuzzer_libmozjpeg"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -17,7 +20,11 @@ debug = true
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
mimalloc = { version = "*", default-features = false }
|
||||
|
@ -1,9 +1,13 @@
|
||||
# Variables
|
||||
[env]
|
||||
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_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_CXX = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/libafl_cxx'
|
||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||
@ -71,7 +75,17 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_unix]
|
||||
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"]
|
||||
|
||||
# Run the fuzzer
|
||||
|
@ -16,7 +16,10 @@ debug = true
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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/" }
|
||||
|
||||
[build-dependencies]
|
||||
|
@ -1,9 +1,13 @@
|
||||
# Variables
|
||||
[env]
|
||||
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_DIR = {value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
||||
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||
"PROFILE_DIR",
|
||||
] } }
|
||||
|
||||
[tasks.unsupported]
|
||||
script_runner = "@shell"
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "nautilus_sync"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -22,7 +25,10 @@ debug = true
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/", features = ["default", "nautilus"] }
|
||||
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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
clap = { version = "4.5", features = ["derive"] }
|
||||
|
@ -1,9 +1,13 @@
|
||||
# Variables
|
||||
[env]
|
||||
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_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_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
|
||||
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE_DIR}/${FUZZER_NAME}'
|
||||
@ -73,7 +77,16 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.fuzzer_unix]
|
||||
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"]
|
||||
|
||||
# Run the fuzzer
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "push_harness"
|
||||
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"
|
||||
|
||||
[features]
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "push_stage_harness"
|
||||
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"
|
||||
|
||||
[features]
|
||||
|
@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "libfuzzer_libpng_launcher_centralized_multi_machine"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -20,9 +24,34 @@ which = "6.0"
|
||||
|
||||
[dependencies]
|
||||
# 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_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
|
||||
libafl_cc = { path = "../../../libafl_cc" }
|
||||
clap = { version = "4.5", features = ["derive"] }
|
||||
|
@ -1,7 +1,11 @@
|
||||
[env]
|
||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||
PROFILE_DIR = { value = "release", condition = {env_not_set = ["PROFILE_DIR"] }}
|
||||
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
|
||||
PROFILE_DIR = { value = "release", condition = { env_not_set = [
|
||||
"PROFILE_DIR",
|
||||
] } }
|
||||
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = [
|
||||
"CARGO_TARGET_DIR",
|
||||
] } }
|
||||
|
||||
[tasks.unsupported]
|
||||
script_runner = "@shell"
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "tutorial"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -21,9 +24,17 @@ which = "6.0"
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/", features = ["default", "rand_trait"] }
|
||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||
libafl_targets = { path = "../../../libafl_targets/", features = ["sancov_pcguard_hitcounts", "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
|
||||
libafl_targets = { path = "../../../libafl_targets/", features = [
|
||||
"sancov_pcguard_hitcounts",
|
||||
"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
|
||||
libafl_cc = { path = "../../../libafl_cc/" }
|
||||
|
||||
|
@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "qemu_cmin"
|
||||
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"
|
||||
|
||||
[profile.release]
|
||||
@ -22,7 +26,14 @@ mips = ["libafl_qemu/mips"]
|
||||
ppc = ["libafl_qemu/ppc", "be"]
|
||||
|
||||
[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]
|
||||
clap = { version = "4.5", features = ["derive", "string"] }
|
||||
|
@ -1,6 +1,8 @@
|
||||
[env]
|
||||
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_CXX = "x86_64-linux-gnu-g++"
|
||||
CROSS_CFLAGS = ""
|
||||
@ -109,7 +111,9 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.zlib_unix_wget]
|
||||
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"
|
||||
# NOTE: There's no specific reason we're using an old version of zlib,
|
||||
# but newer versions get moved to fossils/ after a while.
|
||||
@ -148,7 +152,9 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.libpng_unix_wget]
|
||||
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 = '''
|
||||
wget \
|
||||
@ -193,8 +199,10 @@ args = [
|
||||
"build",
|
||||
"--profile",
|
||||
"${PROFILE}",
|
||||
"--features", "${FEATURE}",
|
||||
"--target-dir", "${TARGET_DIR}"
|
||||
"--features",
|
||||
"${FEATURE}",
|
||||
"--target-dir",
|
||||
"${TARGET_DIR}",
|
||||
]
|
||||
|
||||
[tasks.fuzzer]
|
||||
@ -235,8 +243,10 @@ windows_alias = "unsupported"
|
||||
[tasks.run_unix]
|
||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_cmin-${CARGO_MAKE_PROFILE}"
|
||||
args = [
|
||||
"--output", "./output",
|
||||
"--input", "./corpus",
|
||||
"--output",
|
||||
"./output",
|
||||
"--input",
|
||||
"./corpus",
|
||||
"--verbose",
|
||||
"--",
|
||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||
@ -252,10 +262,7 @@ windows_alias = "unsupported"
|
||||
dependencies = ["lightweight"]
|
||||
# Tidy up after we've run our tests so we don't hog all the disk space
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"clean",
|
||||
]
|
||||
args = ["make", "clean"]
|
||||
|
||||
[tasks.test_full]
|
||||
linux_alias = "test_unix_full"
|
||||
@ -266,10 +273,7 @@ windows_alias = "unsupported"
|
||||
dependencies = ["all"]
|
||||
# Tidy up after we've run our tests so we don't hog all the disk space
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"clean",
|
||||
]
|
||||
args = ["make", "clean"]
|
||||
|
||||
[tasks.clean]
|
||||
linux_alias = "clean_unix"
|
||||
@ -287,64 +291,30 @@ cargo clean
|
||||
|
||||
[tasks.arm]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "arm",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "arm", "run"]
|
||||
|
||||
[tasks.aarch64]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "aarch64",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "aarch64", "run"]
|
||||
|
||||
[tasks.x86_64]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "x86_64",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "x86_64", "run"]
|
||||
|
||||
[tasks.i386]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "i386",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "i386", "run"]
|
||||
|
||||
[tasks.mips]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "mips",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "mips", "run"]
|
||||
|
||||
[tasks.ppc]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "ppc",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "ppc", "run"]
|
||||
|
||||
[tasks.all]
|
||||
dependencies = [
|
||||
"arm",
|
||||
"aarch64",
|
||||
"x86_64",
|
||||
"i386",
|
||||
"mips",
|
||||
"ppc"
|
||||
]
|
||||
dependencies = ["arm", "aarch64", "x86_64", "i386", "mips", "ppc"]
|
||||
|
||||
[tasks.lightweight]
|
||||
dependencies = [
|
||||
"arm",
|
||||
"x86_64",
|
||||
]
|
||||
dependencies = ["arm", "x86_64"]
|
||||
|
@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "qemu_coverage"
|
||||
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"
|
||||
|
||||
[profile.release]
|
||||
@ -22,7 +26,14 @@ mips = ["libafl_qemu/mips"]
|
||||
ppc = ["libafl_qemu/ppc", "be"]
|
||||
|
||||
[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]
|
||||
clap = { version = "4.5", features = ["derive", "string"] }
|
||||
|
@ -1,6 +1,8 @@
|
||||
[env]
|
||||
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_CXX = "x86_64-linux-gnu-g++"
|
||||
CROSS_CFLAGS = ""
|
||||
@ -109,7 +111,9 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.zlib_unix_wget]
|
||||
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"
|
||||
# NOTE: There's no specific reason we're using an old version of zlib,
|
||||
# but newer versions get moved to fossils/ after a while.
|
||||
@ -148,7 +152,9 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.libpng_unix_wget]
|
||||
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 = '''
|
||||
wget \
|
||||
@ -193,8 +199,10 @@ args = [
|
||||
"build",
|
||||
"--profile",
|
||||
"${PROFILE}",
|
||||
"--features", "${FEATURE}",
|
||||
"--target-dir", "${TARGET_DIR}"
|
||||
"--features",
|
||||
"${FEATURE}",
|
||||
"--target-dir",
|
||||
"${TARGET_DIR}",
|
||||
]
|
||||
|
||||
[tasks.fuzzer]
|
||||
@ -235,8 +243,10 @@ windows_alias = "unsupported"
|
||||
[tasks.run_unix]
|
||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_coverage-${CARGO_MAKE_PROFILE}"
|
||||
args = [
|
||||
"--coverage-path", "${TARGET_DIR}/drcov.log",
|
||||
"--input-dir", "./corpus",
|
||||
"--coverage-path",
|
||||
"${TARGET_DIR}/drcov.log",
|
||||
"--input-dir",
|
||||
"./corpus",
|
||||
"--",
|
||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||
]
|
||||
@ -251,10 +261,7 @@ windows_alias = "unsupported"
|
||||
dependencies = ["lightweight"]
|
||||
# Tidy up after we've run our tests so we don't hog all the disk space
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"clean",
|
||||
]
|
||||
args = ["make", "clean"]
|
||||
|
||||
[tasks.test_full]
|
||||
linux_alias = "test_unix_full"
|
||||
@ -265,10 +272,7 @@ windows_alias = "unsupported"
|
||||
dependencies = ["all"]
|
||||
# Tidy up after we've run our tests so we don't hog all the disk space
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"clean",
|
||||
]
|
||||
args = ["make", "clean"]
|
||||
|
||||
[tasks.clean]
|
||||
linux_alias = "clean_unix"
|
||||
@ -286,64 +290,30 @@ cargo clean
|
||||
|
||||
[tasks.arm]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "arm",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "arm", "run"]
|
||||
|
||||
[tasks.aarch64]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "aarch64",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "aarch64", "run"]
|
||||
|
||||
[tasks.x86_64]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "x86_64",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "x86_64", "run"]
|
||||
|
||||
[tasks.i386]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "i386",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "i386", "run"]
|
||||
|
||||
[tasks.mips]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "mips",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "mips", "run"]
|
||||
|
||||
[tasks.ppc]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "ppc",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "ppc", "run"]
|
||||
|
||||
[tasks.all]
|
||||
dependencies = [
|
||||
"arm",
|
||||
"aarch64",
|
||||
"x86_64",
|
||||
"i386",
|
||||
"mips",
|
||||
"ppc"
|
||||
]
|
||||
dependencies = ["arm", "aarch64", "x86_64", "i386", "mips", "ppc"]
|
||||
|
||||
[tasks.lightweight]
|
||||
dependencies = [
|
||||
"arm",
|
||||
"x86_64",
|
||||
]
|
||||
dependencies = ["arm", "x86_64"]
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "qemu_launcher"
|
||||
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"
|
||||
|
||||
[features]
|
||||
@ -33,12 +36,21 @@ opt-level = 3
|
||||
debug = true
|
||||
|
||||
[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]
|
||||
clap = { version = "4.3", features = ["derive", "string"] }
|
||||
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"] }
|
||||
log = { version = "0.4.20" }
|
||||
nix = { version = "0.29", features = ["fs"] }
|
||||
|
@ -1,6 +1,8 @@
|
||||
[env]
|
||||
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_CXX = "x86_64-linux-gnu-g++"
|
||||
CROSS_CFLAGS = ""
|
||||
@ -101,7 +103,9 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.zlib_unix_wget]
|
||||
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"
|
||||
# NOTE: There's no specific reason we're using an old version of zlib,
|
||||
# but newer versions get moved to fossils/ after a while.
|
||||
@ -140,7 +144,9 @@ windows_alias = "unsupported"
|
||||
|
||||
[tasks.libpng_unix_wget]
|
||||
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 = '''
|
||||
wget \
|
||||
@ -186,8 +192,10 @@ args = [
|
||||
"build",
|
||||
"--profile",
|
||||
"${PROFILE}",
|
||||
"--features", "${FEATURE}",
|
||||
"--target-dir", "${TARGET_DIR}"
|
||||
"--features",
|
||||
"${FEATURE}",
|
||||
"--target-dir",
|
||||
"${TARGET_DIR}",
|
||||
]
|
||||
|
||||
[tasks.fuzzer]
|
||||
@ -228,13 +236,20 @@ windows_alias = "unsupported"
|
||||
[tasks.debug_unix]
|
||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
||||
args = [
|
||||
"--input", "./corpus",
|
||||
"--output", "${TARGET_DIR}/output/",
|
||||
"--log", "${TARGET_DIR}/output/log.txt",
|
||||
"--cores", "0-7",
|
||||
"--asan-cores", "0-3",
|
||||
"--cmplog-cores", "2-5",
|
||||
"--iterations", "100000",
|
||||
"--input",
|
||||
"./corpus",
|
||||
"--output",
|
||||
"${TARGET_DIR}/output/",
|
||||
"--log",
|
||||
"${TARGET_DIR}/output/log.txt",
|
||||
"--cores",
|
||||
"0-7",
|
||||
"--asan-cores",
|
||||
"0-3",
|
||||
"--cmplog-cores",
|
||||
"2-5",
|
||||
"--iterations",
|
||||
"100000",
|
||||
"--verbose",
|
||||
"--",
|
||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||
@ -249,13 +264,20 @@ windows_alias = "unsupported"
|
||||
[tasks.run_unix]
|
||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
||||
args = [
|
||||
"--input", "./corpus",
|
||||
"--output", "${TARGET_DIR}/output/",
|
||||
"--log", "${TARGET_DIR}/output/log.txt",
|
||||
"--cores", "0-7",
|
||||
"--asan-cores", "0-3",
|
||||
"--cmplog-cores", "2-5",
|
||||
"--iterations", "1000000",
|
||||
"--input",
|
||||
"./corpus",
|
||||
"--output",
|
||||
"${TARGET_DIR}/output/",
|
||||
"--log",
|
||||
"${TARGET_DIR}/output/log.txt",
|
||||
"--cores",
|
||||
"0-7",
|
||||
"--asan-cores",
|
||||
"0-3",
|
||||
"--cmplog-cores",
|
||||
"2-5",
|
||||
"--iterations",
|
||||
"1000000",
|
||||
"--tui",
|
||||
"--",
|
||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||
@ -270,10 +292,14 @@ windows_alias = "unsupported"
|
||||
[tasks.single_unix]
|
||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
||||
args = [
|
||||
"--input", "./corpus",
|
||||
"--output", "${TARGET_DIR}/output/",
|
||||
"--log", "${TARGET_DIR}/output/log.txt",
|
||||
"--cores", "0",
|
||||
"--input",
|
||||
"./corpus",
|
||||
"--output",
|
||||
"${TARGET_DIR}/output/",
|
||||
"--log",
|
||||
"${TARGET_DIR}/output/log.txt",
|
||||
"--cores",
|
||||
"0",
|
||||
"--",
|
||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||
]
|
||||
@ -287,11 +313,16 @@ windows_alias = "unsupported"
|
||||
[tasks.asan_unix]
|
||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
||||
args = [
|
||||
"--input", "./corpus",
|
||||
"--output", "${TARGET_DIR}/output/",
|
||||
"--log", "${TARGET_DIR}/output/log.txt",
|
||||
"--cores", "0",
|
||||
"--asan-cores", "0",
|
||||
"--input",
|
||||
"./corpus",
|
||||
"--output",
|
||||
"${TARGET_DIR}/output/",
|
||||
"--log",
|
||||
"${TARGET_DIR}/output/log.txt",
|
||||
"--cores",
|
||||
"0",
|
||||
"--asan-cores",
|
||||
"0",
|
||||
"--",
|
||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||
]
|
||||
@ -305,11 +336,16 @@ windows_alias = "unsupported"
|
||||
[tasks.asan_guest_unix]
|
||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_launcher-${CARGO_MAKE_PROFILE}"
|
||||
args = [
|
||||
"--input", "./corpus",
|
||||
"--output", "${TARGET_DIR}/output/",
|
||||
"--log", "${TARGET_DIR}/output/log.txt",
|
||||
"--cores", "0",
|
||||
"--asan-guest-cores", "0",
|
||||
"--input",
|
||||
"./corpus",
|
||||
"--output",
|
||||
"${TARGET_DIR}/output/",
|
||||
"--log",
|
||||
"${TARGET_DIR}/output/log.txt",
|
||||
"--cores",
|
||||
"0",
|
||||
"--asan-guest-cores",
|
||||
"0",
|
||||
"--",
|
||||
"${TARGET_DIR}/libpng-harness-${CARGO_MAKE_PROFILE}",
|
||||
]
|
||||
@ -358,58 +394,27 @@ cargo clean
|
||||
|
||||
[tasks.arm]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "arm",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "arm", "run"]
|
||||
|
||||
[tasks.aarch64]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "aarch64",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "aarch64", "run"]
|
||||
|
||||
[tasks.x86_64]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "x86_64",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "x86_64", "run"]
|
||||
|
||||
[tasks.i386]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "i386",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "i386", "run"]
|
||||
|
||||
[tasks.mips]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "mips",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "mips", "run"]
|
||||
|
||||
[tasks.ppc]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-p", "ppc",
|
||||
"run",
|
||||
]
|
||||
args = ["make", "-p", "ppc", "run"]
|
||||
|
||||
[tasks.all]
|
||||
dependencies = [
|
||||
"arm",
|
||||
"aarch64",
|
||||
"x86_64",
|
||||
"i386",
|
||||
"mips",
|
||||
"ppc"
|
||||
]
|
||||
dependencies = ["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
|
||||
# example.
|
||||
[cmd]
|
||||
tokens = [
|
||||
"'\"FUZZ\"'",
|
||||
"\";FUZZ;\"",
|
||||
"';FUZZ;'",
|
||||
"$(FUZZ)",
|
||||
]
|
||||
tokens = ["'\"FUZZ\"'", "\";FUZZ;\"", "';FUZZ;'", "$(FUZZ)"]
|
||||
matches = ["'\"FUZZ\"'"]
|
||||
|
||||
[cmd.functions]
|
||||
|
@ -1,14 +1,18 @@
|
||||
[package]
|
||||
name = "qemu_systemmode"
|
||||
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"
|
||||
|
||||
[features]
|
||||
default = ["std", "classic"]
|
||||
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
|
||||
sync_exit = [] # Uses the command system, with sync exit.
|
||||
|
||||
@ -23,8 +27,14 @@ codegen-units = 1
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
libafl_bolts = { path = "../../../libafl_bolts/" }
|
||||
libafl_qemu = { path = "../../../libafl_qemu/", features = ["arm", "systemmode"] }
|
||||
libafl_qemu_sys = { path = "../../../libafl_qemu/libafl_qemu_sys", features = ["arm", "systemmode"] }
|
||||
libafl_qemu = { path = "../../../libafl_qemu/", features = [
|
||||
"arm",
|
||||
"systemmode",
|
||||
] }
|
||||
libafl_qemu_sys = { path = "../../../libafl_qemu/libafl_qemu_sys", features = [
|
||||
"arm",
|
||||
"systemmode",
|
||||
] }
|
||||
env_logger = "*"
|
||||
|
||||
[build-dependencies]
|
||||
|
@ -1,5 +1,4 @@
|
||||
env_scripts = [
|
||||
'''
|
||||
env_scripts = ['''
|
||||
#!@duckscript
|
||||
profile = get_env PROFILE
|
||||
|
||||
@ -8,8 +7,7 @@ if eq ${profile} "dev"
|
||||
else
|
||||
set_env PROFILE_DIR ${profile}
|
||||
end
|
||||
''',
|
||||
'''
|
||||
''', '''
|
||||
#!@duckscript
|
||||
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 KERNEL ${cargo_target_dir}/example.elf
|
||||
end
|
||||
'''
|
||||
]
|
||||
''']
|
||||
|
||||
[env]
|
||||
PROFILE = { value = "release", condition = { env_not_set = ["PROFILE"] } }
|
||||
@ -51,13 +48,17 @@ args = [
|
||||
"-ffreestanding",
|
||||
"-nostartfiles",
|
||||
"-lgcc",
|
||||
"-T", "${CARGO_MAKE_WORKING_DIRECTORY}/example/mps2_m3.ld",
|
||||
"-T",
|
||||
"${CARGO_MAKE_WORKING_DIRECTORY}/example/mps2_m3.ld",
|
||||
"-mcpu=cortex-m3",
|
||||
"${CARGO_MAKE_WORKING_DIRECTORY}/example/main.c",
|
||||
"${CARGO_MAKE_WORKING_DIRECTORY}/example/startup.c",
|
||||
"-D", "${TARGET_DEFINE}",
|
||||
"-I", "${TARGET_DIR}/${PROFILE_DIR}/include",
|
||||
"-o", "${TARGET_DIR}/example.elf",
|
||||
"-D",
|
||||
"${TARGET_DEFINE}",
|
||||
"-I",
|
||||
"${TARGET_DIR}/${PROFILE_DIR}/include",
|
||||
"-o",
|
||||
"${TARGET_DIR}/example.elf",
|
||||
]
|
||||
|
||||
[tasks.build_fuzzer]
|
||||
@ -68,22 +69,30 @@ args = [
|
||||
"--profile",
|
||||
"${PROFILE}",
|
||||
"--no-default-features",
|
||||
"--features", "std,${FEATURE}",
|
||||
"--target-dir", "${TARGET_DIR}",
|
||||
"--features",
|
||||
"std,${FEATURE}",
|
||||
"--target-dir",
|
||||
"${TARGET_DIR}",
|
||||
]
|
||||
dependencies = ["image"]
|
||||
|
||||
[tasks.run_fuzzer]
|
||||
command = "${TARGET_DIR}/${PROFILE_DIR}/qemu_systemmode"
|
||||
args = [
|
||||
"-icount", "shift=auto,align=off,sleep=off",
|
||||
"-machine", "mps2-an385",
|
||||
"-monitor", "null",
|
||||
"-kernel", "${TARGET_DIR}/example.elf",
|
||||
"-serial", "null",
|
||||
"-icount",
|
||||
"shift=auto,align=off,sleep=off",
|
||||
"-machine",
|
||||
"mps2-an385",
|
||||
"-monitor",
|
||||
"null",
|
||||
"-kernel",
|
||||
"${TARGET_DIR}/example.elf",
|
||||
"-serial",
|
||||
"null",
|
||||
"-nographic",
|
||||
"-snapshot",
|
||||
"-drive", "if=none,format=qcow2,file=${TARGET_DIR}/dummy.qcow2",
|
||||
"-drive",
|
||||
"if=none,format=qcow2,file=${TARGET_DIR}/dummy.qcow2",
|
||||
"-S",
|
||||
]
|
||||
dependencies = ["target"]
|
||||
@ -109,59 +118,55 @@ fi
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-e", "FEATURE=classic",
|
||||
"-e", "TARGET_DEFINE=TARGET_CLASSIC",
|
||||
"-e",
|
||||
"FEATURE=classic",
|
||||
"-e",
|
||||
"TARGET_DEFINE=TARGET_CLASSIC",
|
||||
"build_fuzzer",
|
||||
]
|
||||
|
||||
[tasks.test_classic]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-e", "FEATURE=classic",
|
||||
"test_fuzzer",
|
||||
]
|
||||
args = ["make", "-e", "FEATURE=classic", "test_fuzzer"]
|
||||
|
||||
[tasks.build_breakpoint]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-e", "FEATURE=breakpoint",
|
||||
"-e", "TARGET_DEFINE=TARGET_BREAKPOINT",
|
||||
"-e",
|
||||
"FEATURE=breakpoint",
|
||||
"-e",
|
||||
"TARGET_DEFINE=TARGET_BREAKPOINT",
|
||||
"build_fuzzer",
|
||||
]
|
||||
|
||||
[tasks.test_breakpoint]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-e", "FEATURE=breakpoint",
|
||||
"test_fuzzer",
|
||||
]
|
||||
args = ["make", "-e", "FEATURE=breakpoint", "test_fuzzer"]
|
||||
|
||||
[tasks.build_sync_exit]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-e", "FEATURE=sync_exit",
|
||||
"-e", "TARGET_DEFINE=TARGET_SYNC_EXIT",
|
||||
"-e",
|
||||
"FEATURE=sync_exit",
|
||||
"-e",
|
||||
"TARGET_DEFINE=TARGET_SYNC_EXIT",
|
||||
"build_fuzzer",
|
||||
]
|
||||
|
||||
[tasks.test_sync_exit]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-e", "FEATURE=sync_exit",
|
||||
"test_fuzzer",
|
||||
]
|
||||
args = ["make", "-e", "FEATURE=sync_exit", "test_fuzzer"]
|
||||
|
||||
[tasks.classic]
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-e", "FEATURE=classic",
|
||||
"-e", "TARGET_DEFINE=TARGET_CLASSIC",
|
||||
"-e",
|
||||
"FEATURE=classic",
|
||||
"-e",
|
||||
"TARGET_DEFINE=TARGET_CLASSIC",
|
||||
"run_fuzzer",
|
||||
]
|
||||
|
||||
@ -169,8 +174,10 @@ args = [
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-e", "FEATURE=breakpoint",
|
||||
"-e", "TARGET_DEFINE=TARGET_BREAKPOINT",
|
||||
"-e",
|
||||
"FEATURE=breakpoint",
|
||||
"-e",
|
||||
"TARGET_DEFINE=TARGET_BREAKPOINT",
|
||||
"run_fuzzer",
|
||||
]
|
||||
|
||||
@ -178,8 +185,10 @@ args = [
|
||||
command = "cargo"
|
||||
args = [
|
||||
"make",
|
||||
"-e", "FEATURE=sync_exit",
|
||||
"-e", "TARGET_DEFINE=TARGET_SYNC_EXIT",
|
||||
"-e",
|
||||
"FEATURE=sync_exit",
|
||||
"-e",
|
||||
"TARGET_DEFINE=TARGET_SYNC_EXIT",
|
||||
"run_fuzzer",
|
||||
]
|
||||
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "libfuzzer_stb_image"
|
||||
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"
|
||||
build = "build.rs"
|
||||
|
||||
@ -18,7 +21,12 @@ debug = true
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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 }
|
||||
|
||||
[build-dependencies]
|
||||
|
@ -2,7 +2,9 @@
|
||||
[env]
|
||||
FUZZER_NAME = 'libfuzzer_stb_image'
|
||||
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_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' } }
|
||||
|
@ -1,7 +1,9 @@
|
||||
# Variables
|
||||
[env]
|
||||
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_DIR = { value = "release" }
|
||||
FUZZER_NAME = 'libfuzzer_stb_image_concolic'
|
||||
|
@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "libfuzzer_stb_image_concolic"
|
||||
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"
|
||||
build = "build.rs"
|
||||
|
||||
@ -18,7 +22,11 @@ debug = true
|
||||
[dependencies]
|
||||
libafl = { path = "../../../../libafl/", features = ["concolic_mutation"] }
|
||||
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"] }
|
||||
mimalloc = { version = "*", default-features = false }
|
||||
|
||||
|
@ -1,10 +1,19 @@
|
||||
[package]
|
||||
name = "libfuzzer_stb_image_sugar"
|
||||
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"
|
||||
build = "build.rs"
|
||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
||||
categories = [
|
||||
"development-tools::testing",
|
||||
"emulators",
|
||||
"embedded",
|
||||
"os",
|
||||
"no-std",
|
||||
]
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
@ -19,7 +28,11 @@ debug = true
|
||||
[dependencies]
|
||||
libafl = { path = "../../../libafl/" }
|
||||
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/" }
|
||||
mimalloc = { version = "*", default-features = false }
|
||||
|
||||
|
@ -2,7 +2,9 @@
|
||||
[env]
|
||||
FUZZER_NAME = 'libfuzzer_stb_image_sugar'
|
||||
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_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' } }
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "libafl"
|
||||
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"
|
||||
documentation = "https://docs.rs/libafl"
|
||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||
@ -9,7 +12,13 @@ readme = "../README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
keywords = ["fuzzing", "testing", "security"]
|
||||
edition = "2021"
|
||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
||||
categories = [
|
||||
"development-tools::testing",
|
||||
"emulators",
|
||||
"embedded",
|
||||
"os",
|
||||
"no-std",
|
||||
]
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
features = ["document-features"]
|
||||
@ -17,14 +26,40 @@ all-features = true
|
||||
rustc-args = ["--cfg", "docsrs"]
|
||||
|
||||
[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"]
|
||||
|
||||
#! # Feature Flags
|
||||
#! ### General Features
|
||||
|
||||
## 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
|
||||
track_hit_feedbacks = ["std"]
|
||||
@ -77,7 +112,13 @@ casr = ["libcasr", "std", "regex"]
|
||||
cmin = ["z3"]
|
||||
|
||||
## 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
|
||||
concolic_mutation = ["z3"]
|
||||
@ -94,7 +135,10 @@ multipart_inputs = ["arrayvec", "rand_trait"]
|
||||
#! ## LibAFL-Bolts Features
|
||||
|
||||
## 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
|
||||
cli = ["libafl_bolts/cli"]
|
||||
@ -128,10 +172,19 @@ llmp_compression = ["libafl_bolts/llmp_compression"]
|
||||
llmp_debug = ["std", "libafl_bolts/llmp_debug"]
|
||||
|
||||
## 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.
|
||||
nautilus = ["std", "serde_json/std", "pyo3", "rand_trait", "regex-syntax", "regex"]
|
||||
nautilus = [
|
||||
"std",
|
||||
"serde_json/std",
|
||||
"pyo3",
|
||||
"rand_trait",
|
||||
"regex-syntax",
|
||||
"regex",
|
||||
]
|
||||
|
||||
[build-dependencies]
|
||||
rustversion = "1.0"
|
||||
@ -142,15 +195,25 @@ serde_json = { version = "1.0", default-features = false, features = ["alloc"] }
|
||||
bytecount = "0.6.3"
|
||||
|
||||
[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 }
|
||||
|
||||
rustversion = "1.0"
|
||||
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 }
|
||||
serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] } # serialization lib
|
||||
postcard = { version = "1.0", features = ["alloc"], default-features = false } # no_std compatible serde serialization format
|
||||
serde = { version = "1.0", default-features = false, features = [
|
||||
"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 }
|
||||
c2rust-bitfields = { version = "0.18", features = ["no_std"] }
|
||||
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
|
||||
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 }
|
||||
regex = { version = "1", optional = true }
|
||||
uuid = { version = "1.8", optional = true, features = ["serde", "v4"] }
|
||||
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 }
|
||||
|
||||
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 }
|
||||
futures = { version = "0.3", optional = true }
|
||||
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 }
|
||||
|
||||
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 }
|
||||
|
||||
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
|
||||
|
||||
@ -191,7 +268,9 @@ pyo3 = { version = "0.18.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)
|
||||
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-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
|
||||
|
||||
[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]
|
||||
windows = "0.51.1"
|
||||
|
@ -1,7 +1,10 @@
|
||||
[package]
|
||||
name = "libafl_bolts"
|
||||
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"
|
||||
documentation = "https://docs.rs/libafl"
|
||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||
@ -9,7 +12,13 @@ readme = "./README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
keywords = ["fuzzing", "testing", "security"]
|
||||
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"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
@ -17,14 +26,36 @@ features = ["document-features"]
|
||||
all-features = true
|
||||
|
||||
[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"]
|
||||
|
||||
#! # Feature Flags
|
||||
#! ### General Features
|
||||
|
||||
## 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`
|
||||
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"
|
||||
|
||||
tuple_list = { version = "0.1.3" }
|
||||
hashbrown = { version = "0.14", features = ["serde", "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
|
||||
hashbrown = { version = "0.14", features = [
|
||||
"serde",
|
||||
"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
|
||||
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 }
|
||||
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
|
||||
|
||||
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 }
|
||||
hostname = { version = "^0.4", optional = true } # Is there really no gethostname in the stdlib?
|
||||
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"] }
|
||||
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" }
|
||||
|
||||
pyo3 = { version = "0.18", optional = true, features = ["serde", "macros"] }
|
||||
|
||||
# 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-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 }
|
||||
|
||||
[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]
|
||||
windows = "0.51.1"
|
||||
|
@ -9,12 +9,28 @@ readme = "README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
keywords = ["fuzzing", "testing", "compiler"]
|
||||
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
|
||||
|
||||
[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
|
||||
ddg-instr = []
|
||||
@ -35,4 +51,7 @@ which = "6.0"
|
||||
glob = "0.3"
|
||||
|
||||
[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"
|
||||
version = "0.13.2"
|
||||
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"
|
||||
documentation = "https://docs.rs/symcc_libafl"
|
||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||
readme = "README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
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
|
||||
|
||||
|
@ -2,7 +2,11 @@
|
||||
name = "symcc_runtime"
|
||||
version = "0.13.2"
|
||||
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"
|
||||
documentation = "https://docs.rs/symcc_runtime"
|
||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||
@ -10,7 +14,13 @@ readme = "README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
keywords = ["fuzzing", "testing", "security"]
|
||||
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
|
||||
|
||||
@ -25,8 +35,14 @@ no-cpp-runtime = []
|
||||
unchecked_unwrap = "4"
|
||||
ctor = "0.2"
|
||||
libc = "0.2"
|
||||
libafl = { path = "../../libafl", version = "0.13.2", default-features=false, features=["std", "serdeany_autoreg"] }
|
||||
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", default-features=false, features=["std", "serdeany_autoreg"] }
|
||||
libafl = { path = "../../libafl", version = "0.13.2", default-features = false, features = [
|
||||
"std",
|
||||
"serdeany_autoreg",
|
||||
] }
|
||||
libafl_bolts = { path = "../../libafl_bolts", version = "0.13.2", default-features = false, features = [
|
||||
"std",
|
||||
"serdeany_autoreg",
|
||||
] }
|
||||
|
||||
[build-dependencies]
|
||||
cmake = "0.1"
|
||||
|
@ -9,7 +9,13 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||
readme = "../README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
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
|
||||
|
||||
|
@ -9,7 +9,13 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||
readme = "../README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
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]
|
||||
crate-type = ["cdylib"]
|
||||
|
@ -9,7 +9,13 @@ readme = "../README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
keywords = ["fuzzing", "testing"]
|
||||
edition = "2021"
|
||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
||||
categories = [
|
||||
"development-tools::testing",
|
||||
"emulators",
|
||||
"embedded",
|
||||
"os",
|
||||
"no-std",
|
||||
]
|
||||
|
||||
[lib]
|
||||
proc-macro = true
|
||||
|
@ -14,13 +14,18 @@ categories = [
|
||||
"emulators",
|
||||
"embedded",
|
||||
"os",
|
||||
"no-std"
|
||||
"no-std",
|
||||
]
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
no-default-features = true # We can't use auto-download inside docs.rs (no internet)
|
||||
all-features = false
|
||||
features = ["cmplog", "serdeany_autoreg", "track_hit_feedbacks", "document-features"]
|
||||
features = [
|
||||
"cmplog",
|
||||
"serdeany_autoreg",
|
||||
"track_hit_feedbacks",
|
||||
"document-features",
|
||||
]
|
||||
|
||||
[features]
|
||||
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 = [
|
||||
"std",
|
||||
"derive",
|
||||
"frida_cli"
|
||||
"frida_cli",
|
||||
] }
|
||||
libafl_targets = { path = "../libafl_targets", version = "0.13.2", features = [
|
||||
"std",
|
||||
@ -101,7 +106,9 @@ winsafe = {version = "0.0.21", features = ["kernel"]}
|
||||
|
||||
|
||||
[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"] }
|
||||
libloading = "0.8"
|
||||
mimalloc = { version = "0.1", default-features = false }
|
||||
|
@ -9,12 +9,7 @@ keywords = ["fuzzing", "testing", "security"]
|
||||
edition = "2021"
|
||||
categories = ["development-tools::testing"]
|
||||
|
||||
include = [
|
||||
"/src",
|
||||
"/Cargo.toml",
|
||||
"/build.rs",
|
||||
"/runtime",
|
||||
]
|
||||
include = ["/src", "/Cargo.toml", "/build.rs", "/runtime"]
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
|
@ -10,7 +10,10 @@ publish = false
|
||||
default = ["fork"]
|
||||
## Enables forking mode for the LibAFL launcher (instead of starting new processes)
|
||||
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]
|
||||
lto = true
|
||||
@ -29,9 +32,38 @@ name = "afl_libfuzzer_runtime" # historically, cargo-fuzz strips double-prefixes
|
||||
crate-type = ["staticlib", "rlib"]
|
||||
|
||||
[dependencies]
|
||||
libafl = { path = "../libafl", default-features = false, features = ["std", "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"] }
|
||||
libafl = { path = "../libafl", default-features = false, features = [
|
||||
"std",
|
||||
"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 }
|
||||
libc = "0.2.1"
|
||||
|
@ -9,15 +9,32 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||
readme = "../README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
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
|
||||
|
||||
[target.'cfg(target_os = "linux")'.dependencies]
|
||||
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_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"] }
|
||||
libafl = { path = "../libafl", version = "0.13.2", features = [
|
||||
"std",
|
||||
"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"] }
|
||||
typed-builder = "0.18"
|
||||
|
@ -9,16 +9,30 @@ readme = "../README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
keywords = ["fuzzing", "qemu", "instrumentation"]
|
||||
edition = "2021"
|
||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
||||
categories = [
|
||||
"development-tools::testing",
|
||||
"emulators",
|
||||
"embedded",
|
||||
"os",
|
||||
"no-std",
|
||||
]
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
features = ["document-features", "default", "python", "x86_64", "usermode"]
|
||||
rustdoc-args = ["--cfg", "docsrs"]
|
||||
|
||||
[features]
|
||||
default = ["fork", "build_libgasan", "build_libqasan", "serdeany_autoreg", "injections"]
|
||||
default = [
|
||||
"fork",
|
||||
"build_libgasan",
|
||||
"build_libqasan",
|
||||
"serdeany_autoreg",
|
||||
"injections",
|
||||
]
|
||||
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
|
||||
#! ### General Features
|
||||
@ -39,7 +53,9 @@ x86_64 = ["libafl_qemu_sys/x86_64"]
|
||||
i386 = ["libafl_qemu_sys/i386"] # build qemu for i386
|
||||
arm = ["libafl_qemu_sys/arm"] # build qemu for arm
|
||||
aarch64 = ["libafl_qemu_sys/aarch64"] # build qemu for aarch64
|
||||
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
|
||||
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.
|
||||
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`
|
||||
shared = ["libafl_qemu_sys/shared"]
|
||||
@ -66,13 +85,24 @@ shared = [ "libafl_qemu_sys/shared" ]
|
||||
clippy = ["libafl_qemu_sys/clippy"]
|
||||
|
||||
[dependencies]
|
||||
libafl = { path = "../libafl", version = "0.13.2", default-features = false, features = ["std", "derive", "regex"] }
|
||||
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = ["std", "derive"] }
|
||||
libafl = { path = "../libafl", version = "0.13.2", default-features = false, features = [
|
||||
"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_qemu_sys = { path = "./libafl_qemu_sys", version = "0.13.2" }
|
||||
|
||||
serde = { version = "1.0", default-features = false, features = ["alloc"] } # serialization lib
|
||||
hashbrown = { version = "0.14", features = ["serde"] } # A faster hashmap, nostd compatible
|
||||
serde = { version = "1.0", default-features = false, features = [
|
||||
"alloc",
|
||||
] } # serialization lib
|
||||
hashbrown = { version = "0.14", features = [
|
||||
"serde",
|
||||
] } # A faster hashmap, nostd compatible
|
||||
num-traits = "0.2"
|
||||
num-derive = "0.4"
|
||||
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§
|
||||
|
||||
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]
|
||||
bindgen = "0.69.4"
|
||||
|
@ -9,7 +9,13 @@ readme = "../../README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
keywords = ["fuzzing", "qemu", "instrumentation"]
|
||||
edition = "2021"
|
||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
||||
categories = [
|
||||
"development-tools::testing",
|
||||
"emulators",
|
||||
"embedded",
|
||||
"os",
|
||||
"no-std",
|
||||
]
|
||||
links = "qemu"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
@ -33,12 +39,19 @@ systemmode = []
|
||||
|
||||
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"]
|
||||
|
||||
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]
|
||||
paste = "1"
|
||||
|
@ -10,7 +10,13 @@ license = "MIT OR Apache-2.0"
|
||||
keywords = ["fuzzing"]
|
||||
edition = "2021"
|
||||
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]
|
||||
all-features = true
|
||||
@ -18,7 +24,9 @@ all-features = true
|
||||
[features]
|
||||
default = []
|
||||
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
|
||||
#! ## General Features
|
||||
|
@ -46,18 +46,22 @@ sancov_8bit = []
|
||||
sancov_ngram4 = ["coverage"]
|
||||
sancov_ngram8 = ["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"]
|
||||
sanitizer_interfaces = []
|
||||
clippy = [] # Ignore compiler warnings during clippy
|
||||
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
|
||||
cmplog = ["common"] # Compile C code defining cmp log maps
|
||||
forkserver = ["common"] # Compile C code for forkserver support
|
||||
windows_asan = ["common"] # Compile C code for ASAN on Windows
|
||||
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"]
|
||||
track_hit_feedbacks = ["libafl/track_hit_feedbacks"]
|
||||
[build-dependencies]
|
||||
@ -66,8 +70,10 @@ cc = { version = "1.0", features = ["parallel"] }
|
||||
rustversion = "1.0"
|
||||
|
||||
[dependencies]
|
||||
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 = { path = "../libafl", version = "0.13.2", default-features = false, features = [
|
||||
] }
|
||||
libafl_bolts = { path = "../libafl_bolts", version = "0.13.2", default-features = false, features = [
|
||||
] }
|
||||
libc = "0.2"
|
||||
hashbrown = "0.14"
|
||||
once_cell = "1.19"
|
||||
@ -75,7 +81,9 @@ log = "0.4.20"
|
||||
rustversion = "1.0"
|
||||
|
||||
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 }
|
||||
ahash = { version = "0.8.3", default-features = false, optional = true }
|
||||
# serde-big-array = "0.3.2"
|
||||
|
@ -2,9 +2,18 @@
|
||||
name = "libafl_tinyinst"
|
||||
version = "0.13.2"
|
||||
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/"
|
||||
categories = ["development-tools::testing", "emulators", "embedded", "os", "no-std"]
|
||||
categories = [
|
||||
"development-tools::testing",
|
||||
"emulators",
|
||||
"embedded",
|
||||
"os",
|
||||
"no-std",
|
||||
]
|
||||
license = "MIT OR Apache-2.0"
|
||||
keywords = ["fuzzing", "testing", "security"]
|
||||
description = "TinyInst backend for libafl"
|
||||
|
@ -1,5 +1,8 @@
|
||||
[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"
|
||||
version = "0.13.2"
|
||||
edition = "2021"
|
||||
@ -9,7 +12,13 @@ repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||
readme = "../../README.md"
|
||||
license = "MIT OR Apache-2.0"
|
||||
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
|
||||
|
||||
|
@ -5,7 +5,13 @@ edition = "2021"
|
||||
description = "DeSyscall: Hooks syscalls for reduces overhead during in-process fuzzing"
|
||||
repository = "https://github.com/AFLplusplus/LibAFL/"
|
||||
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"]
|
||||
|
||||
[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