Back in December we reported on the PS4 1.76 Kernel IDPS Address, and today PlayStation 4 developers @theorywrong (Twitter) with help from @2much4u (Twitter) shared some PS4 IDPS / PSID dump code for others to implement in their projects, while noting the IDPS is still missing some bytes at the end and is for 1.76 consoles.
From the Pastebin, to quote:
From 3226:2143: IDPS/PSID/PSIDForSys all 16b on PS4. See kernel: FFFFFFFF82608090, FFFFFFFF82607FF0, FFFFFFFF82607F70.
a good way of searching for your console's partial idps and psid is to search for the string of bytes 2F B0 9F D1 DE 76 96 7D EB 94 7B 51 EC 82 78 1E in order to find your perconsole info (and remove it if necessary)
this is valid for all ps4 kernel dumps that contain partial idps. it's extremely useful to find the target id and spoof it to unlock extra debug features
i'm pretty sure you can't activate an offline account on older firmware
Thanks to both @HydrogenNGU and @raedoob for the heads up in the PSXHAX Shoutbox!
From the Pastebin, to quote:
Code:
int (*sceKernelGetIdPs)(void* ret);
int (*sceKernelGetOpenPsIdForSystem)(void* ret);
int kernel_lib = sceKernelLoadStartModule("libkernel.sprx", 0, NULL, 0, NULL, NULL);
sceKernelDlsym(kernel_lib, "sceKernelGetIdPs", &sceKernelGetIdPs);
sceKernelDlsym(kernel_lib, "sceKernelGetOpenPsIdForSystem", &sceKernelGetOpenPsIdForSystem);
void* idps = malloc(64);
void* psid = malloc(16);
sceKernelGetIdPs(idps); // Missing some byte at end
sceKernelGetOpenPsIdForSystem(psid);
a good way of searching for your console's partial idps and psid is to search for the string of bytes 2F B0 9F D1 DE 76 96 7D EB 94 7B 51 EC 82 78 1E in order to find your perconsole info (and remove it if necessary)
this is valid for all ps4 kernel dumps that contain partial idps. it's extremely useful to find the target id and spoof it to unlock extra debug features
i'm pretty sure you can't activate an offline account on older firmware
Thanks to both @HydrogenNGU and @raedoob for the heads up in the PSXHAX Shoutbox!