SceCoredump: Difference between revisions
CelesteBlue (talk | contribs) |
CelesteBlue (talk | contribs) |
||
Line 129: | Line 129: | ||
derived from <code>SceVshBridge</code> | derived from <code>SceVshBridge</code> | ||
<source lang="C">int sceCoredumpCafSegmentFinalForDriver(SceUID ctx, void *buf, SceSize size);</source> | |||
=== sceCoredumpCafSegmentInitForDriver === | === sceCoredumpCafSegmentInitForDriver === | ||
{| class="wikitable" | {| class="wikitable" |
Revision as of 18:19, 25 January 2020
Module
Known NIDs
Version | Name | World | Privilege | NID |
---|---|---|---|---|
1.69 | SceCoredump | Non-secure | Kernel | 0x4CB1F0CC |
3.60 | SceCoredump | Non-secure | Kernel | 0x3E0F5EBD |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
1.69 | SceCoredumpForDriver | Non-secure | Kernel | 0xA351714A |
3.60 | SceCoredumpForDriver | Non-secure | Kernel | 0xA351714A |
3.60 | SceCoredump | Non-secure | User | 0xA143A77F |
3.60 | SceCoredumpNounlink | Non-secure | User | 0x2646E9D8 |
Enabling more coredumps
Though it may be possible to enable some Coredump features via setting registry values, patching for creating full Coredumps on CEX is required. There are 2 key patches. In the SceCoredump module, there are two functions that read values from the registry. The registry key used is "/CONFIG/COREDUMP".
The first patch is to force the function (located at base+0x3070 on 1.50) that checks the key "enable_coredump" to return 1 (True).
The second patch is to force the function (located at base+0x3000 on 1.50) that checks the key "dump_level" to return 0xEF0 (full coredump).
SceCoredumpForDriver
sceCoredumpCafContextCreateForDriver
Version | NID |
---|---|
3.60 | 0x2964AD0A |
derived from SceVshBridge
Returns Caf context.
SceUID sceCoredumpCafContextCreateForDriver(void);
sceCoredumpCafContextDestroyForDriver
Version | NID |
---|---|
3.60 | 0x95402BF3 |
derived from SceVshBridge
sceCoredumpCafCreateIvForDriver
Version | NID |
---|---|
3.60 | 0xE1BCBE8F |
sceCoredumpCafFinalForDriver
Version | NID |
---|---|
3.60 | 0xC90F61AF |
derived from SceVshBridge
sceCoredumpCafHeaderFinalForDriver
Version | NID |
---|---|
3.60 | 0x65AA4991 |
derived from SceVshBridge
sceCoredumpCafHeaderInitForDriver
Version | NID |
---|---|
3.60 | 0x7C8120C5 |
derived from SceVshBridge
sceCoredumpCafHeaderTransformForDriver
Version | NID |
---|---|
3.60 | 0xAE2C2793 |
derived from SceVshBridge
sceCoredumpCafInitForDriver
Version | NID |
---|---|
3.60 | 0x9336009B |
derived from SceVshBridge
sceCoredumpCafSegmentFinalForDriver
Version | NID |
---|---|
3.60 | 0xDF17420A |
derived from SceVshBridge
int sceCoredumpCafSegmentFinalForDriver(SceUID ctx, void *buf, SceSize size);
sceCoredumpCafSegmentInitForDriver
Version | NID |
---|---|
3.60 | 0x07185515 |
derived from SceVshBridge
base_key size is 0x10. It is the key that is sent to SceSblPostSsMgr for maybe some modification.
int sceCoredumpCafSegmentInitForDriver(SceUID ctx, int a2, int a3, int a4, void *base_key, SceSize size);
sceCoredumpCafSegmentTransformForDriver
Version | NID |
---|---|
3.60 | 0xFB7AEBFE |
derived from SceVshBridge
int sceCoredumpCafSegmentTransformForDriver(SceUID ctx, void *src, void *dst, SceSize size);
sceCoredumpCreateDumpForDriver
Version | NID |
---|---|
3.60 | 0x0C10313F |
derived from SceVshBridge
sceCoredumpDeleteCrashReportCafForDriver
Version | NID |
---|---|
3.60 | 0xAD070837 |
derived from SceVshBridge
SceCoredumpForDriver_unk_097AA37D
Version | NID |
---|---|
3.60 | 0x097AA37D |
Used in SceAppMgr
Used in SceAppMgrAbortHandler
Some flag that always returns 1
sceKernelCoredumpTriggerForDriver
Version | NID |
---|---|
0.990-3.60 | 0xA7D214A7 |
Used in SceAppMgr
Used in SceAppMgrAbortHandler
typedef struct SceKernelCoredumpTriggerOpt { // Size is 0x4 or 0x8 on FW 0.990 SceSize size; // Size of this structure SceSize dump_size; // 0xF (minimal coredum), 0xEF0 (full coredump) } SceKernelCoredumpTriggerOpt; int sceKernelCoredumpTriggerForDriver(int a1, int a2, int a3, SceKernelCoredumpTriggerOpt *pOpt);
sceKernelCoredumpCancelForDriver
Version | NID |
---|---|
0.990-3.60 | 0x340856F7 |
Used by sceAppMgrFinishCoredumpForShell
Used in sceCoreDumpFinishCoredumpForShellForDriver
int sceKernelCoredumpCancelForDriver(int a1);
SceCoredumpForDriver_unk_10863B61
Version | NID |
---|---|
3.60 | 0x10863B61 |
SceCoredumpForDriver_unk_12392973
Version | NID |
---|---|
3.60 | 0x12392973 |
SceCoredumpForDriver_D064F6DC
Version | NID |
---|---|
0.990-3.60 | 0xD064F6DC |
Calls SceCoredumpForDriver_A7D214A7.
int SceCoredumpForDriver_D064F6DC(int a1, int a2, int a3, SceCoredumpForDriver_A7D214A7_Opt *pOpt);
SceCoredumpForDriver_unk_EF20949F
Version | NID |
---|---|
3.60 | 0xEF20949F |
SceCoredumpForDriver_unk_13EF8516
Version | NID |
---|---|
3.60 | 0x13EF8516 |
Probably opens/creates coredump file
SceCoredump
sceCoredumpRegisterCoredumpHandler
Version | NID |
---|---|
3.60 | 0x031DC61E |
sceCoredumpUnregisterCoredumpHandler
Version | NID |
---|---|
3.60 | 0x6037A2C3 |
SceCoredumpNounlink
sceCoredumpWriteUserData
Version | NID |
---|---|
3.60 | 0xDF335DCF |