Remove --release from Makefile.toml (#1522)

* rem release

* Revert "rem release"

This reverts commit 13aaf13e412818629880348188c3e1b4137b9ed8.

* toggle it with envvar

* fm
This commit is contained in:
Dongjia "toka" Zhang 2023-09-25 14:22:10 +02:00 committed by GitHub
parent dc7d561621
commit c1eef33b5d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 191 additions and 163 deletions

View File

@ -3,23 +3,24 @@
FUZZER_NAME='fuzzer_sd'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
# Compilers
[tasks.cc]
command = "cargo"
args = ["build" , "--release", "--bin", "libafl_cc"]
args = ["build" , "--${PROFILE}", "--bin", "libafl_cc"]
# Harness
[tasks.fuzzer]
command = "cargo"
args = ["build" , "--release", "--bin", "${FUZZER_NAME}"]
args = ["build" , "--${PROFILE}", "--bin", "${FUZZER_NAME}"]
dependencies = [ "cc" ]
# Run the fuzzer
[tasks.run]
command = "${CARGO_TARGET_DIR}/release/${FUZZER_NAME}"
command = "${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}"
dependencies = [ "fuzzer" ]
# Test
@ -31,7 +32,7 @@ windows_alias = "unsupported"
[tasks.test_unix]
script_runner = "@shell"
script='''
timeout 10s ${CARGO_TARGET_DIR}/release/${FUZZER_NAME} >fuzz_stdout.log || true
timeout 10s ${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME} >fuzz_stdout.log || true
if [ -z "$(grep "objectives: 1" fuzz_stdout.log)" ]; then
echo "Fuzzer does not generate any testcases or any crashes"
exit 1

View File

@ -1,6 +1,7 @@
[env]
FUZZER_NAME="fuzzer"
PROJECT_DIR = { script = ["pwd"] }
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
[tasks.unsupported]
script_runner="@shell"
@ -11,7 +12,7 @@ echo "Cargo-make not integrated yet on this"
# Fuzzer
[tasks.build]
command = "cargo"
args = ["build", "--release", "-Zbuild-std=core,alloc", "--target", "x86_64-unknown-linux-gnu"]
args = ["build", "--${PROFILE}", "-Zbuild-std=core,alloc", "--target", "x86_64-unknown-linux-gnu"]
# Test
[tasks.test]
@ -26,7 +27,7 @@ cargo run -Zbuild-std=core,alloc --target x86_64-unknown-linux-gnu || true
dependencies = ["build"]
[tasks.build_aarch]
script = "cargo +nightly build -Zbuild-std=core,alloc --target aarch64-unknown-none -v --release"
script = "cargo +nightly build -Zbuild-std=core,alloc --target aarch64-unknown-none -v --${PROFILE}"
# Clean
[tasks.clean]

View File

@ -2,9 +2,10 @@
[env]
FUZZER_NAME='fuzzer_libafl_cc'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
PROJECT_DIR = { script = ["pwd"] }
[tasks.unsupported]
@ -21,7 +22,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -30,7 +31,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.crash_cxx]
linux_alias = "crash_cxx_unix"
@ -39,7 +40,7 @@ windows_alias = "unsupported"
[tasks.crash_cxx_unix]
command = "cargo"
args = ["build" , "--release", "--features=crash"]
args = ["build" , "--${PROFILE}", "--features=crash"]
[tasks.crash_cc]
linux_alias = "crash_cc_unix"
@ -48,7 +49,7 @@ windows_alias = "unsupported"
[tasks.crash_cc_unix]
command = "cargo"
args = ["build" , "--release", "--features=crash"]
args = ["build" , "--${PROFILE}", "--features=crash"]
# Harness
[tasks.fuzzer]
@ -57,7 +58,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cc"
command = "${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc"
args = ["${PROJECT_DIR}/src/program.c", "-o", "${FUZZER_NAME}", "-lm"]
dependencies = [ "cxx", "cc" ]
@ -68,7 +69,7 @@ mac_alias = "fuzzer_crash_unix"
windows_alias = "unsupported"
[tasks.fuzzer_crash_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cc"
command = "${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc"
args = ["${PROJECT_DIR}/src/program.c", "-o", "${FUZZER_NAME}_crash", "-lm"]
dependencies = [ "crash_cxx", "crash_cc" ]
@ -81,7 +82,7 @@ windows_alias = "unsupported"
[tasks.run_unix]
script_runner = "@shell"
script='''
taskset -c 1 ${CARGO_TARGET_DIR}/release/${CARGO_MAKE_PROJECT_NAME} ./${FUZZER_NAME} ./corpus/ -t 1000
taskset -c 1 ${CARGO_TARGET_DIR}/${PROFILE}/${CARGO_MAKE_PROJECT_NAME} ./${FUZZER_NAME} ./corpus/ -t 1000
'''
dependencies = [ "fuzzer" ]
@ -95,7 +96,7 @@ windows_alias = "unsupported"
[tasks.crash_unix]
script_runner = "@shell"
script='''
taskset -c 1 ${CARGO_TARGET_DIR}/release/${CARGO_MAKE_PROJECT_NAME} ./${FUZZER_NAME}_crash ./corpus/ -t 1000
taskset -c 1 ${CARGO_TARGET_DIR}/${PROFILE}/${CARGO_MAKE_PROJECT_NAME} ./${FUZZER_NAME}_crash ./corpus/ -t 1000
'''
dependencies = [ "fuzzer_crash" ]

View File

@ -1,7 +1,7 @@
# Variables
[env]
CARGO_TARGET_DIR = { value = "target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
[tasks.unsupported]
script_runner="@shell"
@ -61,7 +61,7 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
script_runner="@shell"
script='''
cargo build --release
cargo build --${PROFILE}
'''
# Run the fuzzer
@ -73,7 +73,7 @@ windows_alias = "unsupported"
[tasks.run_unix]
script_runner = "@shell"
script='''
LD_PRELOAD=$CARGO_TARGET_DIR/release/libfrida_executable_fuzzer.so ./libpng-harness -i corpus -o out -H ./libpng-harness
LD_PRELOAD=$CARGO_TARGET_DIR/${PROFILE}/libfrida_executable_fuzzer.so ./libpng-harness -i corpus -o out -H ./libpng-harness
'''
dependencies = [ "fuzzer", "harness" ]
@ -87,7 +87,7 @@ windows_alias = "unsupported"
script_runner = "@shell"
script='''
rm -rf libafl_unix_shmem_server || true
LD_PRELOAD=$CARGO_TARGET_DIR/release/libfrida_executable_fuzzer.so ./libpng-harness -i corpus -o out -H ./libpng-harness > fuzz_stdout.log &
LD_PRELOAD=$CARGO_TARGET_DIR/${PROFILE}/libfrida_executable_fuzzer.so ./libpng-harness -i corpus -o out -H ./libpng-harness > fuzz_stdout.log &
sleep 10s && pkill libpng-harness
if [ -z "$(grep "corpus: 30" fuzz_stdout.log)" ]; then
echo "Fuzzer does not generate any testcases or any crashes"

View File

@ -2,7 +2,7 @@
[env]
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"]} }
[tasks.unsupported]
script_runner="@shell"
@ -32,8 +32,8 @@ windows_alias = "fuzzer_windows"
[tasks.fuzzer_windows]
script_runner="@shell"
script='''
cargo build --release
cp ./target/release/${FUZZER_NAME} .
cargo build --${PROFILE}
cp ./target/${PROFILE}/${FUZZER_NAME} .
'''
# Run the fuzzer

View File

@ -2,7 +2,7 @@
[env]
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"]} }
[tasks.unsupported]
script_runner="@shell"
@ -68,15 +68,15 @@ windows_alias = "fuzzer_windows"
[tasks.fuzzer_unix]
script_runner="@shell"
script='''
cargo build --release
cp ${CARGO_TARGET_DIR}/release/${FUZZER_NAME} .
cargo build --${PROFILE}
cp ${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME} .
'''
[tasks.fuzzer_windows]
script_runner="@shell"
script='''
cargo build --release
cp ./target/release/${FUZZER_NAME} .
cargo build --${PROFILE}
cp ./target/${PROFILE}/${FUZZER_NAME} .
'''
# Run the fuzzer

View File

@ -2,6 +2,7 @@
PROJECT_DIR = { script = ["pwd"] }
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"]} }
[tasks.unsupported]
script_runner="@shell"
@ -17,7 +18,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -26,7 +27,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
# fuzz.o File
[tasks.fuzz_o]
@ -35,7 +36,7 @@ mac_alias = "fuzz_o_unix"
windows_alias = "unsupported"
[tasks.fuzz_o_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cc"
command = "${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc"
args = ["--libafl-no-link", "-O3", "-c", "fuzz.c", "-o", "fuzz.o"]
dependencies = ["cc", "cxx"]
@ -46,7 +47,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
args = ["--libafl", "fuzz.o", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
dependencies = ["cc", "cxx", "fuzz_o"]

View File

@ -2,6 +2,7 @@
[env]
FUZZER_NAME='libpng_harness'
PROJECT_DIR = { script = ["pwd"] }
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
[tasks.unsupported]
script_runner="@shell"
@ -31,7 +32,7 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "cargo"
args = ["build", "--release"]
args = ["build", "--${PROFILE}"]
# Harness
[tasks.harness]
@ -65,7 +66,7 @@ windows_alias = "unsupported"
[tasks.run_unix]
command = "cargo"
args = ["run", "--release", "./${FUZZER_NAME}", "--", "--libafl-in", "../libfuzzer_libpng/corpus", "--libafl-out", "./out", "./${FUZZER_NAME}"]
args = ["run", "--${PROFILE}", "./${FUZZER_NAME}", "--", "--libafl-in", "../libfuzzer_libpng/corpus", "--libafl-out", "./out", "./${FUZZER_NAME}"]
dependencies = [ "harness", "fuzzer" ]
# Run the fuzzer

View File

@ -2,6 +2,7 @@
[env]
FUZZER_NAME='libpng_harness'
PROJECT_DIR = { script = ["pwd"] }
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
[tasks.unsupported]
script_runner="@shell"
@ -31,7 +32,7 @@ windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "cargo"
args = ["build", "--release"]
args = ["build", "--${PROFILE}"]
# Harness
[tasks.harness]
@ -65,7 +66,7 @@ windows_alias = "unsupported"
[tasks.run_unix]
command = "cargo"
args = ["run", "--release", "./${FUZZER_NAME}", "--", "--libafl-in", "../libfuzzer_libpng/corpus", "--libafl-out", "./out", "./${FUZZER_NAME}"]
args = ["run", "--${PROFILE}", "./${FUZZER_NAME}", "--", "--libafl-in", "../libfuzzer_libpng/corpus", "--libafl-out", "./out", "./${FUZZER_NAME}"]
dependencies = [ "harness", "fuzzer" ]
# Run the fuzzer

View File

@ -2,6 +2,7 @@
PROJECT_DIR = { script = ["pwd"] }
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"]} }
[tasks.unsupported]
script_runner="@shell"
@ -17,7 +18,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -26,7 +27,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
# fuzz.o File
[tasks.fuzz_o]
@ -35,7 +36,7 @@ mac_alias = "fuzz_o_unix"
windows_alias = "unsupported"
[tasks.fuzz_o_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cc"
command = "${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc"
args = ["--libafl-no-link", "-O3", "-c", "fuzz.c", "-o", "fuzz.o"]
dependencies = ["cc", "cxx"]
@ -46,7 +47,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
args = ["--libafl", "fuzz.o", "-o", "${FUZZER_NAME}", "-lm", "-lz"]
dependencies = ["cc", "cxx", "fuzz_o"]

View File

@ -2,9 +2,10 @@
[env]
FUZZER_NAME='fuzzer_mozjpeg'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
PROJECT_DIR = { script = ["pwd"] }
[tasks.unsupported]
@ -35,7 +36,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -44,7 +45,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
# Library
[tasks.lib]
@ -68,7 +69,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "lib", "cxx", "cc" ]

View File

@ -3,9 +3,10 @@
FUZZER_NAME='fuzzer_libpng'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
[tasks.unsupported]
script_runner="@shell"
@ -35,7 +36,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -44,7 +45,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.crash_cxx]
linux_alias = "crash_cxx_unix"
@ -53,7 +54,7 @@ windows_alias = "unsupported"
[tasks.crash_cxx_unix]
command = "cargo"
args = ["build" , "--release", "--features=crash"]
args = ["build" , "--${PROFILE}", "--features=crash"]
[tasks.crash_cc]
linux_alias = "crash_cc_unix"
@ -62,7 +63,7 @@ windows_alias = "unsupported"
[tasks.crash_cc_unix]
command = "cargo"
args = ["build" , "--release", "--features=crash"]
args = ["build" , "--${PROFILE}", "--features=crash"]
# Library
[tasks.lib]
@ -75,7 +76,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "cxx", "cc" ]
@ -90,7 +91,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "crash_cxx", "crash_cc" ]
@ -101,7 +102,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "lib", "cxx", "cc" ]
@ -112,7 +113,7 @@ mac_alias = "fuzzer_crash_unix"
windows_alias = "unsupported"
[tasks.fuzzer_crash_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "crash_lib", "crash_cxx", "crash_cc" ]

