SceLibKernel

SceLibKernel, not to be confused with Kernel is a user module that implements wrappers to some common syscalls (for example, SceIofilemgr), some usermode standard library functions (including C standard library), and other common features like heap management. This module is the functionality similar to libc.so.6 on Linux.

Module
This is a usermode module and exists only in usermode. The SELF can be found in.

sceIoChstatAsync
derived from

sceIoClose
derived from

sceIoDevctlAsync
derived from

sceIoGetstatAsync
derived from

sceIoIoctlAsync
derived from

sceIoLseekAsync
derived from

sceIoMkdirAsync
derived from

sceIoOpenAsync
derived from

sceIoPreadAsync
derived from

sceIoPwriteAsync
derived from

sceIoRead
derived from

sceIoRemoveAsync
derived from

sceIoRenameAsync
derived from

sceIoRmdirAsync
derived from

sceIoSyncAsync
derived from

sceIoWrite
derived from

sceIoCompleteMultiple
derived from

sceKernelPrintBacktrace
This is maybe a guessed name.

Wrapper to sceKernelPrintBacktraceForProcess.

sceKernelPrintBacktraceForProcess
This is a guessed name.

sceKernelBacktrace
Wrapper to SceKernelModulemgr#_sceKernelBacktrace.

sceSblGcAuthMgrAdhocBB160UniCastDecrypt
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastDecrypt.

sceKernelGetVariableByNID
This is a guessed name.

Get variable address by NID.

Calls SceKernelModulemgr#_sceKernelGetLibraryInfoByNID.

sceKernelGetFunctionsByNIDs
This is a guessed name.

Gets functions (maybe also variables) addresses by NIDs.

Calls SceKernelModulemgr#_sceKernelGetLibraryInfoByNID.

sceSblGcAuthMgrAdhocBB224Auth3
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth3.

sceSblGcAuthMgrPkgVry
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPkgVry.

sceSblGcAuthMgrMsSaveBBMacInit
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacInit.

sceSblGcAuthMgrAdhocBB160Auth2
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth2.

sceSblGcAuthMgrAdhocBB224Auth1
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth1.

sceSblGcAuthMgrMsSaveBBCipherInit
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherInit.

SceLibKernel_35D20E49
It does not seem to call any imported function.

SceLibKernel_37F4ED04
It does not seem to call any imported function.

SceLibKernel_91FA6614
Temp name was sceKernelUnlockLwMutex.

It does not seem to call any imported function.

SceLibKernel_120AFC8C
Temp name was sceKernelUnlockLwMutex2.

It does not seem to call any imported function.

sceSblGcAuthMgrAdhocBB160Auth5
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth5.

sceKernelUnlockLwMutex
Wrapper to SceKernelThreadMgr#_sceKernelUnlockLwMutex.

sceSblGcAuthMgrAdhocBB224Auth5
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth5.

sceSblGcAuthMgrMsSaveBBCipherUpdate
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherUpdate.

sceSblGcAuthMgrPsmactCreateC1
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPsmactCreateC1.

sceSblGcAuthMgrAdhocBB160Auth4
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth4.

sceSblGcAuthMgrAdhocBB224Auth4
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth4.

SceLibKernel_6C7365C4
It does not seem to call any imported function.

Related to.

sceKernelRegisterThreadEventHandler
Wrapper to SceKernelThreadMgr#_sceKernelRegisterThreadEventHandler.

sceKernelTryLockLwMutex_old
This is a guessed name. Temp name was sceKernelTryLockLwMutex.

PSP-like "sceKernelTryLockLwMutex".

sceKernelTryLockLwMutex_1
This is a guessed name.

It calls PSP-like, and on failure SceKernelThreadMgr with flag 1.

sceKernelTryLockLwMutex_0
This is a guessed name.

It calls PSP-like, and on failure SceKernelThreadMgr with flag 0.

sceClibBzeroWords
This is a guessed name. A good name could be sceClibBzeroWords because all it does is "sceClibMemset(pBase, 0, nWords << 2);".

sceSblGcAuthMgrMsSaveBBMacFinal
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacFinal.

sceSblGcAuthMgrAdhocBB160GetKeys
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160GetKeys.

sceSblGcAuthMgrAdhocBB160BroadCastEncrypt
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160BroadCastEncrypt.

