Don't build z3 from source by default (and add static_z3 feature) (#1160)
* Reduce build times by using preinstaled z3 * fix env order --------- Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
This commit is contained in:
parent
f4f23de32b
commit
8f8e74d670
@ -1,10 +1,10 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME='fuzzer_sd'
|
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"] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
|
||||||
|
|
||||||
# Compilers
|
# Compilers
|
||||||
[tasks.cc]
|
[tasks.cc]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
[env]
|
[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"
|
FUZZER_NAME="fuzzer"
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner="@shell"
|
script_runner="@shell"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
[env]
|
[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"
|
FUZZER_NAME="fuzzer"
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner="@shell"
|
script_runner="@shell"
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME='fuzzer_libpng'
|
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"] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner="@shell"
|
script_runner="@shell"
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME='fuzzer_libpng'
|
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"] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner="@shell"
|
script_runner="@shell"
|
||||||
@ -102,7 +102,7 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_unix]
|
[tasks.fuzzer_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/release/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", "-lz3"]
|
||||||
dependencies = [ "lib", "cxx", "cc" ]
|
dependencies = [ "lib", "cxx", "cc" ]
|
||||||
|
|
||||||
# Crashing Harness
|
# Crashing Harness
|
||||||
@ -113,7 +113,7 @@ windows_alias = "unsupported"
|
|||||||
|
|
||||||
[tasks.fuzzer_crash_unix]
|
[tasks.fuzzer_crash_unix]
|
||||||
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
|
command = "${CARGO_TARGET_DIR}/release/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", "-lz3"]
|
||||||
dependencies = [ "crash_lib", "crash_cxx", "crash_cc" ]
|
dependencies = [ "crash_lib", "crash_cxx", "crash_cc" ]
|
||||||
|
|
||||||
# Run the fuzzer
|
# Run the fuzzer
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME='fuzzer_libpng_ctx'
|
FUZZER_NAME='fuzzer_libpng_ctx'
|
||||||
|
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"] } }
|
||||||
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
|
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
|
||||||
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
|
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
|
||||||
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
|
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
|
||||||
|
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
|
||||||
|
|
||||||
[tasks.unsupported]
|
[tasks.unsupported]
|
||||||
script_runner="@shell"
|
script_runner="@shell"
|
||||||
script='''
|
script='''
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME='libfuzzer_stb_image'
|
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"] } }
|
||||||
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libafl_cc', mapping = {"windows" = '.\\target\\release\\libafl_cc.exe'} }
|
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libafl_cc', mapping = {"windows" = '.\\target\\release\\libafl_cc.exe'} }
|
||||||
LIBAFL_CXX = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libafl_cxx', mapping = {"windows" = '.\\target\\release\\libafl_cxx.exe'} }
|
LIBAFL_CXX = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libafl_cxx', mapping = {"windows" = '.\\target\\release\\libafl_cxx.exe'} }
|
||||||
FUZZER = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libfuzzer_stb_image', mapping = {"windows" = '.\\target\\release\\libfuzzer_stb_image.exe'} }
|
FUZZER = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libfuzzer_stb_image', mapping = {"windows" = '.\\target\\release\\libfuzzer_stb_image.exe'} }
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
|
||||||
|
|
||||||
# Compilers
|
# Compilers
|
||||||
[tasks.cxx]
|
[tasks.cxx]
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# Variables
|
# Variables
|
||||||
[env]
|
[env]
|
||||||
FUZZER_NAME='libfuzzer_stb_image_sugar'
|
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"] } }
|
||||||
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libafl_cc', mapping = {"windows" = '.\\target\\release\\libafl_cc.exe'} }
|
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libafl_cc', mapping = {"windows" = '.\\target\\release\\libafl_cc.exe'} }
|
||||||
LIBAFL_CXX = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libafl_cxx', mapping = {"windows" = '.\\target\\release\\libafl_cxx.exe'} }
|
LIBAFL_CXX = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libafl_cxx', mapping = {"windows" = '.\\target\\release\\libafl_cxx.exe'} }
|
||||||
FUZZER = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libfuzzer_stb_image_sugar', mapping = {"windows" = '.\\target\\release\\libfuzzer_stb_image_sugar.exe'} }
|
FUZZER = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/release/libfuzzer_stb_image_sugar', mapping = {"windows" = '.\\target\\release\\libfuzzer_stb_image_sugar.exe'} }
|
||||||
PROJECT_DIR = { script = ["pwd"] }
|
|
||||||
|
|
||||||
# Compilers
|
# Compilers
|
||||||
[tasks.cxx]
|
[tasks.cxx]
|
||||||
|
@ -27,8 +27,9 @@ cli = ["clap"] # expose bolts::cli for easy commandline parsing
|
|||||||
qemu_cli = ["cli"] # Commandline flags for qemu-based fuzzers
|
qemu_cli = ["cli"] # Commandline flags for qemu-based fuzzers
|
||||||
frida_cli = ["cli"] # Commandline flags for frida-based fuzzers
|
frida_cli = ["cli"] # Commandline flags for frida-based fuzzers
|
||||||
afl_exec_sec = [] # calculate exec/sec like AFL
|
afl_exec_sec = [] # calculate exec/sec like AFL
|
||||||
errors_backtrace = ["backtrace"] # Create backtraces at Error creation
|
errors_backtrace = ["backtrace"]
|
||||||
cmin = ["z3"] # for corpus minimisation
|
cmin = ["z3"] # corpus minimisation
|
||||||
|
static_z3 = ["z3/static-link-z3"] # Allows us to build z3 from source, instead of installing it
|
||||||
corpus_btreemap = [] # Switches from HashMap to BTreeMap for CorpusId
|
corpus_btreemap = [] # Switches from HashMap to BTreeMap for CorpusId
|
||||||
gzip = ["miniz_oxide"] # Enables gzip compression in certain parts of the lib
|
gzip = ["miniz_oxide"] # Enables gzip compression in certain parts of the lib
|
||||||
regex = ["std", "dep:regex"] # enables the NaiveTokenizer and StacktraceObserver
|
regex = ["std", "dep:regex"] # enables the NaiveTokenizer and StacktraceObserver
|
||||||
@ -98,7 +99,7 @@ log = "0.4.17"
|
|||||||
|
|
||||||
wait-timeout = { version = "0.2", optional = true } # used by CommandExecutor to wait for child process
|
wait-timeout = { version = "0.2", optional = true } # used by CommandExecutor to wait for child process
|
||||||
|
|
||||||
z3 = { version = "0.11", features = ["static-link-z3"], optional = true } # for concolic mutation
|
z3 = { version = "0.11", optional = true } # for concolic mutation and other solving needs
|
||||||
|
|
||||||
pyo3 = { version = "0.17", optional = true, features = ["serde", "macros"] }
|
pyo3 = { version = "0.17", optional = true, features = ["serde", "macros"] }
|
||||||
concat-idents = { version = "1.1.3", optional = true }
|
concat-idents = { version = "1.1.3", optional = true }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user