2026-09-01 (hardware injector capture #8 analysis: cr_sceCaps offset correction 0x60 & readback verification) (D295)
Analyzed hardware test logs
(reports/hardware/injector-klog.txt lines 358-377):
- Verification of Target Process and Prison:
selected foreground game pid=213confirmed foreground application resolution.target p_flag=0x10060800confirmed successful clearing ofP_SUGID(0x4000).my_ucred cr_prison=0xffffffffc68629f0andtarget_ucred cr_prison=0xffffffffc68629f0confirmed that the host daemon and the foreground game reside within the identical jail prison container.
- Root Cause Analysis of
PT_ATTACH errno=1(EPERM):- In
src/injector/krw.c,KERNEL_OFFSET_UCRED_CR_SCECAPSwas mistakenly configured as0x70. - On the PlayStation 5 kernel,
cr_sceCapsis located at offset0x60withinstruct ucred(16 bytes:0x60and0x68). - Because of this offset disparity,
krw_set_ucred_caps()was writing capability bitmasks intoucred + 0x70instead of0x60. Consequently,cr_sceCapsremained unpopulated with all-1s on both the injector process and the target process. - Sony's MAC security module (
mac_proc_check_debug()) checks caller capability flags incr_sceCapsbefore permittingPT_ATTACH. Lacking capabilities, the attachment request was denied withEPERM(errno=1).
- In
- Remediation:
- Fixed
KERNEL_OFFSET_UCRED_CR_SCECAPSto0x60insrc/injector/krw.c. - Added readback logging of
caps[0],caps[1], andattr[3]for both the calling process and the target process to verify capability bitmasks in kernel memory prior to attachment.
- Fixed
Verified: make payload injector HARDWARE=1
(9,410,720 bytes) compiles 100% clean with zero warnings
and zero errors.