Skip to content

Commit 392bc2e

Browse files
committed
Added 9.05 Support
1 parent d58680a commit 392bc2e

2 files changed

Lines changed: 161 additions & 3 deletions

File tree

prosper0gdb/offsets.c

Lines changed: 99 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2597,6 +2597,100 @@ DEF(lapic_map, 0x27af838)
25972597
#include "offset_list.txt"
25982598
END_FW()
25992599

2600+
START_FW(905)
2601+
DEF(allproc, 0x2755d50)
2602+
DEF(idt, 0x2d94300)
2603+
DEF(gdt_array, 0x2d955e0)
2604+
DEF(tss_array, 0x2d96fe0)
2605+
DEF(pcpu_array, 0x2da8f00)
2606+
DEF(doreti_iret, -0xa52e93)
2607+
DEF(add_rsp_iret, doreti_iret - 7)
2608+
DEF(swapgs_add_rsp_iret, doreti_iret - 10)
2609+
DEF(rep_movsb_pop_rbp_ret, -0xa167e6)
2610+
DEF(rdmsr_start, -0xa545ca)
2611+
DEF(wrmsr_ret, -0xa5599c)
2612+
DEF(nop_ret, wrmsr_ret + 2)
2613+
DEF(dr2gpr_start, -0xa59fd3)
2614+
DEF(gpr2dr_1_start, -0xa59eba)
2615+
DEF(gpr2dr_2_start, -0xa59dc7)
2616+
DEF(mov_cr3_rax_mov_ds, -0xa59a29)
2617+
DEF(mov_rax_cr3, -0x3C660F)
2618+
DEF(cpu_switch, -0xa5a1c0)
2619+
DEF(mprotect_fix_start, -0x98e1a3)
2620+
DEF(mprotect_fix_end, mprotect_fix_start+6)
2621+
2622+
DEF(mmap_self_fix_1_start, 0x0)
2623+
DEF(mmap_self_fix_1_end, mmap_self_fix_1_start+2)
2624+
DEF(mmap_self_fix_2_start, 0x0)
2625+
DEF(mmap_self_fix_2_end, mmap_self_fix_2_start+2)
2626+
2627+
DEF(aslr_fix_start, -0x8D9064)
2628+
DEF(aslr_fix_end, aslr_fix_start+2)
2629+
2630+
DEF(sigaction_fix_start, -0x72b4b0)
2631+
DEF(sigaction_fix_end, -0x72b491)
2632+
DEF(sysents, 0x1aac10)
2633+
DEF(sysents_ps4, 0x1a2600)
2634+
DEF(sysentvec, 0xdba648)
2635+
DEF(sysentvec_ps4, 0xdba7c0)
2636+
DEF(sceSblServiceMailbox, -0x6e7a10)
2637+
DEF(sceSblAuthMgrSmIsLoadable2, -0x928ce0)
2638+
DEF(mdbg_call_fix, -0x68A549)
2639+
DEF(syscall_before, -0x87e2b1)
2640+
DEF(syscall_after, -0x87e28d)
2641+
DEF(malloc, -0xbcfa0)
2642+
DEF(M_something, 0x14070d0)
2643+
DEF(loadSelfSegment_epilogue, -0x928551)
2644+
DEF(loadSelfSegment_watchpoint, -0x2F9228) //?????
2645+
DEF(loadSelfSegment_watchpoint_lr, -0x928827)
2646+
DEF(decryptSelfBlock_watchpoint_lr, -0x9284BE)
2647+
DEF(decryptSelfBlock_epilogue, -0x928400)
2648+
//DEF(decryptMultipleSelfBlocks_watchpoint_lr, -0x92FF81) //403
2649+
DEF(decryptMultipleSelfBlocks_watchpoint_lr, -0x927D88) //505
2650+
DEF(decryptMultipleSelfBlocks_epilogue, -0x927B57)
2651+
DEF(sceSblServiceMailbox_lr_verifyHeader, -0x9289c7)
2652+
DEF(sceSblServiceMailbox_lr_loadSelfSegment, -0x928653)
2653+
DEF(sceSblServiceMailbox_lr_decryptSelfBlock, -0x92809d)
2654+
DEF(sceSblServiceMailbox_lr_decryptMultipleSelfBlocks, -0x9278B3)
2655+
DEF(sceSblServiceMailbox_lr_sceSblAuthMgrSmFinalize, -0x928d58)
2656+
DEF(sceSblServiceMailbox_lr_verifySuperBlock, -0x9CF350)
2657+
DEF(sceSblServiceMailbox_lr_sceSblPfsClearKey_1, -0x9CF8D1)
2658+
DEF(sceSblServiceMailbox_lr_sceSblPfsClearKey_2, -0x9CF865)
2659+
DEF(sceSblServiceMailbox_lr_npdrm_cmd_5, -0x34AA73)
2660+
DEF(sceSblServiceMailbox_lr_npdrm_cmd_6, -0x34A845)
2661+
//DEF(sceSblPfsSetKeys, -0x9D5930) //403
2662+
DEF(sceSblPfsSetKeys, -0x9D0440)
2663+
DEF(sceSblServiceCryptAsync, -0x970020)
2664+
DEF(sceSblServiceCryptAsync_deref_singleton, -0x96FFE3)
2665+
DEF(copyin, -0xa170b0)
2666+
DEF(copyout, -0xa17160)
2667+
DEF(crypt_message_resolve, -0x4AEFB0) //0x4AF100)
2668+
DEF(justreturn, -0xa530c0)
2669+
DEF(justreturn_pop, justreturn+8)
2670+
DEF(mini_syscore_header, 0xe89518)
2671+
DEF(pop_all_iret, -0xa52ef2)
2672+
DEF(pop_all_except_rdi_iret, pop_all_iret+4)
2673+
DEF(push_pop_all_iret, -0x9f5078)
2674+
DEF(kernel_pmap_store, 0x2d28b78)
2675+
DEF(crypt_singleton_array, 0x2c6da30)
2676+
DEF(security_flags, 0xD73064)
2677+
DEF(targetid, 0xD7306D)
2678+
DEF(qa_flags, 0xD73088)
2679+
DEF(utoken, 0xD730F0)
2680+
DEF(mov_rax_cr0, -0xa5a121)
2681+
DEF(mov_cr0_rax, -0xa5a11c)
2682+
DEF(mov_rdi_cr2, -0xa5634a)
2683+
DEF(lgdt_rdi, -0xa169c0)
2684+
DEF(lidt_lldt, -0xa59971)
2685+
DEF(ltr_ax, -0xa5994f)
2686+
DEF(kproc_shutdown, -0x9f20b8))
2687+
DEF(s_shutdown_final, 0x36B132)
2688+
DEF(eventhandler_register, -0x55E8B0)
2689+
DEF(strlen_trap, -0x47D938) //47da88)
2690+
DEF(lapic_map, 0x27af838)
2691+
#include "offset_list.txt"
2692+
END_FW()
2693+
26002694
START_FW(920)
26012695
DEF(allproc, 0x2755d50)
26022696
DEF(idt, 0x2d94300)
@@ -2910,7 +3004,7 @@ DEF(aslr_fix_start, -0x8F033D)
29103004
DEF(aslr_fix_end, aslr_fix_start+2)
29113005

