diff options
| author | van Hauser <vh@thc.org> | 2022-05-16 11:15:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-16 11:15:21 +0200 |
| commit | c08eeb95ca78625cf3f8a96bd04320c57c50d0f1 (patch) | |
| tree | 2eecf55a92eec04e67aa3a9d9bec8e5f50659de6 /frida_mode/test/dynamic/GNUmakefile | |
| parent | 7c755a675f561eb1a8fd0ed4668cd56f43122fea (diff) | |
| parent | 3dc72ffb6be7f9acb9788d5cfa8d99c557418621 (diff) | |
| download | afl++-c08eeb95ca78625cf3f8a96bd04320c57c50d0f1.tar.gz | |
Merge pull request #1410 from WorksButNotTested/dynamic
A few updates
Diffstat (limited to 'frida_mode/test/dynamic/GNUmakefile')
| -rw-r--r-- | frida_mode/test/dynamic/GNUmakefile | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/frida_mode/test/dynamic/GNUmakefile b/frida_mode/test/dynamic/GNUmakefile new file mode 100644 index 00000000..f43416f7 --- /dev/null +++ b/frida_mode/test/dynamic/GNUmakefile @@ -0,0 +1,76 @@ +PWD:=$(shell pwd)/ +ROOT:=$(PWD)../../../ +BUILD_DIR:=$(PWD)build/ +TESTINSTR_DATA_DIR:=$(BUILD_DIR)in/ +TESTINSTR_DATA_FILE:=$(TESTINSTR_DATA_DIR)in +AFLPP_DRIVER_DUMMY_INPUT:=$(BUILD_DIR)dummy.dat + +TESTINSTBIN:=$(BUILD_DIR)testinstr +TESTINSTSRC:=$(PWD)testinstr.c + +TESTINSTLIB:=$(BUILD_DIR)testinstrlib.so +TESTINSTLIBSRC:=$(PWD)testinstrlib.c + +QEMU_OUT:=$(BUILD_DIR)qemu-out +FRIDA_OUT:=$(BUILD_DIR)frida-out + +AFLPP_FRIDA_DRIVER_HOOK_OBJ=$(ROOT)frida_mode/build/frida_hook.so + +ADDR_BIN:=$(ROOT)frida_mode/build/addr +GET_SYMBOL_ADDR:=$(ROOT)frida_mode/util/get_symbol_addr.sh + +AFL_FRIDA_BASE_ADDR:=$(shell $(ADDR_BIN)) +AFL_FRIDA_PERSISTENT_ADDR=$(shell $(GET_SYMBOL_ADDR) $(TESTINSTBIN) testinstr $(AFL_FRIDA_BASE_ADDR)) + +CFLAGS+=-D_GNU_SOURCE=1 +LDFLAGS+=-ldl + +.PHONY: all clean qemu frida + +all: $(TESTINSTBIN) $(TESTINSTLIB) + make -C $(ROOT)frida_mode/ + +$(BUILD_DIR): + mkdir -p $@ + +$(AFLPP_DRIVER_DUMMY_INPUT): | $(BUILD_DIR) + dd if=/dev/zero bs=1048576 count=1 of=$@ + +$(TESTINSTR_DATA_DIR): | $(BUILD_DIR) + mkdir -p $@ + +$(TESTINSTR_DATA_FILE): | $(TESTINSTR_DATA_DIR) + echo -n "000" > $@ + +$(TESTINSTLIB): $(TESTINSTLIBSRC) | $(BUILD_DIR) + $(CC) \ + $(CFLAGS) \ + -shared \ + -o $@ \ + $(LDFLAGS) \ + $< + +$(TESTINSTBIN): $(TESTINSTSRC) | $(BUILD_DIR) + $(CC) \ + $(CFLAGS) \ + -o $@ \ + $< \ + $(LDFLAGS) \ + -Wl,-rpath,'$$ORIGIN' + +clean: + rm -rf $(BUILD_DIR) + + +frida: $(TESTINSTBIN) $(TESTINSTR_DATA_FILE) $(AFLPP_DRIVER_DUMMY_INPUT) + AFL_FRIDA_PERSISTENT_HOOK=$(AFLPP_FRIDA_DRIVER_HOOK_OBJ) \ + AFL_FRIDA_PERSISTENT_ADDR=$(AFL_FRIDA_PERSISTENT_ADDR) \ + AFL_ENTRYPOINT=$(AFL_FRIDA_PERSISTENT_ADDR) \ + $(ROOT)afl-fuzz \ + -D \ + -O \ + -i $(TESTINSTR_DATA_DIR) \ + -o $(FRIDA_OUT) \ + -- \ + $(TESTINSTBIN) $(AFLPP_DRIVER_DUMMY_INPUT) + |
