aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYour Name <you@example.com>2022-08-04 18:46:29 +0100
committerYour Name <you@example.com>2022-08-04 18:46:29 +0100
commit7bdb22c70cd1ffcc06786f117c92326f430650b2 (patch)
tree063f9a1151a861bd2c9a4d5e50772aaa4e1c80b8
parent3562de440e53fca7109a314dcc7fe9ab07794e56 (diff)
downloadafl++-7bdb22c70cd1ffcc06786f117c92326f430650b2.tar.gz
Added build of FRIDA mode shared library to enable embedding
-rw-r--r--frida_mode/GNUmakefile14
1 files changed, 13 insertions, 1 deletions
diff --git a/frida_mode/GNUmakefile b/frida_mode/GNUmakefile
index bc7df6c0..256bea02 100644
--- a/frida_mode/GNUmakefile
+++ b/frida_mode/GNUmakefile
@@ -43,10 +43,12 @@ endif
FRIDA_BUILD_DIR:=$(BUILD_DIR)frida/
FRIDA_TRACE:=$(BUILD_DIR)afl-frida-trace.so
+FRIDA_TRACE_LIB:=$(BUILD_DIR)libafl-frida-trace.a
FRIDA_TRACE_EMBEDDED:=$(BUILD_DIR)afl-frida-trace-embedded
TARGET_CC?=$(CC)
TARGET_CXX?=$(CXX)
+TARGET_AR?=$(AR)
HOST_CC?=$(CC)
HOST_CXX?=$(CXX)
@@ -110,6 +112,7 @@ endif
ifeq "$(ARCH)" "armhf"
TARGET_CC:=arm-linux-gnueabihf-gcc
TARGET_CXX:=arm-linux-gnueabihf-g++
+ TARGET_AR:=arm-linux-gnueabihf-ar
endif
ifndef OS
@@ -157,7 +160,7 @@ BIN2C_SRC:=$(PWD)util/bin2c.c
############################## ALL #############################################
-all: $(FRIDA_TRACE) $(AFLPP_FRIDA_DRIVER_HOOK_OBJ) $(AFLPP_QEMU_DRIVER_HOOK_OBJ) $(ADDR_BIN)
+all: $(FRIDA_TRACE) $(FRIDA_TRACE_LIB) $(AFLPP_FRIDA_DRIVER_HOOK_OBJ) $(AFLPP_QEMU_DRIVER_HOOK_OBJ) $(ADDR_BIN)
32:
CFLAGS="-m32" LDFLAGS="-m32" ARCH="x86" make all
@@ -353,6 +356,15 @@ $(FRIDA_TRACE): $(GUM_DEVIT_LIBRARY) $(GUM_DEVIT_HEADER) $(OBJS) $(JS_OBJ) $(AFL
cp -v $(FRIDA_TRACE) $(ROOT)
+$(FRIDA_TRACE_LIB): $(GUM_DEVIT_LIBRARY) $(GUM_DEVIT_HEADER) $(OBJS) $(JS_OBJ) $(AFL_COMPILER_RT_OBJ) $(AFL_PERFORMANCE_OBJ) GNUmakefile | $(BUILD_DIR)
+ $(TARGET_AR) \
+ -rcs \
+ $@ \
+ $(OBJS) \
+ $(JS_OBJ) \
+ $(AFL_COMPILER_RT_OBJ) \
+ $(AFL_PERFORMANCE_OBJ) \
+
############################# HOOK #############################################
$(AFLPP_FRIDA_DRIVER_HOOK_OBJ): $(AFLPP_FRIDA_DRIVER_HOOK_SRC) $(GUM_DEVIT_HEADER) | $(BUILD_DIR)