29123006
DEF(sigaction_fix_start, -0x73d979)
2913-
DEF(sigaction_fix_end, -0x73d94d)
3007+
DEF(sigaction_fix_end, -0x73D959)
29143008
DEF(sysents, 0x1ad100)
29153009
DEF(sysents_ps4, 0x1a4bb0)
29163010
DEF(sysentvec, 0xdba6d8)
@@ -3003,7 +3097,7 @@ DEF(aslr_fix_start, -0x8F033D)
30033097
DEF(aslr_fix_end, aslr_fix_start+2)
30043098

30053099
DEF(sigaction_fix_start, -0x73d979)
3006-
DEF(sigaction_fix_end, -0x73d94d)
3100+
DEF(sigaction_fix_end, -0x73D959)
30073101
DEF(sysents, 0x1ad100)
30083102
DEF(sysents_ps4, 0x1a4bb0)
30093103
DEF(sysentvec, 0xdba6d8)
@@ -3020,7 +3114,8 @@ DEF(loadSelfSegment_watchpoint, -0x2FC6A7)
30203114
DEF(loadSelfSegment_watchpoint_lr, -0x940CA7)
30213115
DEF(decryptSelfBlock_watchpoint_lr, -0x94093E)
30223116
DEF(decryptSelfBlock_epilogue, -0x9408DB)
3023-
DEF(decryptMultipleSelfBlocks_watchpoint_lr, -0x940209)
3117+
//DEF(decryptMultipleSelfBlocks_watchpoint_lr, -0x940209)
3118+
DEF(decryptMultipleSelfBlocks_watchpoint_lr, -0x940214)
30243119
DEF(decryptMultipleSelfBlocks_epilogue, -0x93FFEF)
30253120
DEF(sceSblServiceMailbox_lr_verifyHeader, -0x940e47)
30263121
DEF(sceSblServiceMailbox_lr_loadSelfSegment, -0x940ad4)
@@ -3100,6 +3195,7 @@ int set_offsets(void)
31003195
case 0x840: set_offsets_840(); break;
31013196
case 0x860: set_offsets_860(); break;
31023197
case 0x900: set_offsets_900(); break;
3198+
case 0x905: set_offsets_905(); break;
31033199
case 0x920: set_offsets_920(); break;
31043200
case 0x940: set_offsets_940(); break;
31053201
case 0x960: set_offsets_960(); break;

