aboutsummaryrefslogtreecommitdiff
path: root/frida_mode/test/libxml
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2022-01-11 12:20:35 +0100
committerGitHub <noreply@github.com>2022-01-11 12:20:35 +0100
commit10dae419d6e3ebc38f53840c5abfe98e9c901217 (patch)
tree352576e19c8a504c40ea58dbb141056762901a69 /frida_mode/test/libxml
parent74a8f145e09d0361d8f576eb3f2e8881b6116f18 (diff)
parentd2715336a54635bb6e617a2e739c0ad5fe51d28d (diff)
downloadafl++-10dae419d6e3ebc38f53840c5abfe98e9c901217.tar.gz
Merge pull request #1236 from AFLplusplus/dev
push to stable
Diffstat (limited to 'frida_mode/test/libxml')
-rw-r--r--frida_mode/test/libxml/GNUmakefile18
-rwxr-xr-xfrida_mode/test/libxml/get_symbol_addr.py36
2 files changed, 4 insertions, 50 deletions
diff --git a/frida_mode/test/libxml/GNUmakefile b/frida_mode/test/libxml/GNUmakefile
index 1d675187..6fc87585 100644
--- a/frida_mode/test/libxml/GNUmakefile
+++ b/frida_mode/test/libxml/GNUmakefile
@@ -42,21 +42,11 @@ ifeq "$(ARCH)" "i686"
endif
endif
+ADDR_BIN:=$(ROOT)frida_mode/build/addr
GET_SYMBOL_ADDR:=$(ROOT)frida_mode/util/get_symbol_addr.sh
-AFL_QEMU_PERSISTENT_ADDR=$(shell $(GET_SYMBOL_ADDR) $(TEST_BIN) LLVMFuzzerTestOneInput 0x4000000000)
-
-ifeq "$(ARCH)" "aarch64"
- AFL_FRIDA_PERSISTENT_ADDR=$(shell $(GET_SYMBOL_ADDR) $(TEST_BIN) LLVMFuzzerTestOneInput 0x0000aaaaaaaaa000)
-endif
-
-ifeq "$(ARCH)" "x86_64"
- AFL_FRIDA_PERSISTENT_ADDR=$(shell $(GET_SYMBOL_ADDR) $(TEST_BIN) LLVMFuzzerTestOneInput 0x0000555555554000)
-endif
-
-ifeq "$(ARCH)" "x86"
- AFL_FRIDA_PERSISTENT_ADDR=$(shell $(GET_SYMBOL_ADDR) $(TEST_BIN) LLVMFuzzerTestOneInput 0x56555000)
-endif
+AFL_FRIDA_BASE_ADDR:=$(shell $(ADDR_BIN))
+AFL_FRIDA_PERSISTENT_ADDR=$(shell $(GET_SYMBOL_ADDR) $(TEST_BIN) LLVMFuzzerTestOneInput $(AFL_FRIDA_BASE_ADDR))
.PHONY: all clean frida hook
@@ -134,7 +124,7 @@ $(TEST_DATA_DIR): | $(BUILD_DIR)
mkdir -p $@
$(TEST_DATA_FILE): | $(TEST_DATA_DIR)
- dd if=/dev/zero bs=1048576 count=1 of=$@
+ echo "hi" > $@
###### #######
diff --git a/frida_mode/test/libxml/get_symbol_addr.py b/frida_mode/test/libxml/get_symbol_addr.py
deleted file mode 100755
index 1c46e010..00000000
--- a/frida_mode/test/libxml/get_symbol_addr.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/python3
-import argparse
-from elftools.elf.elffile import ELFFile
-
-def process_file(file, symbol, base):
- with open(file, 'rb') as f:
- elf = ELFFile(f)
- symtab = elf.get_section_by_name('.symtab')
- mains = symtab.get_symbol_by_name(symbol)
- if len(mains) != 1:
- print ("Failed to find main")
- return 1
-
- main_addr = mains[0]['st_value']
- main = base + main_addr
- print ("0x%016x" % main)
- return 0
-
-def hex_value(x):
- return int(x, 16)
-
-def main():
- parser = argparse.ArgumentParser(description='Process some integers.')
- parser.add_argument('-f', '--file', dest='file', type=str,
- help='elf file name', required=True)
- parser.add_argument('-s', '--symbol', dest='symbol', type=str,
- help='symbol name', required=True)
- parser.add_argument('-b', '--base', dest='base', type=hex_value,
- help='elf base address', required=True)
-
- args = parser.parse_args()
- return process_file (args.file, args.symbol, args.base)
-
-if __name__ == "__main__":
- ret = main()
- exit(ret)