feat: add spoofer

- spoofer redirects reads to /proc to ./proc
This commit is contained in:
2026-05-14 19:59:06 +02:00
parent 54600f6c00
commit 3b82cd7f7a
2 changed files with 49 additions and 2 deletions

View File

@@ -32,6 +32,8 @@ HOST_SRC_EXTRA := src/elf.c src/hwinfo.c src/util.c tiny-AES-c/aes.c
HOST_SRC := src/main.c $(HOST_SRC_EXTRA)
HOST_SRC_ENCRYPTOR := src/encryptor.c $(HOST_SRC_EXTRA)
HOST_INCLUDE := -I src -I tinyriscv/src -I tiny-AES-c
HOST_SRC_SPOOFER := src/spoof/spoofer.c
ifeq ($(OS),Windows_NT)
HOST_EXE := build/main.exe
@@ -45,6 +47,8 @@ else
HOST_EXE_ENCRYPTOR := build/encryptor
endif
HOST_EXE_SPOOFER := build/spoofer
# Disassembly
RISCV_OBJDUMP ?= $(patsubst %-gcc,%-objdump,$(RISCV_CC))
@@ -55,16 +59,20 @@ _DISAS_FILES := $(if $(_DISAS_TARGETS),$(filter %.elf %.o,$(MAKECMDGOALS)))
.PHONY: all emulated-riscv host clean disas-risc
all: $(ZIP_FILE)
all: $(ZIP_FILE) $(HOST_EXE_SPOOFER)
emulated-riscv: $(EMU_OBJ_LICENSE)
host: $(HOST_EXE)
host: $(HOST_EXE) $(HOST_EXE_SPOOFER)
# Build the main challenge executable
$(HOST_EXE): $(HOST_SRC) | build
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) $(HOST_INCLUDE) $(HOST_SRC) -o $@
# Build the spoofer
$(HOST_EXE_SPOOFER): $(HOST_SRC_SPOOFER) | build
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -shared -fPIC $^ -o $@ -ldl
# Build the encryptor
$(HOST_EXE_ENCRYPTOR): $(HOST_SRC_ENCRYPTOR) | build
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) $(HOST_INCLUDE) $(HOST_SRC_ENCRYPTOR) -o $@