ps5-kstuff/main.c

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1278,6 +1278,39 @@ static struct shellcore_patch shellcore_patches_900[] = {
12781278
{0x6F6E40, "\x48\x31\xc0\xc3", 4}, // PKG Installer
12791279
};
12801280

1281+
static struct shellcore_patch shellcore_patches_905[] = {
1282+
{0xC0F813, "\x52\xeb\xe2", 3}, //push rdx; jmp 0xC0F7F8
1283+
{0xC0F7F8, "\xe8\xe3\xf8\xff\xff\x58\xc3", 7}, //call 0xC0F0E0; pop rax; ret
1284+
{0xC0F0C6, "\xe9\x06\x00\x00\x00", 5}, // jmp 0xC0F0D1
1285+
{0xC0F0D1, "\x31\xc0\x50\xe8\x07\x00\x00\x00\x58\xc3", 10}, //xor eax, eax; push rax; call 0xC0F0E0; pop rax; ret
1286+
{0x6F1C08, "\xeb\x04", 2},
1287+
{0x30E1CF, "\xeb\x04", 2},
1288+
{0x30E59F, "\xeb\x04", 2},
1289+
{0x7118CB, "\xeb", 1},
1290+
{0x6FA165, "\x90\xe9", 2},
1291+
{0x712035, "\xeb", 1},
1292+
{0x71401F, "\x61\x01\x00\x00", 4}, // 0x714184
1293+
{0x209DD1, "\xe8\x0a\x05\x60\x00\x31\xc9\xff\xc1\xe9\x84\x03\x00\x00", 14}, // call 0x80A2E0; xor ecx; inc ecx; jmp 0x20A163
1294+
{0x20A163, "\x83\xf8\x02\x0f\x43\xc1\xe9\x01\xf4\xff\xff", 11},// cmp eax, 2; cmovae eax, ecx; jmp 0x20956F
1295+
{0x209371, "\xe9\x5b\x0a\x00\x00", 5}, // jmp 0x209DD1
1296+
1297+
{0x734300, "\xC3", 1}, // callback to sceRifManagerRegisterActivationCallback
1298+
1299+
{0x16A4690, "\x31\xc0\xc3", 3}, // VR2 Min Fw Check
1300+
{0xA8EA86, "\xeb\x03", 2}, // disable game error message
1301+
{0x3068EB, "\x90\xe9", 2}, // PS4 Disc Installer Patch 1
1302+
{0x306969, "\x90\xe9", 2}, // PS5 Disc Installer Patch 1
1303+
{0x306A6C, "\xeb", 1}, // PS4 PKG Installer Patch 1
1304+
{0x306B40, "\xeb", 1}, // PS5 PKG Installer Patch 1
1305+
{0x306F46, "\x90\xe9", 2}, // PS4 PKG Installer Patch 2
1306+
{0x3070ED, "\xeb", 1}, // PS5 PKG Installer Patch 2
1307+
{0x3074AE, "\x90\xe9", 2}, // PS4 PKG Installer Patch 3
1308+
{0x307541, "\x90\xe9", 2}, // PS5 PKG Installer Patch 3
1309+
{0x6F088A, "\xeb", 1}, // PS4 PKG Installer Patch 4
1310+
{0x6F37C4, "\xeb", 1}, // PS5 PKG Installer Patch 4
1311+
{0x6F6E40, "\x48\x31\xc0\xc3", 4}, // PKG Installer
1312+
};
1313+
12811314
static struct shellcore_patch shellcore_patches_920[] = {
12821315
{0xC0F553, "\x52\xeb\xe2", 3}, //push rdx; jmp 0xC0F538
12831316
{0xC0F538, "\xe8\xe3\xf8\xff\xff\x58\xc3", 7}, //call 0xC0EE20; pop rax; ret
@@ -1535,6 +1568,7 @@ static const struct shellcore_patch* get_shellcore_patches(size_t* n_patches)
15351568
FW(840);
15361569
FW(860);
15371570
FW(900);
1571+
FW(905);
15381572
FW(920);
15391573
FW(940);
15401574
FW(960);
@@ -2275,6 +2309,31 @@ static struct PARASITES(14) parasites_900 = {
22752309
}
22762310
};
22772311

