40 lines
1.2 KiB
Bash
Executable File
40 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# cargo build --release
|
|
# PWD=$(pwd)
|
|
# export CC="$PWD/target/release/libafl_cc"
|
|
# export CXX="$PWD/target/release/libafl_cxx"
|
|
|
|
# Check if afl-clang-fast exists in PATH
|
|
if ! command -v afl-clang-fast &> /dev/null
|
|
then
|
|
echo "afl-clang-fast not found. Cloning and compiling AFLplusplus..."
|
|
git clone https://github.com/AFLplusplus/AFLplusplus.git
|
|
pushd AFLplusplus
|
|
make
|
|
popd
|
|
export CC="$(pwd)/AFLplusplus/afl-clang-fast"
|
|
export CXX="$(pwd)/AFLplusplus/afl-clang-fast++"
|
|
else
|
|
echo "afl-clang-fast already exists in PATH."
|
|
export CC="afl-clang-fast"
|
|
export CXX="afl-clang-fast++"
|
|
fi
|
|
|
|
curl -C - https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.9.14/libxml2-v2.9.14.tar.gz --output libxml2-v2.9.14.tar.gz
|
|
tar -xf ./libxml2-v2.9.14.tar.gz --transform s/libxml2-v2.9.14/libxml2/ || exit
|
|
cd ./libxml2/ || exit
|
|
./autogen.sh --enable-shared=no || exit
|
|
make -j || exit
|
|
cd - || exit
|
|
python3 "../../libafl_nyx/packer/packer/nyx_packer.py" \
|
|
./libxml2/xmllint \
|
|
/tmp/nyx_libxml2 \
|
|
afl \
|
|
instrumentation \
|
|
-args "/tmp/input" \
|
|
-file "/tmp/input" \
|
|
--fast_reload_mode \
|
|
--purge || exit
|
|
|
|
python3 ../../libafl_nyx/packer/packer/nyx_config_gen.py /tmp/nyx_libxml2/ Kernel || exit
|