diff options
author | van Hauser <vh@thc.org> | 2020-05-04 12:51:38 +0200 |
---|---|---|
committer | van Hauser <vh@thc.org> | 2020-05-04 12:51:38 +0200 |
commit | 945e00b73fde56f98235a03472b4af1539983f80 (patch) | |
tree | 564abc9e4d91f7f7cf3f5d9d009d8944332a7a7b /examples/afl_network_proxy | |
parent | e592b4bcf0f85ff128d684f83d8aa9328ccca39f (diff) | |
download | afl++-945e00b73fde56f98235a03472b4af1539983f80.tar.gz |
final touches for afl_network_proxy
Diffstat (limited to 'examples/afl_network_proxy')
-rw-r--r-- | examples/afl_network_proxy/GNUmakefile | 24 | ||||
-rw-r--r-- | examples/afl_network_proxy/README.md | 11 |
2 files changed, 15 insertions, 20 deletions
diff --git a/examples/afl_network_proxy/GNUmakefile b/examples/afl_network_proxy/GNUmakefile index 93eee4c1..99221d10 100644 --- a/examples/afl_network_proxy/GNUmakefile +++ b/examples/afl_network_proxy/GNUmakefile @@ -10,27 +10,19 @@ ifdef STATIC CFLAGS += -static endif -ifdef USE_DEFLATE - CFLAGS += -DUSE_DEFLATE=1 - LDFLAGS += -ldeflate - $(info activating libdeflate-dev for compressing) +ifeq "$(shell echo '$(HASH)include <libdeflate.h>@int main() { struct libdeflate_compressor *d = libdeflate_alloc_compressor(1); return 0;}' | tr @ '\n' | $(CC) $(CFLAGS) -x c - -o .test2 -ldeflate 2>/dev/null && echo 1 || echo 0 ; rm -f .test2 )" "1" + CFLAGS += -ldeflate -DUSE_DEFLATE=1 + $(info libdeflate-dev was detected, using compressing) +else + $(warn did not find libdeflate-dev, cannot use compression) endif -# Disables because compression is slower -# sending 64kb instead of compressing to 112bytes is slower? weird ... -#ifeq "$(shell echo '$(HASH)include <libdeflate.h>@int main() { struct libdeflate_compressor *d = libdeflate_alloc_compressor(1); return 0;}' | tr @ '\n' | $(CC) $(CFLAGS) -x c - -o .test2 -ldeflate 2>/dev/null && echo 1 || echo 0 ; rm -f .test2 )" "1" -# CFLAGS += -ldeflate -DUSE_DEFLATE=1 -# $(info libdeflate-dev was detected, using compressing) -#else -# $(warn did not find libdeflate-dev, cannot use compression) -#endif - all: $(PROGRAMS) help: @echo make options: - echo STATIC - build as static binaries - echo USE_DEFLATE - build with compression library + @echo STATIC - build as static binaries + @echo COMPRESS_TESTCASES - compress test cases afl-network-client: afl-network-client.c $(CC) $(CFLAGS) -I../../include -o afl-network-client afl-network-client.c $(LDFLAGS) @@ -44,5 +36,5 @@ clean: install: all install -d -m 755 $${DESTDIR}$(BIN_PATH) $${DESTDIR}$(DOC_PATH) install -m 755 $(PROGRAMS) $${DESTDIR}$(BIN_PATH) - install -m 644 README.md $${DESTDIR}$(DOC_PATH)/README.network_proxy.md + install -T -m 644 README.md $${DESTDIR}$(DOC_PATH)/README.network_proxy.md diff --git a/examples/afl_network_proxy/README.md b/examples/afl_network_proxy/README.md index 84ebfa48..255be0d8 100644 --- a/examples/afl_network_proxy/README.md +++ b/examples/afl_network_proxy/README.md @@ -16,9 +16,12 @@ Note that the impact on fuzzing speed will be huge, expect a loss of 90%. Just type `make` and let the autodetection do everything for you. -Note that compression is supported but currently disabled. It seems that -sending 64kb of map data over TCP is faster than compressing it with the -fastest algorithm and options to 112 byte and sending this. Weird. +Note that you will get a 40-50% performance increase if you have libdeflate-dev +installed. The GNUmakefile will autodetect it if present. + +If your target has large test cases (10+kb) that are ascii only or large chunks +of zero blocks then set `CFLAGS=-DCOMPRESS_TESTCASES=1` to compress them. +For most targets this hurts performance though so it is disabled by default. ### on the target @@ -29,7 +32,7 @@ e.g.: $ afl-network-server -i 1111 -m 25M -t 1000 -- /bin/target -f @@ ``` -### on the fuzzing master +### on the (afl-fuzz) master Just run afl-fuzz with your normal options, however the target should be `afl-network-client` with the IP and PORT of the `afl-network-server` and |