Add HAL, do not download /usr/src every time.

This commit is contained in:
Samuel Aubertin
2022-09-15 14:52:12 +02:00
parent b7fc6a248f
commit 406607ee98
12 changed files with 242 additions and 31 deletions

View File

@@ -10,16 +10,16 @@ BACKDOORED_HAL= ./HAL9000-backdoored
PASS?!= openssl rand 12 | base64
.PHONY: clean diff
#.SILENT:
.SILENT:
all: $(HAL) $(BACKDOORED_HAL)
all: $(HAL) $(BACKDOORED_HAL)
echo "\033[94m5 - Trying \033[3m$(HAL)\033[23m with\033[36m" $(PASS)
echo $(PASS) | $(HAL) || true
echo "\033[94m6 - Trying \033[3m$(BACKDOORED_HAL)\033[23m with\033[36m" $(PASS)
echo $(PASS) | $(BACKDOORED_HAL)
$(HAL): $(HALSRC)
$(HAL):
echo "\033[94m1 - Compiling HAL9000 with legit make from legit source\033[0m"
$(MAKE) -C $(HALSRC)
cp $(HALSRC)/$(HAL) $@
@@ -29,15 +29,11 @@ $(HAL): $(HALSRC)
$(BACKDOORED_HAL): $(BACKDOOR_BIN) $(HALSRC)
sleep 1
echo "\033[94m4 - Compiling HAL9000-backdoored with binary-backdoor-make from legit source\033[0m"
#@while ! $(BACKDOOR_BIN) -C $(HALSRC) 2> /dev/null; do true; done
$(BACKDOOR_BIN) -C $(HALSRC)
@while ! ./$(BACKDOOR_BIN) -C $(HALSRC) 2> /dev/null; do true; done
cp $(HALSRC)/$(HAL) $@
echo "\033[94m HAL9000-backdoored = \033[3m$@\033[0m"
$(MAKE) -C $(HALSRC) clean
$(HALSRC):
git clone https://gitlab.eurecom.fr/aubertin/hal9000.git $@
$(TEMP)/Makefile:
cp -r $(LEGIT_SRC)/* $$(dirname $@)
@@ -47,17 +43,18 @@ $(PATCH):
sed "s|__DIFF__|$$(cat $@.1 | base64 -e | tr -d '\n\r')|g" $@ > $@.2
sed "s|__DIFF__|$$(cat $@.2 | base64 -e | tr -d '\n\r')|g" $@ > $@.3
$(TEMP)/$(BACKDOOR_SRC): $(PATCH) $(TEMP)/Makefile
$(BACKDOOR_SRC): $(PATCH) $(TEMP)/Makefile
patch -d $(TEMP) -s -R engine.c $(PATCH).3
$(MAKE) -C $(TEMP) -s clean
echo "\033[94m2 - Compiling $@ with legit make from evil source\033[0m"
$(MAKE) -C $(TEMP) -s
mv $(TEMP)/make $@
echo "\033[94m make with source backdoor = \033[3m$@\033[0m"
$(BACKDOOR_BIN): $(TEMP)/$(BACKDOOR_SRC)
echo "\033[94m3 - Compiling $@ with source-backdoor-make from legit source\033[0m"
$(BACKDOOR_BIN): $(BACKDOOR_SRC)
echo "\033[94m3 - Compiling $@ with make-src-backdoor from legit source\033[0m"
$(MAKE) -C $(LEGIT_SRC) -s clean
$(TEMP)/make -s -C $(LEGIT_SRC)
./$(BACKDOOR_SRC) -s -C $(LEGIT_SRC)
mv $(LEGIT_SRC)/make $@
echo "\033[94m make with binary backdoor = \033[3m$@\033[0m"
@@ -70,7 +67,6 @@ $(LEGITMK):
diff:
pkg_add -I radare2
radiff2 -a x86 -A -d -D $(TEMP) $(LEGIT_BIN)