mirror of
https://github.com/Pharaoh2k/ps5debug-NG.git
synced 2026-10-22 03:42:51 -05:00
PS5 debugger payload, inspired by Ctn's ps5debug 1.0b5 and wire-compatible with it. Runs the wire-protocol server inside SceShellCore via an umtx-loaded installer that injects the embedded debugger ELF. Features: process scan/RPC/ELF-inject, on-console scan, full debugger (breakpoints, watchpoints, single-step, regs/FP/DR access), kernel R/W, server-side Zydis disassembly, on-console Keystone assembler (0xBDAA0024), foreground-app metadata (0xBDDD0006), server-side RBP stack walk (CMD_PROC_READ_STACK), klog forwarder (TCP 3232), rest-mode survival and a lot more. Supports FW families 3.x / 4.0 / 4.x (incl. 4.51) / 5.x / 6.x / 7.x / 7.5x / 8.x via the kpatch routine in installer/source/main.c. GPL-3.0-only.
43 lines
1.1 KiB
Makefile
43 lines
1.1 KiB
Makefile
# SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
SDK := ../ps5-payload-sdk/install
|
|
|
|
ifeq (,$(wildcard $(SDK)/toolchain/prospero.mk))
|
|
$(error SDK not built - run ../build.sh from the project root)
|
|
endif
|
|
|
|
include $(SDK)/toolchain/prospero.mk
|
|
|
|
ELF := build/ps5debug-NG.elf
|
|
BUILD_DIR := build
|
|
|
|
PAYLOAD_ELF := ../debugger/build/debugger.elf
|
|
EMBEDDED_BIN := $(BUILD_DIR)/embedded_inner.elf.bin
|
|
EMBEDDED_OBJ := $(BUILD_DIR)/embedded_inner.o
|
|
EMBEDDED_S := source/embedded_inner.S
|
|
|
|
CFLAGS := -Wall -O2 -I../common/include -ffunction-sections -fdata-sections
|
|
LDFLAGS := -Wl,--gc-sections
|
|
LDLIBS := -lSceLibcInternal -lkernel_sys -lSceNet -lSceNetCtl -lSceSysCore
|
|
|
|
CFILES := $(wildcard ../common/source/*.c) $(wildcard source/*.c)
|
|
|
|
all: $(ELF)
|
|
|
|
$(BUILD_DIR):
|
|
mkdir -p $(BUILD_DIR)
|
|
|
|
$(EMBEDDED_BIN): $(PAYLOAD_ELF) | $(BUILD_DIR)
|
|
cp $< $@
|
|
|
|
$(EMBEDDED_OBJ): $(EMBEDDED_S) $(EMBEDDED_BIN) | $(BUILD_DIR)
|
|
$(CC) -c -o $@ $(EMBEDDED_S) -I$(BUILD_DIR)
|
|
|
|
$(ELF): $(CFILES) $(EMBEDDED_OBJ) | $(BUILD_DIR)
|
|
$(CC) $(CFLAGS) -o $@ $(CFILES) $(EMBEDDED_OBJ) $(LDFLAGS) $(LDLIBS)
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|
|
|
|
.PHONY: all clean
|