View File

@ -1,10 +1,11 @@
# Variables
[env]
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
FUZZER_NAME='fuzzer_libpng_accounting'
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
PROJECT_DIR = { script = ["pwd"] }
[tasks.unsupported]
@ -35,7 +36,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -44,7 +45,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
# Library
[tasks.lib]
@ -57,7 +58,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "cxx", "cc" ]
@ -69,7 +70,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "lib", "cxx", "cc" ]

View File

@ -3,9 +3,10 @@
FUZZER_NAME='fuzzer_libpng'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target"}
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
[tasks.unsupported]
script_runner="@shell"
@ -35,7 +36,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -44,7 +45,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.crash_cxx]
linux_alias = "crash_cxx_unix"
@ -53,7 +54,7 @@ windows_alias = "unsupported"
[tasks.crash_cxx_unix]
command = "cargo"
args = ["build" , "--release", "--features=crash"]
args = ["build" , "--${PROFILE}", "--features=crash"]
[tasks.crash_cc]
linux_alias = "crash_cc_unix"
@ -62,7 +63,7 @@ windows_alias = "unsupported"
[tasks.crash_cc_unix]
command = "cargo"
args = ["build" , "--release", "--features=crash"]
args = ["build" , "--${PROFILE}", "--features=crash"]
# Library
[tasks.lib]
@ -75,7 +76,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "cxx", "cc" ]
@ -90,7 +91,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "crash_cxx", "crash_cc" ]
@ -101,7 +102,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "lib", "cxx", "cc" ]
@ -112,7 +113,7 @@ mac_alias = "fuzzer_crash_unix"
windows_alias = "unsupported"
[tasks.fuzzer_crash_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "crash_lib", "crash_cxx", "crash_cc" ]

