Module
Known NIDs
Version |
Name |
World |
Privilege |
NID
|
3.60 |
SceSblPostSsMgr |
? |
Kernel |
0xB6C941F2
|
Libraries
Known NIDs
SceSblPostSsMgrForDriver
Types
typedef struct spsfo_ctx
{
SceUID mem_uid; //SceSblSpsfoMgr
void* mem_block_base;
uint32_t unk_8;
} spsfo_ctx;
sceSblPostSsMgrInitializeSpfsoCtxForDriver
Version |
NID
|
3.60 |
0xBDF18922
|
derived from _vshSblAuthMgrVerifySpsfo
int sceSblPostSsMgrInitializeSpfsoCtxForDriver(char *path, spsfo_ctx *result);
sceSblPostSsMgrVerifySpfsoCtxForDriver
Version |
NID
|
3.60 |
0x686B9461
|
derived from _vshSblAuthMgrVerifySpsfo
int sceSblPostSsMgrVerifySpfsoCtxForDriver(spsfo_ctx *ctx, int *res, int *size);
sceSblPostSsMgrReleaseSpfsoCtxForDriver
Version |
NID
|
3.60 |
0xAD3B0078
|
derived from _vshSblAuthMgrVerifySpsfo
int sceSblPostSsMgrReleaseSpfsoCtxForDriver(spsfo_ctx *ctx);
sceSblPostSsMgrGetExpireDateForDriver
Version |
NID
|
3.60 |
0x4FF2682F
|
get activation data exp date
int sceSblPostSsMgrGetExpireDateForDriver(int *expire_date, int request_data_flag);
sceSblPostSsMgrActivateForDriver
Version |
NID
|
3.60 |
0x0298382B
|
int sceSblPostSsMgrActivateForDriver(char *afv_path);
sceSblPostSsMgrExecutePmSmF00dCommandForDriver
Version |
NID
|
3.60 |
0xADF92824
|
executes pm_sm.self commands 2,3,4,5,6,7,8,9,A
sceSblPostSsMgrExecutePmSmF00dCommandForDriver
Version |
NID
|
3.60 |
0xFE92A318
|
executes pm_sm.self commands 2,3,4,5,6,7,8,9,A
sceSblPostSsMgrExecutePmSmF00dCommand8ForDriver
Version |
NID
|
3.60 |
0x4663C195
|
executes pm_sm.self command 8
sceSblPostSsMgrExecutePmSmSdF00dCommandForDriver
Version |
NID
|
3.60 |
0x19B63D65
|
executes pm_sm_sd.self commands 9, A
sceSblPostSsMgrExecuteUtokenSmF00dCommand1ForDriver
Version |
NID
|
3.60 |
0xC2E58CE3
|
executes utoken_sm command 1
sceSblPostSsMgrDecryptSealedkeyForDriver
Version |
NID
|
3.60 |
0x33275F95
|
data
is 0x50 bytes of data from sealedkey
this function:
verifies pfsSKKey header
decrypts aes_key(pfsSKKey__EncKey) and hmac_key(pfsSKKey__Secret) using sceSblSsMgrEncryptWithPortabilityForDriver
verifies hmac256 value in HMAC Value
decrypts Encrypted key
into dst_secret
//data - size 0x50
//dst_secret - size 0x10
int sceSblPostSsMgrDecryptSealedkeyForDriver(char* data, char* dst_secret);
sceSblPostSsMgrEncryptSealedkeyForDriver
Version |
NID
|
3.60 |
0x08525D8D
|
data
is 0x50 bytes of data like in sealedkey
this function:
writes pfsSKKey header
decrypts aes_key(pfsSKKey__EncKey) and hmac_key(pfsSKKey__Secret) using sceSblSsMgrEncryptWithPortabilityForDriver
randomly generates 0x10 bytes of IV with sceSblSsMgrGetRandomNumberForDriver
randomly generates 0x10 bytes of secret with sceSblSsMgrGetRandomNumberForDriver
encrypts the secret into Encrypted key
calculates hmac256 value into HMAC Value
//dest_data - size 0x50
int sceSblPostSsMgrEncryptSealedkeyForDriver (char* dest_data);
sceSblPostSsMgrVerifyKeystoneForDriver
Version |
NID
|
3.60 |
0xDDA6FA6D
|
This function verifies magic in the header and HMAC of the keystone file
int sceSblPostSsMgrVerifyKeystoneForDriver(char* data, int version);
sceSblPostSsMgrVerifyKeystoneWithPasscodeForDriver
Version |
NID
|
3.60 |
0xF86F1452
|
int sceSblPostSsMgrVerifyKeystoneWithPasscodeForDriver(char* keystone_data, char* passcode);
sceSblPostSsMgrDebugEncryptKeystoneForDriver
Version |
NID
|
3.60 |
0x42474C8B
|
int sceSblPostSsMgrDebugEncryptKeystoneForDriver(char* src_secret, char* dest_data);
sceSblPostSsMgrDebugDecryptKeystoneForDriver
Version |
NID
|
3.60 |
0xCC5AA5A5
|
int sceSblPostSsMgrDebugDecryptKeystoneForDriver(char* keystone_data, char* dst_secret);
SceZlibForDriver
SceSblFwLoaderForDriver
SceSblPmMgr
SceSblRtcMgr
SceSblLicMgr
Functions related to afv file
sceSblLicMgrGetIssueNo
Version |
NID
|
3.60 |
0x0E0691A1
|
// if request_data_flag is 0 then some cached value is used
// if request_data_flag is 1 then data is requested from syscon
int sceSblLicMgrGetIssueNo(int *issue_number, int request_data_flag);
sceSblLicMgrGetLicenseStatus
Version |
NID
|
3.60 |
0x0EA6A30C
|
int sceSblLicMgrGetLicenseStatus();
sceSblLicMgrGetActivationKey
Version |
NID
|
3.60 |
0x2A437187
|
typedef struct activation_key // size is 0x14
{
char psid[0x10]; //obtained with sceSblSsMgrGetOpenPsIdForDriver
uint32_t vadd_hash; // result of vector add operation applied to psid
}activation_key;
int sceSblLicMgrGetActivationKey(activation_key* key);
sceSblLicMgrActivateFromFs
Version |
NID
|
3.60 |
0x6E56EA0A
|
//activates from ux0:/data/activate/
int sceSblLicMgrActivateFromFs();
sceSblLicMgrGetUsageTimeLimit
Version |
NID
|
3.60 |
0x774EBBA2
|
int sceSblLicMgrGetUsageTimeLimit(int *time_limit);
sceSblLicMgrClearActivationData
Version |
NID
|
3.60 |
0x9B749D1D
|
int sceSblLicMgrClearActivationData();
sceSblLicMgrGetExpireDate
Version |
NID
|
3.60 |
0xE9FA0FE5
|
// if request_data_flag is 0 then some cached value is used
// if request_data_flag is 1 then data is requested from syscon
int sceSblLicMgrGetExpireDate(int *expire_date, int request_data_flag);
sceSblLicMgrActivateDevkit
Version |
NID
|
3.60 |
0xEB21DD39
|
//afv_path is of size 0x100
int sceSblLicMgrActivateDevkit(char* afv_path);
SceSblUtMgr