|
|
Line 72: |
Line 72: |
|
| |
|
| Issues F00D command [[F00D_Commands#0x10001|0x10001]] | | Issues F00D command [[F00D_Commands#0x10001|0x10001]] |
| | |
| | <code>header_ctx</code> type is defined in [[SceKernelModulemgr#Types|SceKernelModulemgr]] |
|
| |
|
| <source lang="C"> | | <source lang="C"> |
| 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 | | //ctx - obtained with sceSblAuthMgrStartF00DCommunication |
| int sceSblAuthMgrParseSelfHeader(int ctx, char *self_header, int length, header_ctx *buffer); | | int sceSblAuthMgrParseSelfHeader(int ctx, char *self_header, int length, header_ctx *buffer); |
Revision as of 01:40, 28 September 2017
Module
Known NIDs
Version |
Name |
World |
Privilege |
NID
|
1.69 |
SceSblAuthMgr |
Non-secure |
Kernel |
0xEA5DFC93
|
Libraries
Known NIDs
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);
Version
|
NID
|
3.60 |
0xF3411881
|
Issues F00D command 0x10001
header_ctx
type is defined in SceKernelModulemgr
//ctx - obtained with sceSblAuthMgrStartF00DCommunication
int sceSblAuthMgrParseSelfHeader(int ctx, char *self_header, int length, header_ctx *buffer);
sceSblAuthMgrSetSelfSegment
Version
|
NID
|
3.60 |
0x89CCDA2C
|
Issues F00D command 0x20001
//ctx - obtained with sceSblAuthMgrStartF00DCommunication
int sceSblAuthMgrSetSelfSegment(int ctx, int segment_number);
sceSblAuthMgrDecryptSelfSegment
Version
|
NID
|
3.60 |
0xBC422443
|
Issues F00D command 0x30001
//ctx - obtained with sceSblAuthMgrStartF00DCommunication
int sceSblAuthMgrDecryptSelfSegment(int ctx, void *addr, int length);
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);