mirror of
https://github.com/thomasxm/BOAZ_beta
synced 2026-06-06 16:54:29 +00:00
51 lines
1.4 KiB
Makefile
51 lines
1.4 KiB
Makefile
ProjectName = ShellcodeTemplate
|
|
|
|
CCX64 = x86_64-w64-mingw32-gcc
|
|
CCX86 = i686-w64-mingw32-gcc
|
|
|
|
CFLAGS = -Os -fno-asynchronous-unwind-tables -nostdlib
|
|
CFLAGS += -fno-ident -fpack-struct=8 -falign-functions=1
|
|
CFLAGS += -s -ffunction-sections -falign-jumps=1 -w
|
|
CFLAGS += -falign-labels=1 -fPIC
|
|
CFLAGS += -Wl,-s,--no-seh,--enable-stdcall-fixup
|
|
|
|
# Define linker flags
|
|
LFLAGS = -lkernel32 -Wl,--image-base=0x00400000 -T Scripts/Linker.ld -Wl,-subsystem,console -Wl,-e,Entry
|
|
|
|
|
|
|
|
EXECUTABLE_X64 = Bin/$(ProjectName).x64.exe
|
|
RAWBINARY_X64 = Bin/$(ProjectName).x64.bin
|
|
|
|
EXECUTABLE_X86 = Bin/$(ProjectName).x86.exe
|
|
RAWBINARY_X86 = Bin/$(ProjectName).x86.bin
|
|
|
|
all: x64 x86
|
|
|
|
x64: clean
|
|
@ echo "[*] Compile x64 executable..."
|
|
|
|
@ nasm -f win64 Source/Asm/x64/asm.s -o Bin/asm.x64.o
|
|
@ $(CCX64) Source/*.c Bin/asm.x64.o -o $(EXECUTABLE_X64) $(CFLAGS) $(LFLAGS) -IInclude -masm=intel
|
|
|
|
@ echo "[*] Extract shellcode: $(RAWBINARY_X64)"
|
|
@ python3 Scripts/extract.py -f $(EXECUTABLE_X64) -o $(RAWBINARY_X64)
|
|
|
|
@ rm $(EXECUTABLE_X64)
|
|
|
|
x86: clean
|
|
@ echo "[*] Compile x86 executable..."
|
|
|
|
@ nasm -f win32 Source/Asm/x86/asm.s -o Bin/asm.x86.o
|
|
@ $(CCX86) Source/*.c Bin/asm.x86.o -o $(EXECUTABLE_X86) $(CFLAGS) $(LFLAGS) -IInclude -masm=intel
|
|
|
|
@ echo "[*] Extract shellcode: $(RAWBINARY_X86)"
|
|
@ python3 Scripts/extract.py -f $(EXECUTABLE_X86) -o $(RAWBINARY_X86)
|
|
|
|
@ rm $(EXECUTABLE_X86)
|
|
|
|
clean:
|
|
@ rm -rf Bin/*.o
|
|
@ rm -rf Bin/*.bin
|
|
@ rm -rf Bin/*.exe
|