Archive of https://github.com/Pharaoh2k/frame4 — A ps4debug edit with extended features. https://github.com/Pharaoh2k/frame4
  • C 98.3%
  • Makefile 0.9%
  • Linker Script 0.3%
  • Assembly 0.3%
  • Shell 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Pharaoh2k cfae634e1e
Add memset to clear args->maps if null
Initialize args->maps to zero if not provided.
2026-04-14 15:24:25 +07:00
debugger fixed proc memory map not reporting all entries 2026-03-22 18:41:37 +01:00
installer added patch for 2mb pages panic (9.00) 2025-12-12 17:05:31 +01:00
kdebugger Add memset to clear args->maps if null 2026-04-14 15:24:25 +07:00
ps4-ksdk small cleanup 2025-12-12 16:57:11 +01:00
ps4-payload-sdk/libPS4 moved all inline resolves to the sdk 2025-04-28 15:34:11 +02:00
.gitattributes Initial commit 2024-05-13 20:05:06 +02:00
.gitignore Initial commit 2024-05-13 20:05:06 +02:00
build.sh Initial commit 2024-05-13 20:05:06 +02:00
README.md Update README.md 2025-10-21 10:13:50 +02:00

Frame4

A ps4debug edit with extended features.

Features

  • Process List
  • Module List
  • Virtual Memory Map (Both Kernel and Userland)
  • Read/Write Memory (Both Kernel and Userland)
  • Read/Write Physical Memory (Kernel Context)
  • Debugger (Userland)
  • Function Calling (RPC)
  • UART Server on port 3321
  • HTTP Server on port 2812
  • Set Fan Threshold Temperature
  • Console Info (PSID, UPD/SDK Version, Kernel Info, ...)
  • System Notifications
  • Loading ELFs
  • Loading SPRXs
  • ...

Patches

  • Disable ASLR
  • Mount "/user" On Any Process
  • Disable Coredump
  • Remove Firmware Checks For PKGs (param.sfo, elf/prx Still Need Backporting)
  • 5.05 Async IO (blkno) Spam Removed
  • 2MB Page Kernel Panic Patched (9.00 And Above)
  • Kernel ELF Loading Patched ("vm_fault_copy_wired: page missing")
  • Virtual Query Patched To Allow sceKernelVirtualQuery On Pages Flagged As System
  • ...

Syscalls

Frame4 installs the following custom syscalls:

  • 107 sys_proc_list
  • 108 sys_proc_rw
  • 109 sys_proc_cmd
  • 110 sys_kern_base
  • 111 sys_kern_rw
  • 112 sys_console_cmd
  • 115 sys_kern_cmd

Supported PS4 Firmwares

  • 5.05
  • 6.72
  • 7.02
  • 9.00
  • 11.00 (Please note 11.00 is barely tested, any feedback will help!)
  • 12.02 (Not tested)

Libs

Goals

  • Make frame4 load side by side with ps4debug
  • Switch the syscalls (107-112) used for cmds to not interfere with ps4debug
  • Move away from the multi compilation setup and merge everything (similar to what has been done for ps5debug by Dizz)
  • Implement sprx loading without relying on goldhen
  • Fix on-console scanner
  • Stop hijacking ShellCore and instead create our own process
  • Move stuff to userland that doesn't need to be in kernel

Fatal Trap Hooks

Adds detailed info to fatal traps and initiates a clean reboot.

Fatal trap 12: page fault while in kernel mode
#
# registers:
#    rdi 0x880AE1DE0
#    rsi 0xFFFFFFFFADBB0000
#    rdx 0x1000
#    rcx 0x200
#    r8  0xFFFFFFFFD7049740
#    r9  0x92660BA0A
#    rax 0xFFFFFF806F71FA28
#    rbx 0xFFFFB8E8075F10B0
#    rbp 0xFFFFFF806F71F980
#    r10 0x880AE2DE0
#    r11 0xFFFFFF806F71FB80
#    r12 0x0
#    r13 0xFFFFFFFFD9524010
#    r14 0x8949C03148000041
#    r15 0xFFFFB8E807582DA0
#    rip 0xFFFFFFFFD70494D6
#    rsp 0x20
#
# kernelbase: 0xFFFFFFFFD6DD8000
#
# backtrace (0xFFFFFF806F71F970):
#    7 <kernelbase> + 0x7DE222
#    11 <kernelbase> + 0x274C010
#    13 <kernelbase> + 0xB7B72
#    16 <kernelbase> + 0x274C010
#    20 <kernelbase> + 0xB7A82
#    59 <kernelbase> + 0x2DF981
#    67 <kernelbase> + 0x274C010
#    71 <kernelbase> + 0x2DF338
#    79 <kernelbase> + 0x3F36E4
#    99 <kernelbase> + 0x274C010
#    103 <kernelbase> + 0x17D83A
#    108 <kernelbase> + 0x271740
#    116 <kernelbase> + 0x274C010
#    122 <kernelbase> + 0x2714BD
#    123 <kernelbase> + 0x2714D6
#    125 <kernelbase> + 0x2714DE
#

Backtrace Hooks

Adds detailed info on the crash logs so you never have to calculate a module offset.

...
#
# backtrace:
# 0x0000000000BB7BF1 </data/default_mp.elf> + 0x7B7BF1
# 0x0000000000B924EA </data/default_mp.elf> + 0x7924EA
# 0x00000000009D75A4 </data/default_mp.elf> + 0x5D75A4
# 0x000000000083BE99 </data/default_mp.elf> + 0x43BE99
# 0x00000008000075C2 </i8fsuSWSEf/common/lib/libkernel.sprx> + 0x75C2
# 0x0000000000000000
#
...

Contributing

If you want to contribute, feel free to make a pull request or open an issue.

Credits

And everyone else that I forgot or helped with the original ps4debug!