Prep for multi-fw and publishing on GitHub
### Added - `.gitignore` for kpatch output - Auto detect console type and firmware in `config.mjs` - Used elsewhere to determine which offsets/patches/ROP chain are used - WIP: Add 8.50-9.60 support - All offsets found - Running into some issue here. Wiped out my JOP chains to redo them... ### Fixed - Call `lapse.mjs` rather than `code.mjs` - Makefile for kpatch builds all currently available ### Changed - Use relative locations rather than absolute - Changed kpatch binaries to just be shellcode vs full ELFs - 5,216 bytes to 257 bytes. - Build kpatch binaries with `-Os` rather than `-O` - 257 bytes to 233 bytes. - Renamed/Formatted `CHANGELOG.md`, `README.md`, and `LICENSE`
This commit is contained in:
@@ -1,27 +1,21 @@
|
||||
TARGET = 80x
|
||||
ENTRY = 0x900000000
|
||||
src = $(TARGET).c
|
||||
TARGET_VERSIONS = 800 850 900 903 950
|
||||
|
||||
CC = gcc
|
||||
CFLAGS = -O -Wno-int-conversion -fno-strict-aliasing -masm=intel -nostartfiles
|
||||
CFLAGS += -fwrapv -no-pie -Ttext=$(ENTRY) -Tscript.ld -Wl,--build-id=none
|
||||
CFLAGS += -fwrapv-pointer -std=gnu11
|
||||
OBJCOPY = objcopy
|
||||
CFLAGS = -Os -std=gnu11 -Wno-int-conversion -masm=intel -nostartfiles -Tscript.ld
|
||||
|
||||
.PHONY: all
|
||||
all: $(TARGET).elf
|
||||
ALL_SOURCES = $(TARGET_VERSIONS:%=%.c)
|
||||
ALL_OBJECTS = $(TARGET_VERSIONS:%=%.o)
|
||||
ALL_BINS = $(TARGET_VERSIONS:%=%.bin)
|
||||
|
||||
$(TARGET).elf: $(TARGET).o
|
||||
$(CC) $(TARGET).o -o $(TARGET).elf $(CFLAGS)
|
||||
all: $(ALL_BINS)
|
||||
|
||||
%.bin: %.o
|
||||
$(CC) $< -o $*.elf $(CFLAGS)
|
||||
$(OBJCOPY) -O binary --only-section=.text $*.elf $@
|
||||
-rm -f $*.elf
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
-rm -f *.d *.o *.elf
|
||||
|
||||
%.d: %.c
|
||||
@set -e; \
|
||||
rm -f $@; \
|
||||
$(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \
|
||||
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
||||
rm -f $@.$$$$;
|
||||
|
||||
include $(src:.c=.d)
|
||||
-rm -f $(ALL_OBJECTS) $(ALL_BINS)
|
||||
|
||||
Reference in New Issue
Block a user