Skip to content

Instantly share code, notes, and snippets.

@TheFlash2k
Last active March 18, 2024 03:40
Show Gist options
  • Save TheFlash2k/211ba286b6d78298256bf36c666dcf41 to your computer and use it in GitHub Desktop.
Save TheFlash2k/211ba286b6d78298256bf36c666dcf41 to your computer and use it in GitHub Desktop.
A simple makefile that I can use for my challenges.
# Author: @TheFlash2k
CTF_NAME=CTF
CHAL_NAME := yip-yip
SRC := $(CHAL_NAME).c
TAR_FILE := $(CHAL_NAME).tar
CONTAINER_NAME := $(CTF_NAME)-$(CHAL_NAME)
DEFAULT_FLAG := "$(CTF_NAME){F4k3_fl4g_f0r_t3st1ng}"
# FLAGS
CC := gcc
FLAGS := -w
all:
$(CC) -o $(CHAL_NAME) $(SRC) $(FLAGS)
dist:
mv flag.txt og_flag.txt
echo $(DEFAULT_FLAG) > flag.txt
# you can change these files to your likings
tar -zcvf $(TAR_FILE) $(CHAL_NAME) $(SRC) flag.txt
mv og_flag.txt flag.txt
rm -f ../dist/$(TAR_FILE)
mv $(TAR_FILE) ../dist/
generate:
# This will generate a dockerfile for your challenge accordingly:
rm -f Dockerfile
echo "FROM theflash2k/pwn-chal:latest" > Dockerfile
echo "\nENV CHAL_NAME=$(CHAL_NAME)" >> Dockerfile
echo '\nCOPY $${CHAL_NAME} .' >> Dockerfile
echo "COPY flag.txt ." >> Dockerfile
echo "\nEXPOSE 8000" >> Dockerfile
build:
docker build -t $(CONTAINER_NAME) .
run:
docker run -it --rm -P --hostname $(CHAL_NAME) --name $(CONTAINER_NAME) $(CONTAINER_NAME)
stop:
docker stop $(CONTAINER_NAME)
writeup:
mv exploit.py ../writeup/
cp $(CHAL_NAME) ../writeup/
echo "# $(CHAL_NAME)" > ../writeup/WRITEUP.md
clean:
rm -f $(CHAL_NAME)
docker rmi $(CONTAINER_NAME)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment