mirror of
https://github.com/Pharaoh2k/ps5debug-NG.git
synced 2026-10-21 11:23:27 -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.
29 lines
701 B
C
29 lines
701 B
C
// SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
#include "sdk_shim.h"
|
|
|
|
void *g_proc_rw_mutex = NULL;
|
|
static int g_proc_rw_mutex_inited = 0;
|
|
|
|
void port_outer_init_mutexes(void)
|
|
{
|
|
if (!g_proc_rw_mutex_inited) {
|
|
scePthreadMutexInit(&g_proc_rw_mutex, NULL, "outer_proc_rw");
|
|
g_proc_rw_mutex_inited = 1;
|
|
}
|
|
}
|
|
|
|
uint32_t g_stopgo_last_signal = 0;
|
|
uint32_t g_stopgo_target_pid = 0;
|
|
void *curdbgctx = NULL;
|
|
|
|
long kern_proc_protect_inline_fast(unsigned long pid,
|
|
unsigned long address,
|
|
unsigned long prot)
|
|
{
|
|
(void)pid; (void)address; (void)prot;
|
|
return -1;
|
|
}
|