SceSblAuthMgr: Difference between revisions
Jump to navigation
Jump to search
Line 117: | Line 117: | ||
//ctx - obtained with sceSblAuthMgrStartF00DCommunication | //ctx - obtained with sceSblAuthMgrStartF00DCommunication | ||
int sceSblAuthMgrParseSelfHeader(int ctx, void *addr, int length, | int sceSblAuthMgrParseSelfHeader(int ctx, void *addr, int length, header_ctx *buffer); | ||
</source> | </source> | ||
Revision as of 02:23, 27 September 2017
Module
Known NIDs
Version | Name | World | Privilege | NID |
---|---|---|---|---|
1.69 | SceSblAuthMgr | Non-secure | Kernel | 0xEA5DFC93 |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
1.69 | SceSblAuthMgrForKernel | Non-secure | Kernel | 0x7ABF5135 |
3.60 | SceSblAuthMgrForKernel | Non-secure | Kernel | 0x7ABF5135 |
1.69 | SceSblAuthMgrForDriver | Non-secure | Kernel | 0x4EB2B1BB |
3.60 | SceSblAuthMgrForDriver | Non-secure | Kernel | 0x4EB2B1BB |
SceSblAuthMgrForKernel
These functions are used for self decryption
sceSblAuthMgrStartF00DCommunication
Version | NID |
---|---|
3.60 | 0xA9CD2A09 |
//if initialization is successful - ctx will be initialized to 1 int sceSblAuthMgrStartF00DCommunication(int* ctx);
sceSblAuthMgrShutDownCurrentlyLoadedSelf
Version | NID |
---|---|
3.60 | 0x026ACBAD |
executes special F00D command -1
//ctx - should equal 1 for successful deinit. it is obtained by calling sceSblAuthMgrStartF00DCommunication int sceSblAuthMgrShutDownCurrentlyLoadedSelf(int ctx);
sceSblAuthMgrParseSelfHeader
Version | NID |
---|---|
3.60 | 0xF3411881 |
Issues F00D command 0x10001
typedef struct header_ctx_request //size is 0x90 { uint32_t unk_8; uint32_t unk_C; uint32_t unk_10[20]; uint32_t unk_60; uint32_t unk_64; char klicensee[0x10]; // offset 0x68 uint32_t unk_78; uint32_t unk_7C; uint32_t unk_80; uint32_t unk_84; uint32_t unk_88; uint32_t unk_8C; uint32_t unk_90; uint32_t unk_94; }header_ctx_request; typedef struct header_ctx_response //size is 0x90 { char data[0x90]; // offset 0x98 }header_ctx_response; typedef struct header_ctx // size is 0x130. probably SceSblSmCommContext130 { uint32_t unk_0; uint32_t unk_4; //used header_ctx_request req; //size is 0x90 header_ctx_response resp; //size is 0x90 uint32_t unk_128; // used uint32_t unk_12C; }header_ctx; //ctx - obtained with sceSblAuthMgrStartF00DCommunication int sceSblAuthMgrParseSelfHeader(int ctx, void *addr, int length, header_ctx *buffer);
sceSblAuthMgrSetSelfSegment
Version | NID |
---|---|
3.60 | 0x89CCDA2C |
Issues F00D command 0x20001
sceSblAuthMgrDecryptSelfSegment
Version | NID |
---|---|
3.60 | 0xBC422443 |
Issues F00D command 0x30001
sceSblAuthMgrSetDmac5Key
Version | NID |
---|---|
1.05 | 0x122acdea |
3.60 | 0x122acdea |
Issues F00D command 0x50001
//key_size - in bytes int sceSblAuthMgrSetDmac5Key(char *key, int key_size, int slot_id, int key_id);
sceSblAuthMgrClearDmac5Key
Version | NID |
---|---|
1.05 | 0xf2bb723e |
3.60 | 0xf2bb723e |
Issues F00D command 0x60001
int sceSblAuthMgrClearDmac5Key(int unk0, int unk1);
sceSblAuthMgrReturnZero
Version | NID |
---|---|
3.60 | 0x2A83A012 |
returns 0
unk_ABAB8466
Version | NID |
---|---|
3.60 | 0xABAB8466 |
aligns unk0 on 12 bits and compares to 0x3600000
int unk_ABAB8466(int unk0);
SceSblAuthMgrForDriver
sceSblAuthMgrGetEKc
Version | NID |
---|---|
1.05 | 0x868b9e9a |
3.60 | 0x868b9e9a |
Issues F00D command 0x40001
int sceSblAuthMgrGetEKc(void* data, int size, int key_id);
sceSblAuthMgrDecBindData
Version | NID |
---|---|
1.05 | 0x41daea12 |
3.60 | 0x41daea12 |
Issues F00D command 0x70001
//request should contain pair of keys and rif data int sceSblAuthMgrDecBindData(char* klicensee, int klicensee_len, char* request, int request_len, int zero);
sceSblAuthMgrVerifySpfsoCtx
Version | NID |
---|---|
3.60 | 0x24C4CE64 |
Used by sceSblPostSsMgrVerifySpfsoCtxForDriver
Issues F00D command 0x80001
int sceSblAuthMgrVerifySpfsoCtx(spsfo_ctx *ctx);