View File

@ -2,9 +2,10 @@
[env]
FUZZER_NAME='fuzzer_libpng_launcher'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
PROJECT_DIR = { script = ["pwd"] }
[tasks.unsupported]
@ -35,7 +36,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -44,7 +45,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
# Library
[tasks.lib]
@ -57,7 +58,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "cxx", "cc" ]
@ -69,7 +70,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "lib", "cxx", "cc" ]

View File

@ -3,9 +3,10 @@
FUZZER_NAME='fuzzer_libpng'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
[tasks.unsupported]
script_runner="@shell"
@ -35,7 +36,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -44,7 +45,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.crash_cxx]
linux_alias = "crash_cxx_unix"
@ -53,7 +54,7 @@ windows_alias = "unsupported"
[tasks.crash_cxx_unix]
command = "cargo"
args = ["build" , "--release", "--features=crash"]
args = ["build" , "--${PROFILE}", "--features=crash"]
[tasks.crash_cc]
linux_alias = "crash_cc_unix"
@ -62,7 +63,7 @@ windows_alias = "unsupported"
[tasks.crash_cc_unix]
command = "cargo"
args = ["build" , "--release", "--features=crash"]
args = ["build" , "--${PROFILE}", "--features=crash"]
# Library
[tasks.lib]
@ -75,7 +76,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "cxx", "cc" ]
@ -90,7 +91,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "crash_cxx", "crash_cc" ]
@ -101,7 +102,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "lib", "cxx", "cc" ]
@ -112,7 +113,7 @@ mac_alias = "fuzzer_crash_unix"
windows_alias = "unsupported"
[tasks.fuzzer_crash_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "crash_lib", "crash_cxx", "crash_cc" ]

