SceSblAuthMgr

Secure Block Authentication Manager

SceSblAuthMgrForKernel
These functions are used for SELF decryption.

sceSblAuthMgrOpenForKernel
Temp name was sceSblAuthMgrInvokeSMForKernel, sceSblAuthMgrSmStartForKernel.

sceSblAuthMgrCloseForKernel
Temp name was sceSblAuthMgrStopSMForKernel, sceSblAuthMgrSmStopForKernel.

Issues kprx_auth_sm command -1.

sceSblAuthMgrStartForKernel
Creates SceSblAuthMgrZlibHeap.

sceSblAuthMgrStopForKernel
Deletes SceSblAuthMgrZlibHeap.

sceSblAuthMgrAuthHeaderForKernel
Issues kprx_auth_sm command 0x10001

type is defined in SceSblSsSmComm.

?Read caller SELF Info using sceKernelGetSelfAuthInfoForKernel? then writes it to context_130->caller_self_auth_info.

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

sceSblAuthMgrSetupAuthSegmentForKernel
Temp name was sceSblAuthMgrLoadSelfSegmentForKernel, sceSblAuthMgrLoadSegmentForKernel.

Issues kprx_auth_sm command 0x20001.

sceSblAuthMgrAuthSegmentForKernel
Temp name was sceSblAuthMgrLoadSelfBlockForKernel, sceSblAuthMgrLoadBlockForKernel.

Issues kprx_auth_sm command 0x30001

sceSblAuthMgrSetDmac5KeyForKernel
Issues kprx_auth_sm command 0x50001.

sceSblAuthMgrClearDmac5KeyForKernel
Issues kprx_auth_sm command 0x60001.

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

sceSblAuthMgrCompareSwVersionForKernel
Aligns version on 12 bits then compares to the hardcoded current firmware version (example: 0x03600000 on FW 3.60).

sceSblAuthMgrGetEKcForDriver
EKc might mean Encrypted Klicensee.

Issues kprx_auth_sm command 0x40001.

sceSblAuthMgrDecBindDataForDriver
Issues kprx_auth_sm command 0x70001.

sceSblAuthMgrVerifySpsfoForDriver
Used by sceSblSpsfoMgrVerifyForDriver.

Issues kprx_auth_sm command 0x80001.

Spsfo (signed param.sfo) file is located in game cartridge at path gro0:gc/param.sfo. It can also be loaded from host0: on DevKit. It has 3 parts: CF header and certification, plain SceSpsfoHeader and plain SFO (maybe reduced).