Changes to remove binaries from frida_mode (#913)

Co-authored-by: Your Name <you@example.com>
This commit is contained in:
WorksButNotTested 2021-05-10 08:52:59 +01:00 committed by GitHub
parent 24551382d2
commit 340fc13de1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 0 additions and 144 deletions

View File

@ -1,61 +0,0 @@
PWD:=$(shell pwd)/
ROOT:=$(shell realpath $(PWD)../../..)/
SRC_DIR:=$(PWD)src/
BUILD_DIR:=$(PWD)build/
FUZZBENCH_DATA_DIR:=$(BUILD_DIR)in/
R2_DICT:=$(BUILD_DIR)fuzz-target.dict
R2_DICT_URL:=https://raw.githubusercontent.com/google/fuzzing/master/dictionaries/regexp.dict
FRIDA_OUT:=$(BUILD_DIR)frida-out
ASSETS_DIR:=$(BUILD_DIR)assets/
ASSETS_SRC:=$(ROOT)frida_mode/build/afl-frida-trace.so \
$(R2_DICT) \
fuzzer \
$(SRC_DIR)run.sh
ASSETS_DEST:=$(foreach asset,$(ASSETS_SRC),$(ASSETS_DIR)$(notdir $(asset)))
.PHONY: all clean frida
all: $(FUZZBENCH_DATA_DIR)
make -C $(ROOT)frida_mode/
$(BUILD_DIR):
mkdir -p $@
$(ASSETS_DIR): | $(BUILD_DIR)
mkdir -p $@
$(R2_DICT): | $(BUILD_DIR)
wget -qO $@ $(R2_DICT_URL)
$(FUZZBENCH_DATA_DIR): $(R2_DICT)
mkdir -p $@
split -l 1 -d -a 4 $(R2_DICT) $(FUZZBENCH_DATA_DIR)file
define COPY_ASSET
$(2): $(1) GNUmakefile | $(ASSETS_DIR)
cp -v $(1) $(2)
endef
$(foreach asset,$(ASSETS_SRC),$(eval $(call COPY_ASSET,$(asset),$(ASSETS_DIR)$(notdir $(asset)))))
clean:
rm -rf $(BUILD_DIR)
frida: | $(FUZZBENCH_DATA_DIR)
AFL_QEMU_DRIVER_NO_HOOK=1 \
AFL_FRIDA_PERSISTENT_CNT=1000000 \
AFL_FRIDA_PERSISTENT_ADDR=0x55555599f6c0 \
$(ROOT)afl-fuzz \
-O \
-i $(FUZZBENCH_DATA_DIR) \
-o $(FRIDA_OUT) \
-- \
$(PWD)fuzzer
docker: $(ASSETS_DEST)
docker build -t fuzzbench-frida-mode -f $(SRC_DIR)Dockerfile $(PWD)
docker run --rm -ti fuzzbench-frida-mode /run.sh

View File

@ -1,12 +0,0 @@
all:
@echo trying to use GNU make...
@gmake all || echo please install GNUmake
clean:
@gmake clean
frida:
@gmake frida
docker:
@gmake docker

Binary file not shown.

View File

@ -1,36 +0,0 @@
FROM gcr.io/fuzzbench/base-image
RUN apt-get update && \
apt-get install -y wget libstdc++-5-dev libtool-bin automake flex bison \
libglib2.0-dev libpixman-1-dev python3-setuptools unzip \
git clang
# Download afl++
RUN git clone https://github.com/AFLplusplus/AFLplusplus.git /afl && \
cd /afl && git checkout dev
# Build afl++ without Python support as we don't need it.
# Set AFL_NO_X86 to skip flaky tests.
RUN cd /afl && \
unset CFLAGS && unset CXXFLAGS && \
AFL_NO_X86=1 CC=clang PYTHON_INCLUDE=/ make && \
make -C utils/aflpp_driver
# This makes interactive docker runs painless:
ENV AFL_SKIP_CPUFREQ=1
ENV AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES=1
ENV AFL_TESTCACHE_SIZE=2
RUN mkdir /frida-mode
WORKDIR /frida-mode
RUN cp /afl/afl-fuzz .
COPY build/assets/afl-frida-trace.so .
COPY build/assets/fuzz-target.dict .
COPY build/assets/fuzzer .
RUN mkdir /frida-mode/in
RUN split -l 1 -d -a 4 fuzz-target.dict /frida-mode/in/
WORKDIR /
COPY build/assets/run.sh .
RUN chmod +x /run.sh

View File

@ -1,10 +0,0 @@
#!/bin/bash
AFL_QEMU_DRIVER_NO_HOOK=1 \
AFL_FRIDA_PERSISTENT_CNT=1000000 \
AFL_FRIDA_PERSISTENT_ADDR=0x55555599f6c0 \
/frida-mode/afl-fuzz \
-O \
-i /frida-mode/in \
-o /frida-mode/out \
-- \
/frida-mode/fuzzer

View File

@ -1,13 +0,0 @@
PWD:=$(shell pwd)/
ROOT:=$(shell realpath $(PWD)../../..)/
.PHONY: all frida
all:
make -C $(ROOT)frida_mode/
frida:
LD_PRELOAD=$(ROOT)frida_mode/build/afl-frida-trace.so ./xml
debug:
gdb --ex 'set environment LD_PRELOAD=$(ROOT)frida_mode/build/afl-frida-trace.so' --args ./xml

View File

@ -1,12 +0,0 @@
all:
@echo trying to use GNU make...
@gmake all || echo please install GNUmake
clean:
@gmake clean
frida:
@gmake frida
debug:
@gmake debug

Binary file not shown.