Repository navigation
Firmware Support
TheRealRexo edited this page Oct 19, 2026
·
1 revision
| Firmware | Status | Notes |
|---|---|---|
| 13.60 | ✅ Tested | Developed and verified on hardware (PS5 Phat & Slim). |
| 13.20 | Offsets + 13xx shellcode restored from upstream. | |
| 13.00 | Offsets + 13xx shellcode restored from upstream. |
Any other firmware is refused by the payload.
The exploit abuses the rest-mode startup_mp hypercall (the same bug targeted by Byepervisor-Reborn). On S3 resume startup_mp runs on core 0 to initialise AP cores and takes a reset vector; while the AP cores start, an insecure Nested Page Table configuration applies, giving R/W into the hypervisor's address space.
The payload:
- Detects the running firmware (
kernel_get_fw_version) and selects the matching offset table (off_1300,off_1320,off_1360). - Selects the correct kernel shellcode:
- 13.60 →
stock_shellcode_kernel_1360(committed). - 13.00 / 13.20 →
shellcode_kernel_13xx_bin(committed, built from upstream sources with-DFW_13XX_PORT=1).
- 13.60 →
- Prepares the Linux image + resume, defeats the hypervisor, and enters rest mode.
Because both shellcode blobs are committed, a plain make produces the payload — there are no sub-builds.
Support is offset-driven. To add a firmware you need:
- a new
offset_listtable insource/offsets.c(all 60 qwords — see the struct ininclude/offsets.h); - a
case 0xXXXX:inset_offsets()insource/utils.c; - the firmware accepted in
source/main.cand inhv_defeat_13xx.c; - a compatible kernel shellcode blob (13xx-port build) if the default one does not fit.
Offsets must come from a real kernel dump — never guess them.