Difference between revisions of "SceSblSsMgr"

From Vita Development Wiki
Jump to navigation Jump to search
Line 56: Line 56:
 
== SceSblSsMgrForDriver ==
 
== SceSblSsMgrForDriver ==
  
=== sceSblSsMgrGenerate40 ===
+
=== execute_dmac5_command_0x04 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 64: Line 64:
 
|}
 
|}
  
<source lang="c">int sceSblSsMgrGenerate40(char* dest);</source>
+
Generates random data of length 0x40 by calling [[Dmac5|Dmac5]] command
 +
 
 +
<source lang="c">int execute_dmac5_command_0x04(char* dest);</source>
  
 
=== sceSblSsMgrGenerate40 ===
 
=== sceSblSsMgrGenerate40 ===

Revision as of 02:27, 18 August 2017

Module

Known NIDs

Version Name World Privilege NID
1.69 SceSblSsMgr Non-secure Kernel 0xFDDD93FA
3.60 SceSblSsMgr ? Kernel 0x4E913538

Libraries

Known NIDs

Version Name World Visibility NID
1.69 SceSblSsMgrForKernel Non-secure Kernel 0x74580D9F
1.69 SceSblSsMgrForDriver Non-secure Kernel 0x61E9428D
3.60 SceSblSsMgrForDriver ? Kernel 0x61E9428D
1.69 SceSblSsMgr Non-secure Kernel 0xEC86E4B0
1.69 SceSblQafMgr Non-secure User 0x756B7E89
1.69 SceSblRng Non-secure User 0x1843F124
1.69 SceSblDmac5Mgr Non-secure User 0x437366A2
1.69 SceSblAimgr Non-secure User 0xD473F968

SceSblSsMgrForKernel

get_syscon_data

Version NID
3.60 0xC2EC8F5A

for example gets 0x20 bytes of data for act_sm.self command 0x4 call.

this is done by passing offset 0x520 as first argument.

int get_syscon_data(int offset, char *buffer, int size);

SceSblSsMgrForDriver

execute_dmac5_command_0x04

Version NID
3.60 0xAC57F4F0

Generates random data of length 0x40 by calling Dmac5 command

int execute_dmac5_command_0x04(char* dest);

sceSblSsMgrGenerate40

Version NID
3.60 0x4DD1B2E5
int sceSblSsMgrGenerate40(char* outputBuffer, int size, int unk);

sceSblSsMgrGetConsoleIdForDriver

Version NID
3.60 0xFC6CDD68
//buffer is of size 0x10
int sceSblSsMgrGetConsoleIdForDriver(void* cid);

sceSblSsMgrGetOpenPsIdForDriver

Version NID
3.60 0xA5B5D269
typedef struct SceKernelOpenPsId {
	char id[16];
} SceKernelOpenPsId;

//buffer is of size 0x10
int sceSblSsMgrGetOpenPsIdForDriver(SceKernelOpenPsId *id);

dec_aes_key_msif

Version NID
3.60 0x934db6b5

decrypts or derives aes key that is used in msif to decrypt static sha224 table

communication with F00D is done with command 0x2000A

typedef struct input_data //size is 0x24
{
  uint32_t size;
  uint8_t unk_4[0x20];
}input_data;

typedef struct output_data //size is 0x24
{
  uint32_t size;
  uint8_t unk_4[0x10];
  uint8_t aes_key_14[0x10];
}input_data;

//arg1 - size is 0x10
int dec_aes_key_msif(int num, char* arg1, input_data* in, output_data* out);

SceSblSsMgr

SceSblQafMgr

sceSblQafManagerGetQafNameForUser

Version NID
1.69 0xF7EA8C2

sceSblQafManagerIsAllowKernelDebugForUser

Version NID
1.69 0x11D30766

sceSblQafManagerSetQafTokenForUser

Version NID
1.69 0x56A16392

sceSblQafMgrIsAllowForceUpdate

Version NID
1.69 0x63F29BA0

sceSblQafMgrIsAllowAllDebugMenuDisplay

Version NID
1.69 0x66843305

sceSblQafMgrIsAllowNpTest

Version NID
1.69 0xA9EBCBAC

sceSblQafMgrIsAllowNonQAPup

Version NID
1.69 0xB5621615

sceSblQafMgrGetQafToken

Version NID
1.69 0xB6BAE81D

sceSblQafMgrIsAllowLimitedDebugMenuDisplay

Version NID
1.69 0xC456212D

sceSblQafMgrIsAllowScreenShotAlways

Version NID
1.69 0xD22A8731

sceSblQafManagerDeleteQafTokenForUser

Version NID
1.69 0xD542583F

sceSblQafMgrIsAllowRemoteSysmoduleLoad

Version NID
1.69 0xF45AA706

SceSblRng

_sceKernelGetRandomNumber

Version NID
1.69 0xC37E818C

SceSblDmac5Mgr

sceSblDmac5HashTransform

Version NID
1.69 0x9EBC6EF

sceSblDmac5EncDecKeyGen

Version NID
1.69 0x5BF4F924

sceSblDmac5EncDec

Version NID
1.69 0xD0B1F759

SceSblAimgr

_sceKernelGetOpenPsId

Version NID
1.69 0x6E283E2E