|
@@ -10,6 +10,12 @@ ifeq ($(shell uname -s),Linux)
|
|
|
LIBS += $(shell pkg-config libnl-route-3.0 --libs)
|
|
|
endif
|
|
|
|
|
|
+ifeq ($(shell uname -s),Darwin)
|
|
|
+ AFL=afl-clang
|
|
|
+else
|
|
|
+ AFL=afl-gcc
|
|
|
+endif
|
|
|
+
|
|
|
nmrpflash_OBJ = nmrp.o tftp.o ethsock.o main.o util.o
|
|
|
|
|
|
.PHONY: clean install release release/macos release/linux release/win32
|
|
@@ -23,17 +29,20 @@ tftptest:
|
|
|
%.o: %.c nmrpd.h
|
|
|
$(CC) -c $(CFLAGS) $< -o $@
|
|
|
|
|
|
-fuzz: clean
|
|
|
- CC=afl-gcc CFLAGS=-DNMRPFLASH_FUZZ make nmrpflash
|
|
|
- mv nmrpflash fuzz
|
|
|
+fuzz_nmrp: tftp.c util.c nmrp.c fuzz.c
|
|
|
+ $(AFL) $(CFLAGS) -DNMRPFLASH_FUZZ $^ -o $@
|
|
|
|
|
|
-dofuzz: fuzz
|
|
|
+fuzz_tftp: tftp.c util.c nmrp.c fuzz.c
|
|
|
+ $(AFL) $(CFLAGS) -DNMRPFLASH_FUZZ -DNMRPFLASH_FUZZ_TFTP $^ -o $@
|
|
|
+
|
|
|
+dofuzz_tftp: fuzz
|
|
|
echo core | sudo tee /proc/sys/kernel/core_pattern
|
|
|
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
|
|
- afl-fuzz -i fuzzin -o fuzzout -- ./fuzz
|
|
|
+ afl-fuzz -i fuzzin/nmrp -o fuzzout/nmrp -- ./fuzz_tftp
|
|
|
echo powersave | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
|
|
+
|
|
|
clean:
|
|
|
- rm -f $(nmrpflash_OBJ) nmrpflash
|
|
|
+ rm -f $(nmrpflash_OBJ) nmrpflash fuzz_nmrp fuzz_tftp
|
|
|
|
|
|
install: nmrpflash
|
|
|
install -m 755 nmrpflash $(PREFIX)/bin
|