Difference between revisions of "SceSblAuthMgr"

From Vita Development Wiki
Jump to navigation Jump to search
Tags: mobile edit mobile web edit
Line 7: Line 7:
 
|-
 
|-
 
| 1.69 || SceSblAuthMgr || Non-secure || Kernel || 0xEA5DFC93
 
| 1.69 || SceSblAuthMgr || Non-secure || Kernel || 0xEA5DFC93
 +
|-
 +
| 3.60 || SceSblAuthMgr || Non-secure || Kernel || 0x1773372D
 
|}
 
|}
  
Line 24: Line 26:
 
|-
 
|-
 
| 3.60 || [[SceSblAuthMgr#SceSblAuthMgrForDriver|SceSblAuthMgrForDriver]] || Non-secure || Kernel || 0x4EB2B1BB
 
| 3.60 || [[SceSblAuthMgr#SceSblAuthMgrForDriver|SceSblAuthMgrForDriver]] || Non-secure || Kernel || 0x4EB2B1BB
|-
 
 
|}
 
|}
  
Line 33: Line 34:
 
=== sceSblAuthMgrSmStartForKernel ===
 
=== sceSblAuthMgrSmStartForKernel ===
 
{| class="wikitable"
 
{| class="wikitable"
|-
+
! Version !! NID
! Version
 
! NID
 
 
|-
 
|-
 
| 3.60 || 0xA9CD2A09
 
| 3.60 || 0xA9CD2A09
|-
 
 
|}
 
|}
  
Line 48: Line 46:
 
=== sceSblAuthMgrSmStopForKernel ===
 
=== sceSblAuthMgrSmStopForKernel ===
 
{| class="wikitable"
 
{| class="wikitable"
|-
+
! Version !! NID
! Version
 
! NID
 
 
|-
 
|-
 
| 3.60 || 0x026ACBAD
 
| 3.60 || 0x026ACBAD
Line 84: Line 80:
 
=== sceSblAuthMgrLoadSelfSegmentForKernel ===
 
=== sceSblAuthMgrLoadSelfSegmentForKernel ===
 
{| class="wikitable"
 
{| class="wikitable"
|-
+
! Version !! NID
! Version
 
! NID
 
 
|-
 
|-
 
| 3.60 || 0x89CCDA2C
 
| 3.60 || 0x89CCDA2C
Line 100: Line 94:
 
=== sceSblAuthMgrLoadSelfBlockForKernel ===
 
=== sceSblAuthMgrLoadSelfBlockForKernel ===
 
{| class="wikitable"
 
{| class="wikitable"
|-
+
! Version !! NID
! Version
 
! NID
 
 
|-
 
|-
 
| 3.60 || 0xBC422443
 
| 3.60 || 0xBC422443
Line 116: Line 108:
 
=== sceSblAuthMgrSetDmac5KeyForKernel ===
 
=== sceSblAuthMgrSetDmac5KeyForKernel ===
 
{| class="wikitable"
 
{| class="wikitable"
 +
! Version !! NID
 
|-
 
|-
! Version
+
| 1.05 || 0x122ACDEA
! NID
 
|-
 
| 1.05 || 0x122acdea
 
|-
 
| 3.60 || 0x122acdea
 
 
|-
 
|-
 +
| 3.60 || 0x122ACDEA
 
|}
 
|}
  
Line 135: Line 124:
 
=== sceSblAuthMgrClearDmac5KeyForKernel ===
 
=== sceSblAuthMgrClearDmac5KeyForKernel ===
 
{| class="wikitable"
 
{| class="wikitable"
 +
! Version !! NID
 
|-
 
|-
! Version
+
| 1.05 || 0xF2BB723E
! NID
 
|-
 
| 1.05 || 0xf2bb723e
 
|-
 
| 3.60 || 0xf2bb723e
 
 
|-
 
|-
 +
| 3.60 || 0xF2BB723E
 
|}
 
|}
  
Line 149: Line 135:
 
<source lang="C">int sceSblAuthMgrClearDmac5KeyForKernel(int unk0, int unk1);</source>
 
<source lang="C">int sceSblAuthMgrClearDmac5KeyForKernel(int unk0, int unk1);</source>
  
=== sceSblAuthMgrReturnZeroForKernel ===
+
=== SceSblAuthMgrForKernel_2A83A012 ===
 
{| class="wikitable"
 
{| class="wikitable"
|-
+
! Version !! NID
! Version
 
! NID
 
 
|-
 
|-
 
| 3.60 || 0x2A83A012
 
| 3.60 || 0x2A83A012
|-
 
 
|}
 
|}
  
Returns 0.
+
Returns 0. May be an old function kept for compatibility.
 +
 
 +
<source lang="C">int SceSblAuthMgrForKernel_2A83A012(void);</source>
  
 
=== sceSblAuthMgrCompareSwVersionForKernel ===
 
=== sceSblAuthMgrCompareSwVersionForKernel ===
 
{| class="wikitable"
 
{| class="wikitable"
|-
+
! Version !! NID
! Version
 
! NID
 
 
|-
 
|-
 
| 3.60 || 0xABAB8466
 
| 3.60 || 0xABAB8466
|-
 
 
|}
 
|}
  
Line 179: Line 161:
 
=== sceSblAuthMgrGetEKcForDriver ===
 
=== sceSblAuthMgrGetEKcForDriver ===
 
{| class="wikitable"
 
{| class="wikitable"
 +
! Version !! NID
 
|-
 
|-
! Version
+
| 1.05 || 0x868B9E9A
! NID
 
|-
 
| 1.05 || 0x868b9e9a
 
 
|-
 
|-
| 3.60 || 0x868b9e9a
+
| 3.60 || 0x868B9E9A
 
|}
 
|}
  
Line 196: Line 176:
 
=== sceSblAuthMgrDecBindDataForDriver ===
 
=== sceSblAuthMgrDecBindDataForDriver ===
 
{| class="wikitable"
 
{| class="wikitable"
 +
! Version !! NID
 
|-
 
|-
! Version
+
| 1.05 || 0x41DAEA12
! NID
 
|-
 
| 1.05 || 0x41daea12
 
|-
 
| 3.60 || 0x41daea12
 
 
|-
 
|-
 +
| 3.60 || 0x41DAEA12
 
|}
 
|}
  
Line 216: Line 193:
 
=== sceSblAuthMgrVerifySpfsoCtxForDriver ===
 
=== sceSblAuthMgrVerifySpfsoCtxForDriver ===
 
{| class="wikitable"
 
{| class="wikitable"
|-
+
! Version !! NID
! Version
 
! NID
 
 
|-
 
|-
 
| 3.60 || 0x24C4CE64
 
| 3.60 || 0x24C4CE64
Line 228: Line 203:
  
 
<source lang="C">int sceSblAuthMgrVerifySpfsoCtxForDriver(spsfo_ctx *ctx);</source>
 
<source lang="C">int sceSblAuthMgrVerifySpfsoCtxForDriver(spsfo_ctx *ctx);</source>
 +
  
 
[[Category:Modules]]
 
[[Category:Modules]]
 
[[Category:Kernel]]
 
[[Category:Kernel]]

Revision as of 22:30, 15 November 2018

Module

Known NIDs

Version Name World Privilege NID
1.69 SceSblAuthMgr Non-secure Kernel 0xEA5DFC93
3.60 SceSblAuthMgr Non-secure Kernel 0x1773372D

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);

sceSblAuthMgrSmStopForKernel

Version NID
3.60 0x026ACBAD

Issued F00D command -1

// ctx - obtained with sceSblAuthMgrSmStartForKernel. Should equal 1 for successful deinit.
int sceSblAuthMgrSmStopForKernel(int ctx);

sceSblAuthMgrAuthHeaderForKernel

Version NID
3.60 0xF3411881

Issues F00D command 0x10001

SceSblSmCommContext130 type is defined in SceKernelModulemgr.

Read caller SELF Info using sceKernelGetSelfInfoForKernel then writes it to context_130->caller_self_info.

Calls smc_137 and smc_134 that interact with F00D. F00D set context_130->called_self_info.

//ctx - obtained with sceSblAuthMgrSmStartForKernel
int sceSblAuthMgrAuthHeaderForKernel(int ctx, char *header, int header_size, SceSblSmCommContext130 *context_130);

sceSblAuthMgrLoadSelfSegmentForKernel

Version NID
3.60 0x89CCDA2C

Issues F00D command 0x20001

// ctx - obtained with sceSblAuthMgrSmStartForKernel
int sceSblAuthMgrLoadSelfSegmentForKernel(int ctx, int segment_number, int segment_size, void output_buffer, int program_size);

sceSblAuthMgrLoadSelfBlockForKernel

Version NID
3.60 0xBC422443

Issues F00D command 0x30001

// ctx - obtained with sceSblAuthMgrSmStartForKernel
int sceSblAuthMgrLoadSelfBlockForKernel(int ctx, char *buffer, int offset);

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);

SceSblAuthMgrForKernel_2A83A012

Version NID
3.60 0x2A83A012

Returns 0. May be an old function kept for compatibility.

int SceSblAuthMgrForKernel_2A83A012(void);

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);