# CSC 472 - Lab 3: Multi-Stage Exploit target
CC      = gcc
CFLAGS  = -m32 -g -fno-stack-protector -z noexecstack -no-pie

all: vuln

vuln: vuln.c
	$(CC) $(CFLAGS) -o $@ vuln.c

checknx: vuln            ## GNU_STACK = RW  => NX is ON
	readelf -l vuln | grep GNU_STACK

info: vuln               ## addresses you need for the chain
	@echo "== write@plt / read@plt ==";  objdump -d vuln | grep -E '<(write|read)@plt>:'
	@echo "== write@got / read@got ==";  readelf -r vuln | grep -E 'write|read'
	@echo "== gadget + .bss scratch =="; nm vuln | grep -E 'pop3_gadget|notes'

clean:
	rm -f vuln
