SceSblAuthMgr: Difference between revisions
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) |
CelesteBlue (talk | contribs) |
||
Line 29: | Line 29: | ||
== SceSblAuthMgrForKernel == | == SceSblAuthMgrForKernel == | ||
These functions are used for [[SceKernelModulemgr#Decrypt_SELF_ELF_Program| | These functions are used for [[SceKernelModulemgr#Decrypt_SELF_ELF_Program|SELF decryption]] | ||
=== sceSblAuthMgrSmStartForKernel === | === sceSblAuthMgrSmStartForKernel === | ||
Line 42: | Line 42: | ||
<source lang="C"> | <source lang="C"> | ||
//if initialization is successful - ctx will be initialized to 1 | // if initialization is successful - ctx will be initialized to 1 | ||
int sceSblAuthMgrSmStartForKernel(int* ctx); | int sceSblAuthMgrSmStartForKernel(int* ctx); | ||
</source> | </source> | ||
=== | === sceSblAuthMgrSmFinalizeForKernel === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 55: | Line 55: | ||
|} | |} | ||
Issued [[F00D_Commands#Request_Buffer|F00D command -1]] | |||
<source lang="C"> | <source lang="C"> | ||
//ctx - | // ctx - obtained with sceSblAuthMgrSmStartForKernel. Should equal 1 for successful deinit. | ||
int | int sceSblAuthMgrSmFinalizeForKernel(int ctx); | ||
</source> | </source> | ||
=== | === sceSblAuthMgrAuthHeader === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 71: | Line 71: | ||
|} | |} | ||
Issues | Issues [[F00D_Commands#0x10001|F00D command 0x10001]] | ||
<code>SceSblSmCommContext130</code> type is defined in [[SceKernelModulemgr#Types|SceKernelModulemgr]]. | <code>SceSblSmCommContext130</code> type is defined in [[SceKernelModulemgr#Types|SceKernelModulemgr]]. | ||
<source lang="C"> | <source lang="C"> | ||
//ctx - obtained with | //ctx - obtained with sceSblAuthMgrSmStartForKernel | ||
int | int sceSblAuthMgrAuthHeader(int ctx, char *self_header, int length, SceSblSmCommContext130 *buffer); | ||
</source> | </source> | ||
=== | === sceSblAuthMgrLoadSelfSegmentForKernel === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 89: | Line 89: | ||
|} | |} | ||
Issues | Issues [[F00D_Commands#0x20001|F00D command 0x20001]] | ||
<source lang="C"> | <source lang="C"> | ||
//ctx - obtained with | // ctx - obtained with sceSblAuthMgrSmStartForKernel | ||
int | int sceSblAuthMgrLoadSelfSegmentForKernel(int ctx, int segment_number); | ||
</source> | </source> | ||
=== | === sceSblAuthMgrLoadSelfBlockForKernel === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 105: | Line 105: | ||
|} | |} | ||
Issues | Issues [[F00D_Commands#0x30001|F00D command 0x30001]] | ||
<source lang="C"> | <source lang="C"> | ||
//ctx - obtained with | // ctx - obtained with sceSblAuthMgrSmStartForKernel | ||
int | int sceSblAuthMgrLoadSelfBlockForKernel(int ctx, void *addr, int length); | ||
</source> | </source> | ||
=== | === sceSblAuthMgrSetDmac5KeyForKernel === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 124: | Line 124: | ||
|} | |} | ||
Issues | Issues [[F00D_Commands#0x50001_sceSblAuthMgrSetDmac5KeyForKernel|F00D command 0x50001]] | ||
<source lang="C"> | <source lang="C"> | ||
//key_size - in bytes | // key_size - in bytes | ||
int | int sceSblAuthMgrSetDmac5KeyForKernel(char *key, int key_size, int slot_id, int key_id); | ||
</source> | </source> | ||
=== | === sceSblAuthMgrClearDmac5KeyForKernel === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 143: | Line 143: | ||
|} | |} | ||
Issues | Issues [[F00D_Commands#0x60001_sceSblAuthMgrClearDmac5KeyForKernel|F00D command 0x60001]] | ||
<source lang="C">int | <source lang="C">int sceSblAuthMgrClearDmac5KeyForKernel(int unk0, int unk1);</source> | ||
=== | === sceSblAuthMgrReturnZeroForKernel === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 169: | Line 169: | ||
|} | |} | ||
Aligns version on 12 bits then compares to 0x03600000 or 0x03650000 | Aligns version on 12 bits then compares to the hardcoded current firmware version (example: 0x03600000 or 0x03650000). | ||
<source lang="C">int sceSblAuthMgrCompareSwVersionForKernel(int version);</source> | <source lang="C">int sceSblAuthMgrCompareSwVersionForKernel(int version);</source> |
Revision as of 20:20, 29 March 2018
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
sceSblAuthMgrSmStartForKernel
Version | NID |
---|---|
3.60 | 0xA9CD2A09 |
// if initialization is successful - ctx will be initialized to 1 int sceSblAuthMgrSmStartForKernel(int* ctx);
sceSblAuthMgrSmFinalizeForKernel
Version | NID |
---|---|
3.60 | 0x026ACBAD |
Issued F00D command -1
// ctx - obtained with sceSblAuthMgrSmStartForKernel. Should equal 1 for successful deinit. int sceSblAuthMgrSmFinalizeForKernel(int ctx);
sceSblAuthMgrAuthHeader
Version | NID |
---|---|
3.60 | 0xF3411881 |
Issues F00D command 0x10001
SceSblSmCommContext130
type is defined in SceKernelModulemgr.
//ctx - obtained with sceSblAuthMgrSmStartForKernel int sceSblAuthMgrAuthHeader(int ctx, char *self_header, int length, SceSblSmCommContext130 *buffer);
sceSblAuthMgrLoadSelfSegmentForKernel
Version | NID |
---|---|
3.60 | 0x89CCDA2C |
Issues F00D command 0x20001
// ctx - obtained with sceSblAuthMgrSmStartForKernel int sceSblAuthMgrLoadSelfSegmentForKernel(int ctx, int segment_number);
sceSblAuthMgrLoadSelfBlockForKernel
Version | NID |
---|---|
3.60 | 0xBC422443 |
Issues F00D command 0x30001
// ctx - obtained with sceSblAuthMgrSmStartForKernel int sceSblAuthMgrLoadSelfBlockForKernel(int ctx, void *addr, int length);
sceSblAuthMgrSetDmac5KeyForKernel
Version | NID |
---|---|
1.05 | 0x122acdea |
3.60 | 0x122acdea |
Issues F00D command 0x50001
// key_size - in bytes int sceSblAuthMgrSetDmac5KeyForKernel(char *key, int key_size, int slot_id, int key_id);
sceSblAuthMgrClearDmac5KeyForKernel
Version | NID |
---|---|
1.05 | 0xf2bb723e |
3.60 | 0xf2bb723e |
Issues F00D command 0x60001
int sceSblAuthMgrClearDmac5KeyForKernel(int unk0, int unk1);
sceSblAuthMgrReturnZeroForKernel
Version | NID |
---|---|
3.60 | 0x2A83A012 |
Returns 0.
sceSblAuthMgrCompareSwVersionForKernel
Version | NID |
---|---|
3.60 | 0xABAB8466 |
Aligns version on 12 bits then compares to the hardcoded current firmware version (example: 0x03600000 or 0x03650000).
int sceSblAuthMgrCompareSwVersionForKernel(int version);
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);