SceSblAuthMgr: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
Line 175: Line 175:
== SceSblAuthMgrForDriver ==
== SceSblAuthMgrForDriver ==


=== sceSblAuthMgrGetEKc ===
=== sceSblAuthMgrGetEKcForDriver ===
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 186: Line 186:
|}
|}


Issues F00D command [[F00D_Commands#0x40001_sceSblAuthMgrGetEKc|0x40001]]
EKc = Encrypted Key License (also called klicensee)


<source lang="C">int sceSblAuthMgrGetEKc(void* data, int size, int key_id);</source>
Issues [[F00D_Commands#0x40001_sceSblAuthMgrGetEKcForDriver|F00D command 0x40001]]


=== sceSblAuthMgrDecBindData ===
<source lang="C">int sceSblAuthMgrGetEKcForDriver(void* data, int size, int key_id);</source>
 
=== sceSblAuthMgrDecBindDataForDriver ===
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 202: Line 204:
|}
|}


Issues F00D command [[F00D_Commands#0x70001_sceSblAuthMgrDecBindData|0x70001]]
Issues [[F00D_Commands#0x70001_sceSblAuthMgrDecBindDataForDriver|F00D command 0x70001]]


<source lang="C">
<source lang="C">
//request should contain pair of keys and rif data
// request should contain pair of keys and rif data


int sceSblAuthMgrDecBindData(char* klicensee, int klicensee_len, char* request, int request_len, int zero);
int sceSblAuthMgrDecBindDataForDriver(char* klicensee, int klicensee_len, char* request, int request_len, int zero);
</source>
</source>


=== sceSblAuthMgrVerifySpfsoCtx ===
=== sceSblAuthMgrVerifySpfsoCtxForDriver ===
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 221: Line 223:
Used by [[SceSblPostSsMgr#sceSblPostSsMgrVerifySpfsoCtxForDriver|sceSblPostSsMgrVerifySpfsoCtxForDriver]]
Used by [[SceSblPostSsMgr#sceSblPostSsMgrVerifySpfsoCtxForDriver|sceSblPostSsMgrVerifySpfsoCtxForDriver]]


Issues F00D command [[F00D_Commands#0x80001|0x80001]]
Issues [[F00D_Commands#0x80001|F00D command 0x80001]]


<source lang="C">int sceSblAuthMgrVerifySpfsoCtx(spsfo_ctx *ctx);</source>
<source lang="C">int sceSblAuthMgrVerifySpfsoCtxForDriver(spsfo_ctx *ctx);</source>


[[Category:Modules]]
[[Category:Modules]]
[[Category:Kernel]]
[[Category:Kernel]]

Revision as of 20:24, 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

sceSblAuthMgrGetEKcForDriver

Version NID
1.05 0x868b9e9a
3.60 0x868b9e9a

EKc = Encrypted Key License (also called klicensee)

Issues F00D command 0x40001

int sceSblAuthMgrGetEKcForDriver(void* data, int size, int key_id);

sceSblAuthMgrDecBindDataForDriver

Version NID
1.05 0x41daea12
3.60 0x41daea12

Issues F00D command 0x70001

// request should contain pair of keys and rif data

int sceSblAuthMgrDecBindDataForDriver(char* klicensee, int klicensee_len, char* request, int request_len, int zero);

sceSblAuthMgrVerifySpfsoCtxForDriver

Version NID
3.60 0x24C4CE64

Used by sceSblPostSsMgrVerifySpfsoCtxForDriver

Issues F00D command 0x80001

int sceSblAuthMgrVerifySpfsoCtxForDriver(spsfo_ctx *ctx);