sceSblGcAuthMgrSclkGetData1
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrSclkGetData1.

sceSblGcAuthMgrPcactGetChallenge
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPcactGetChallenge.

sceSblGcAuthMgrAdhocBB160Init
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Init.

SceLibKernel_9EF798C1
It does not seem to call any imported function. Maybe related to low mutexes.

SceLibKernel_9F793F84
Gets a version from the process' SceKernelProcessParam. Used for PSN Auth in SceShell.

sceSblGcAuthMgrAdhocBB160UniCastEncrypt
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastEncrypt.

sceSblGcAuthMgrAdhocBB224GetKeys
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224GetKeys.

sceSblGcAuthMgrAdhocBB160Auth3
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth3.

sceSblGcAuthMgrAdhocBB224Init
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Init.

SceLibKernel_DC277B4D
Returns a 64bit value and uses 0xdeadbeef constant somehow.

sceSblGcAuthMgrAdhocBB224Auth2
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth2.

sceSblGcAuthMgrSclkSetData2
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrSclkSetData2.

sceSblGcAuthMgrAdhocBB160BroadCastDecrypt
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160BroadCastDecrypt.

sceSblGcAuthMgrPsmactVerifyR1
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPsmactVerifyR1.

sceSblGcAuthMgrAdhocBB160Auth1
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth1.

sceSblGcAuthMgrGetMediaIdType01
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrGetMediaIdType01.

SceKernelStackChkGuard
This is a variable (4 bytes).

__stack_chk_guard
This is a variable (4 bytes).

SceLibGcc
SceLibGcc_0DFF2B2C: 0x0DFF2B2C SceLibGcc_12472ADD: 0x12472ADD SceLibGcc_29C2EB11: 0x29C2EB11 SceLibGcc_4BB45B70: 0x4BB45B70 SceLibGcc_6214B80C: 0x6214B80C SceLibGcc_74274866: 0x74274866 SceLibGcc_7772C028: 0x7772C028 SceLibGcc_7DFC519A: 0x7DFC519A SceLibGcc_83A4F46F: 0x83A4F46F SceLibGcc_8A5F29D8: 0x8A5F29D8 SceLibGcc_8D4953C7: 0x8D4953C7 SceLibGcc_A22B2436: 0xA22B2436 SceLibGcc_AC15DBA5: 0xAC15DBA5 SceLibGcc_B1CD7AC2: 0xB1CD7AC2 SceLibGcc_BAC00FF7: 0xBAC00FF7 SceLibGcc_CD43FEDC: 0xCD43FEDC SceLibGcc_DA5097CE: 0xDA5097CE SceLibGcc_DAB28374: 0xDAB28374 SceLibGcc_DBE840D6: 0xDBE840D6 SceLibGcc_F16E32FC: 0xF16E32FC

__stack_chk_guard
This is a variable (4 bytes). Same variable as [SceLibKernel#stack_chk_guard|SceLibKernel library's stack_chk_guard]].

SceRtabi
SceRtabi_0D4F0635: 0x0D4F0635 SceRtabi_141BC4CE: 0x141BC4CE SceRtabi_21FF67B9: 0x21FF67B9 SceRtabi_317B3774: 0x317B3774 SceRtabi_38D62D60: 0x38D62D60 SceRtabi_5024AB91: 0x5024AB91 SceRtabi_609CA961: 0x609CA961 SceRtabi_67104054: 0x67104054 SceRtabi_6BB838EF: 0x6BB838EF SceRtabi_6CBB0E84: 0x6CBB0E84 SceRtabi_A5DB3A86: 0xA5DB3A86 SceRtabi_AA1F1B50: 0xAA1F1B50 SceRtabi_C33391D1: 0xC33391D1 SceRtabi_CBDA815C: 0xCBDA815C SceRtabi_CDF7708E: 0xCDF7708E SceRtabi_FB311F87: 0xFB311F87

sceKernelGetRandomNumber
Wrapper to _sceKernelGetRandomNumber.

Heap
The latest version of dlmalloc is included in SceLibKernel. Most of the assert checks and security are included.

Thread specific data
Each thread owns a private 2048bytes memory region with specific data (?TLS?). The end of this region is pointed by the TPIDRURO register (thus, the start address of it is TPIDRURO - 0x800).