2312+
static struct PARASITES(14) parasites_905 = {
2313+
.lim_syscall = 3,
2314+
.lim_fself = 12,
2315+
.lim_total = 14,
2316+
.parasites = {
2317+
/* syscall parasites */
2318+
{-0x87E7BE, R13},
2319+
{-0x3BC12C, RSI},
2320+
{-0x3BC0EC, RSI},
2321+
/* fself parasites */
2322+
{-0x2F8DE6, RAX},
2323+
{-0x2F9938, RAX},
2324+
{-0x2F9800, RAX},
2325+
{-0x2F956B, RAX},
2326+
{-0x2F929D, RAX},
2327+
{-0x2F8F66, RAX},
2328+
{-0x2F8F5A, RAX},
2329+
{-0xA1730C, RDI},
2330+
{-0x2F93D7, RAX},
2331+
/* unsorted parasites */
2332+
{-0x4AECBF, RAX},
2333+
{-0x4AECBF, R15},
2334+
}
2335+
};
2336+
22782337
static struct PARASITES(14) parasites_920 = {
22792338
.lim_syscall = 3,
22802339
.lim_fself = 12,
@@ -2491,6 +2550,9 @@ static struct parasite_desc* get_parasites(size_t* desc_size)
24912550
case 0x900:
24922551
*desc_size = sizeof(parasites_900);
24932552
return (void*)&parasites_900;
2553+
case 0x905:
2554+
*desc_size = sizeof(parasites_905);
2555+
return (void*)&parasites_905;
24942556
case 0x920:
24952557
*desc_size = sizeof(parasites_920);
24962558
return (void*)&parasites_920;

0 commit comments

Comments
 (0)