View File

@ -3,9 +3,10 @@
FUZZER_NAME='fuzzer_libpng_ctx'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
[tasks.unsupported]
script_runner="@shell"
@ -35,7 +36,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -44,7 +45,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
# Library
[tasks.lib]
@ -57,7 +58,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "cxx", "cc" ]
@ -69,7 +70,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "lib", "cxx", "cc" ]

View File

@ -2,10 +2,11 @@
[env]
FUZZER_NAME='fuzzer_libpng_launcher'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
LIBAFL_LIBTOOL = '${CARGO_TARGET_DIR}/release/libafl_libtool'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
LIBAFL_LIBTOOL = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_libtool'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
PROJECT_DIR = { script = ["pwd"] }
[tasks.unsupported]
@ -36,7 +37,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -45,7 +46,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
# Library
[tasks.lib]
@ -58,7 +59,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx" LIBTOOL=${CARGO_TARGET_DIR}/release/libafl_libtool
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx" LIBTOOL=${CARGO_TARGET_DIR}/${PROFILE}/libafl_libtool
'''
dependencies = [ "libpng", "cxx", "cc" ]
@ -70,7 +71,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "lib", "cxx", "cc" ]

View File

@ -2,9 +2,10 @@
[env]
FUZZER_NAME='fuzzer_libpng_launcher'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
PROJECT_DIR = { script = ["pwd"] }
[tasks.unsupported]
@ -35,7 +36,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -44,7 +45,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
# Library
[tasks.lib]
@ -57,7 +58,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "cxx", "cc" ]
@ -69,7 +70,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "lib", "cxx", "cc" ]

View File

@ -3,9 +3,10 @@
FUZZER_NAME='fuzzer_libpng'
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
[tasks.unsupported]
script_runner="@shell"
@ -35,7 +36,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -44,7 +45,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.crash_cxx]
linux_alias = "crash_cxx_unix"
@ -53,7 +54,7 @@ windows_alias = "unsupported"
[tasks.crash_cxx_unix]
command = "cargo"
args = ["build" , "--release", "--features=crash"]
args = ["build" , "--${PROFILE}", "--features=crash"]
[tasks.crash_cc]
linux_alias = "crash_cc_unix"
@ -62,7 +63,7 @@ windows_alias = "unsupported"
[tasks.crash_cc_unix]
command = "cargo"
args = ["build" , "--release", "--features=crash"]
args = ["build" , "--${PROFILE}", "--features=crash"]
# Library
[tasks.lib]
@ -75,7 +76,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "cxx", "cc" ]
@ -90,7 +91,7 @@ script_runner="@shell"
script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "crash_cxx", "crash_cc" ]
@ -101,7 +102,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "lib", "cxx", "cc" ]
@ -112,7 +113,7 @@ mac_alias = "fuzzer_crash_unix"
windows_alias = "unsupported"
[tasks.fuzzer_crash_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/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"]
dependencies = [ "crash_lib", "crash_cxx", "crash_cc" ]

View File

@ -3,27 +3,28 @@
FUZZER_NAME='libfuzzer_stb_image'
PROJECT_DIR = { script = ["pwd"] }
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_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'} }
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc', mapping = {"windows" = '.\\target\\${PROFILE}\\libafl_cc.exe'} }
LIBAFL_CXX = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx', mapping = {"windows" = '.\\target\\${PROFILE}\\libafl_cxx.exe'} }
FUZZER = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = '${CARGO_TARGET_DIR}/${PROFILE}/libfuzzer_stb_image', mapping = {"windows" = '.\\target\\${PROFILE}\\libfuzzer_stb_image.exe'} }
# Compilers
[tasks.cxx]
condition = { files_not_exist = ["${LIBAFL_CXX}"] }
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
condition = { files_not_exist = ["${LIBAFL_CC}"] }
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
# Build the fuzzer
[tasks.fuzzer]
script_runner="@shell"
script='''
cargo build --release
cargo build --${PROFILE}
cp ${FUZZER} .
'''
dependencies = ["cc", "cxx"]

View File

@ -2,6 +2,7 @@
[env]
PROJECT_DIR = { script = ["pwd"] }
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
FUZZER_NAME='libfuzzer_stb_image_concolic'
# Compilers
@ -15,7 +16,7 @@ condition = { files_not_exist = ["${CARGO_TARGET_DIR}/libSymRuntime.so"] }
script_runner = "@shell"
script = '''
cd runtime
cargo build --release
cargo build --${PROFILE}
'''
# Build the fuzzer
@ -29,7 +30,7 @@ dependencies = ["runtime"]
script_runner = "@shell"
script = '''
cd fuzzer
cargo build --release
cargo build --${PROFILE}
'''
[tasks.test]

View File

@ -3,27 +3,28 @@
FUZZER_NAME='libfuzzer_stb_image_sugar'
PROJECT_DIR = { script = ["pwd"] }
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_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'} }
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc", mapping = {"windows" = '.\\target\\${PROFILE}\\libafl_cc.exe'} }
LIBAFL_CXX = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx", mapping = {"windows" = '.\\target\\${PROFILE}\\libafl_cxx.exe'} }
FUZZER = { source = "${CARGO_MAKE_RUST_TARGET_OS}", default_value = "${CARGO_TARGET_DIR}/${PROFILE}/libfuzzer_stb_image_sugar", mapping = {"windows" = '.\\target\\${PROFILE}\\libfuzzer_stb_image_sugar.exe'} }
# Compilers
[tasks.cxx]
condition = { files_not_exist = ["${LIBAFL_CXX}"] }
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
condition = { files_not_exist = ["${LIBAFL_CC}"] }
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
# Build the fuzzer
[tasks.fuzzer]
script_runner="@shell"
script='''
cargo build --release
cargo build --${PROFILE}
cp ${FUZZER} .
'''
dependencies = ["cc", "cxx"]

View File

@ -2,6 +2,7 @@
[env]
FUZZER_NAME='libfuzzer_windows_asan'
CARGO_TARGET_DIR = { value = "./target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
[tasks.unsupported]
script_runner="@shell"
@ -17,7 +18,7 @@ windows_alias = "cxx_unix"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -26,7 +27,7 @@ windows_alias = "cc_unix"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.crash_cxx]
linux_alias = "unsupported"
@ -54,7 +55,7 @@ mac_alias = "unsupported"
windows_alias = "fuzzer_windows"
[tasks.fuzzer_windows]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
args = ["./harness.cpp", "-o", "${FUZZER_NAME}.exe"]
dependencies = [ "lib", "cxx", "cc" ]

View File

@ -2,9 +2,10 @@
[env]
FUZZER_NAME='fuzzer_libpng_nautilus'
CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } }
LIBAFL_CC = '${CARGO_TARGET_DIR}/release/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/release/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/release/${FUZZER_NAME}'
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
LIBAFL_CC = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc'
LIBAFL_CXX = '${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx'
FUZZER = '${CARGO_TARGET_DIR}/${PROFILE}/${FUZZER_NAME}'
PROJECT_DIR = { script = ["pwd"] }
[tasks.unsupported]
@ -35,7 +36,7 @@ windows_alias = "unsupported"
[tasks.cxx_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
[tasks.cc]
linux_alias = "cc_unix"
@ -44,7 +45,7 @@ windows_alias = "unsupported"
[tasks.cc_unix]
command = "cargo"
args = ["build" , "--release"]
args = ["build" , "--${PROFILE}"]
# Library
[tasks.lib]
@ -58,7 +59,7 @@ script='''
cd libpng-1.6.37 && ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
cd "${PROJECT_DIR}"
cp ../baby_fuzzer_nautilus/grammar.json .
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/release/libafl_cc" CXX="${CARGO_TARGET_DIR}/release/libafl_cxx"
make -C libpng-1.6.37 CC="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cc" CXX="${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
'''
dependencies = [ "libpng", "cxx", "cc" ]
@ -70,7 +71,7 @@ mac_alias = "fuzzer_unix"
windows_alias = "unsupported"
[tasks.fuzzer_unix]
command = "${CARGO_TARGET_DIR}/release/libafl_cxx"
command = "${CARGO_TARGET_DIR}/${PROFILE}/libafl_cxx"
args = ["${PROJECT_DIR}/../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" ]

View File

@ -1,4 +1,5 @@
[env]
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
CROSS_CC = "x86_64-linux-gnu-gcc"
CROSS_CXX = "x86_64-linux-gnu-g++"
CROSS_CFLAGS = ""
@ -182,7 +183,7 @@ windows_alias = "unsupported"
command = "cargo"
args = [
"build",
"--release",
"--${PROFILE}",
"--features", "${FEATURE}",
"--target-dir", "${TARGET_DIR}"
]
@ -191,7 +192,7 @@ args = [
dependencies = ["build"]
script_runner="@shell"
script='''
mv ${TARGET_DIR}/release/qemu-coverage ${TARGET_DIR}/release/qemu-coverage-${CARGO_MAKE_PROFILE}
mv ${TARGET_DIR}/${PROFILE}/qemu-coverage ${TARGET_DIR}/${PROFILE}/qemu-coverage-${CARGO_MAKE_PROFILE}
'''
[tasks.harness]
@ -222,7 +223,7 @@ mac_alias = "unsupported"
windows_alias = "unsupported"
[tasks.run_unix]
command = "${TARGET_DIR}/release/qemu-coverage-${CARGO_MAKE_PROFILE}"
command = "${TARGET_DIR}/${PROFILE}/qemu-coverage-${CARGO_MAKE_PROFILE}"
args = [
"--coverage", "${TARGET_DIR}/drcov.log",
"--input", "./corpus",

View File

@ -1,4 +1,5 @@
[env]
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
CROSS_CC = "x86_64-linux-gnu-gcc"
CROSS_CXX = "x86_64-linux-gnu-g++"
CROSS_CFLAGS = ""
@ -182,7 +183,7 @@ windows_alias = "unsupported"
command = "cargo"
args = [
"build",
"--release",
"--${PROFILE}",
"--features", "${FEATURE}",
"--target-dir", "${TARGET_DIR}"
]
@ -191,7 +192,7 @@ args = [
dependencies = ["build"]
script_runner="@shell"
script='''
mv ${TARGET_DIR}/release/qemu_launcher ${TARGET_DIR}/release/qemu_launcher-${CARGO_MAKE_PROFILE}
mv ${TARGET_DIR}/${PROFILE}/qemu_launcher ${TARGET_DIR}/${PROFILE}/qemu_launcher-${CARGO_MAKE_PROFILE}
'''
[tasks.harness]
@ -222,7 +223,7 @@ mac_alias = "unsupported"
windows_alias = "unsupported"
[tasks.run_unix]
command = "${TARGET_DIR}/release/qemu_launcher-${CARGO_MAKE_PROFILE}"
command = "${TARGET_DIR}/${PROFILE}/qemu_launcher-${CARGO_MAKE_PROFILE}"
args = [
"--coverage", "${TARGET_DIR}/drcov.log",
"--input", "./corpus",

View File

@ -1,3 +1,6 @@
[env]
PROFILE = { value = "release", condition = {env_not_set = ["PROFILE"]} }
[tasks.unsupported]
script_runner="@shell"
script='''
@ -24,7 +27,7 @@ windows_alias = "fuzzer_windows"
[tasks.fuzzer_windows]
dependencies = ["harness"]
command = "cargo"
args = ["build", "--release"]
args = ["build", "--${PROFILE}"]
# Run the fuzzer
[tasks.run]
@ -35,7 +38,7 @@ windows_alias = "run_windows"
[tasks.run_windows]
dependencies = ["harness", "fuzzer"]
command = "cargo"
args = ["run", "--release"]
args = ["run", "--${PROFILE}"]
# Run the fuzzer
@ -47,7 +50,7 @@ windows_alias = "test_windows"
[tasks.test_windows]
script_runner = "@shell"
script='''
copy .\target\release\tinyinst_simple.exe .
copy .\target\${PROFILE}\tinyinst_simple.exe .
start "" "tinyinst_simple.exe"
#ping is for timeout
ping -n 10 127.0.0.1>NUL && taskkill /im tinyinst_simple.exe /F

View File

@ -7,6 +7,7 @@ cd "$SCRIPT_DIR/.." || exit 1
if [[ -z "${RUN_ON_CI}" ]]; then
fuzzers=$(find ./fuzzers -mindepth 1 -maxdepth 1 -type d)
backtrace_fuzzers=$(find ./fuzzers/backtrace_baby_fuzzers -mindepth 1 -maxdepth 1 -type d)
export PROFILE=dev
else
cargo build -p build_and_test_fuzzers
fuzzers=$(cargo run -p build_and_test_fuzzers -- "remotes/origin/main" "HEAD^")