SceSblACMgr

Secure bootloader Access Control Manager

PathId
A code is passed in the header context to decrypt a SELF based on the path in which the SELF file must be located. This is likely a security feature to prevent SELFs that are designed to run from one path (for example ) from being copied and run from another path. It could also be used to select the key used in decryption.

unk_02422F1F
return sceSblACMgrHasCapabilityForDriver(pid, 129);

unk_04C0ED3F
return sceSblACMgrHasCapabilityForDriver(pid, 128);

sceSblACMgrIsGameProgramForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id begins with 0x21 (NPDRM game) or 0x2F (SDK fSELF).

unk_06BE9F0F
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

?Returns true if sceSblACMgrIsSIEAppForDriver returns true.?

unk_0E489631
return sceSblACMgrHasCapabilityForDriver(pid, 32);

unk_1948E9DB_return0
Returns 0. Probably used in old firmwares and patched in new firmwares a security issue by making it return always false.

unk_30575458
returns true if sceSblACMgrHasCapabilityForDriver(pid, 34) returns true (--> XX XX XX XX 2X),

or returns SceSysrootForDriver_26AA237C(void); if sceSblACMgrIsFselfForDriver returns true.

sceSblACMgrIsSystemForKernel
return sceSblACMgrHasCapabilityForDriver(pid, 0);

sceSblACMgrIsSIEAppForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id first 8 bytes equals ?0x28000000 or 0x22000000 or 0x21000000?

and if self_auth_info->program_authority_id last 8 bytes equals 0x1CD20010 or is lower.

See []

sceSblACMgrIsAllowedExtendedMemoryForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x280000000000001E (NPXS10010 - Videos) or 0x2800000000000010 (NPXS10104 - Mini Settings for QA) or 0x2800000000000031 (NPXS10036 - AVMediaService)

or if sceSblACMgrHasCapabilityForDriver(pid, 130) returns true.

sceSblACMgrIsNonGameProgramForKernel
return sceSblACMgrHasCapabilityForDriver(pid, 3);

unk_410357AF
returns true if sceSblACMgrHasCapabilityForDriver(pid, 134) returns true (--> XX XX XX XX XX XX XX XX  X2),

or returns SceSysrootForDriver_E2515A08(void); if sceSblACMgrIsFselfForDriver returns true.

sceSblACMgrIsPspEmuForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x2800000000000013 (NPXS10029) or 0x2800000000007009 (NPXS10069 - testkit/old PSPemu).

unk_48F4D5EE
return sceSblACMgrHasCapabilityForDriver(pid, 31);

unk_49509A83
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

If self_auth_info->program_authority_id first 8 bytes equals 0x28000000

AND sceSblQafMgrIsAllowSystemAppDebugForDriver returns false

-> returns self_auth_info.attribute bit flag number 16 from left (---> XX XX 8X)

Else, if self_auth_info->program_authority_id first 8 bytes equals 0x22000000 or 0x21000000

AND SceSysrootForDriver_56D85EB0 returns true

AND SceQafMgrForDriver_694D1096 returns true

-> returns 1

Else,

-> returns self_auth_info.attribute bit flag number 16 from left (---> XX XX 8X)

unk_4C4B7D6B
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if sceSblACMgrHasCapabilityForDriver(pid, 3); returns true

or if self_auth_info->program_authority_id 8 last bytes equals 0x1CD20010 or is lower (SIE apps)

or 0x2800000000000044 (NPXS10085 - Videos) or 0x280000000000001E (NPXS10010 - Videos)

sceSblACMgrIsNonGameOrGameProgramForDriver
Returns true if sceSblACMgrHasCapabilityForDriver(pid, 2); (IsGame) returns true

or if sceSblACMgrHasCapabilityForDriver(pid, 3); (IsNonGame) returns true.

sceSblACMgrIsFselfForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id begins with 0x2F (SDK fSELF).

unk_5E6BA11C
return sceSblACMgrHasCapabilityForDriver(pid, 135);

unk_7529E364
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if sceSblACMgrIsGameProgramForDriver returns true

or if sceSblACMgrIsNotSandboxedForDriver returns true.

sceSblACMgrGetSelfAuthInfoForKernel
Wrapper to sceSysrootGetSelfInfoForKernel.

unk_7F294A09
Uses sceSysrootGetSelfInfoForKernel.

attribute + 0x10

Uses SceKernelCheckDipswForDriver(159); // is development mode

sceSblACMgrIsShellForKernel
return sceSblACMgrHasCapabilityForDriver(pid, 1);

sceSblACMgrIsAllowedVirtualMachineForKernel
If sceSblACMgrHasCapabilityForDriver(pid, 132) (--> XX XX XX XX XX XX XX XX  X8) returns true

-> returns true

else if sceSblACMgrIsFselfForDriver returns true

-> returns SceSysrootForDriver_26AA237C(1);

sceSblACMgrIsPSMRuntimeForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x210000101CD2000A (PCSI00010 - Unity Runtime For PlayStation®Mobile (found inside a PSM .pkg))

or equals 0x2800C0101CD2000B (PCSI00011 - PSM Runtime)

sceSblACMgrIsUpdaterUISetupperOrPkgInstallerSpawnForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id first 8 bytes equals 0x28008000

(?0x2800800000000001? - never seen OR 0x2800800000000002 - gui_setupper.self

OR 0x2800800000000003 - cui_setupper.self OR 2800800000000015 - NPXS10082/spawn.self - Package Installer Spawn).

sceSblACMgrIsWebCoreOrWebKitProcessForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x2800000000008003 (NPXS10017 and NPXS10037 - SceWebCore)

OR 0x2800000000008005 (NPXS10083 and SceWebKitProcess and NPXS10084 SceWebKitProcessMini)

sceSblACMgrIsMiniSettingsForQAForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x2800000000000010 (NPXS10104 - Mini Settings for QA)

or if sceSblACMgrHasCapabilityForDriver(pid, 130) returns true.

unk_A50FDA27
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

-> returns self_auth_info.attribute bit flag number 16 from left (---> XX XX 8X)

sceSblACMgrIsDevelopmentModeForKernel
Returns sceKernelCheckDipswForDriver(159);

sceSblACMgrIsPSMDevAssistantForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x210000101CD20007 (PCSI00007 - PlayStation®Mobile Development Assistant)

AND sceSblACMgrIsPSMRuntimeForDriver returns true.

or returns SceSysrootForDriver_26AA237C(void); if sceSblACMgrIsFselfForDriver returns true.

unk_CCDBB74D_for_motoharu
Seams to check some bit flags.

unk_DC49E160
returns true if sceSblACMgrHasCapabilityForDriver(pid, 1) returns true (--> 4X) (IsShell)

AND sceSblACMgrHasCapabilityForDriver(pid, 131) returns true (--> XX XX XX XX XX XX XX XX  1X) (IsAllowedUsbSerial)

or returns SceSysrootForDriver_26AA237C(1); if sceSblACMgrIsFselfForDriver returns true.

unk_E273ED8C_for_motoharu
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if ( !((unsigned __int64)(self_auth_info + *(_QWORD *)dword_A08) >> 32) )

AND (unsigned int)(self_auth_info + dword_A08[0]) >= 2.

sceSblACMgrIsNotSandboxedForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals :

0x2800000000000013 (NPXS100028 - ScePspEmu)

OR 0x2800000000007009 (NPXS10069 - ScePspEmu old/testkit)

OR 0x2800000000000010 (NPXS10104 - Mini Settings For QA)

OR 0x280000000000002D (NPXS10026 - CMA)

OR 0x2800000000000022 (NPXS10027 - SceGameManual)

OR 0x2800000000000039 (NPXS10079 - Daily Checker BG)

OR 0x2800000000000001 (NPXS19999 - SceShell)

sceSblACMgrIsSceShellForKernel
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x2800000000000001 (NPXS19999 - SceShell)

unk_FBA1A256
Returns 0. Probably used in old firmwares and patched in new firmwares a security issue by making it return always false.

sceSblACMgrIsWebCoreOrWebKitProcessForDriver
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x2800000000008003 (NPXS10017 and NPXS10037 - SceWebCore)

OR 0x2800000000008005 (NPXS10083 and SceWebKitProcess and NPXS10084 SceWebKitProcessMini)

sceSblACMgrIsAllowedUsbSerialForDriver
returns true if sceSblACMgrHasCapabilityForDriver(pid, 1) returns true (--> 4X) (IsShell)

AND sceSblACMgrHasCapabilityForDriver(pid, 131) returns true (--> XX XX XX XX XX XX XX XX  1X) (IsAllowedUsbSerial)

or returns SceSysrootForDriver_26AA237C(1); if sceSblACMgrIsFselfForDriver returns true.

sceSblACMgrIsPSMRuntimeForDriver
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x210000101CD2000A (PCSI00010 - Unity Runtime For PlayStation®Mobile (found inside a PSM .pkg))

or equals 0x2800C0101CD2000B (PCSI00011 - PSM Runtime)

unk_0924896F_for_motoharu
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if ( !((unsigned __int64)(self_auth_info + *(_QWORD *)dword_A08) >> 32) )

AND (unsigned int)(self_auth_info + dword_A08[0]) >= 2.

sceSblACMgrIsSystemForDriver
return sceSblACMgrHasCapabilityForDriver(pid, 0);

sceSblACMgrIsNotSandboxedForDriver
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals :

0x2800000000000013 (NPXS100028 - ScePspEmu)

OR 0x2800000000007009 (NPXS10069 - ScePspEmu old/testkit)

OR 0x2800000000000010 (NPXS10104 - Mini Settings For QA)

OR 0x280000000000002D (NPXS10026 - CMA)

OR 0x2800000000000022 (NPXS10027 - SceGameManual)

OR 0x2800000000000039 (NPXS10079 - Daily Checker BG)

OR 0x2800000000000001 (NPXS19999 - SceShell)

sceSblACMgrIsGameProgramForDriver
derived from sceAppMgrIsGameProgram

Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id begins with 0x21 (NPDRM game) or 0x2F (SDK fSELF).

sceSblACMgrIsAllowedVirtualMachineForDriver
If sceSblACMgrHasCapabilityForDriver(pid, 132) (--> XX XX XX XX XX XX XX XX  X8) returns true

-> returns true

else if sceSblACMgrIsFselfForDriver returns true

-> returns SceSysrootForDriver_26AA237C(1);

sceSblACMgrIsFselfForDriver
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id begins with 0x2F (SDK fSELF).

unk_456DA7AC
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if sceSblACMgrHasCapabilityForDriver(pid, 3); returns true

or if self_auth_info->program_authority_id 8 last bytes equals 0x1CD20010 or is lower (SIE apps)

or 0x2800000000000044 (NPXS10085 - Videos) or 0x280000000000001E (NPXS10010 - Videos)

unk_4CBD6156
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

If self_auth_info->program_authority_id first 8 bytes equals 0x28000000

AND sceSblQafMgrIsAllowSystemAppDebugForDriver returns false

-> returns self_auth_info.attribute bit flag number 16 from left (---> XX XX 8X)

Else, if self_auth_info->program_authority_id first 8 bytes equals 0x22000000 or 0x21000000

AND SceSysrootForDriver_56D85EB0 returns true

AND SceQafMgrForDriver_694D1096 returns true

-> returns 1

Else,

-> returns self_auth_info.attribute bit flag number 16 from left (---> XX XX 8X)

sceSblACMgrIsAllowedExtendedMemoryForDriver
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x280000000000001E (NPXS10010 - Videos) or 0x2800000000000010 (NPXS10104 - Mini Settings for QA) or 0x2800000000000031 (NPXS10036 - AVMediaService)

or if sceSblACMgrHasCapabilityForDriver(pid, 130) (--> XX XX XX XX XX XX XX XX  2X) returns true.

unk_5C4BC352
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

?Returns true if sceSblACMgrIsSIEAppForDriver returns true.?

unk_5F9AF49C
Checks if program_authority_id begins with 0x21 (NPDRM game) or with 0x2F (SDK fSELF) and does different things accordingly.

Calls sceKernelCheckDipswForDriver(159, a2, a3, a4) and does different things according to the result.

sceSblACMgrIsNonGameProgramForDriver
derived from sceAppMgrIsNonGameProgram

return sceSblACMgrHasCapabilityForDriver(pid, 3);

unk_6D8A88B7
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if sceSblACMgrIsGameProgramForDriver returns true

or if sceSblACMgrIsNotSandboxedForDriver returns true.

unk_84604EED
return sceSblACMgrHasCapabilityForDriver(pid, 31);

sceSblACMgrIsShellForDriver
return sceSblACMgrHasCapabilityForDriver(pid, 1);

sceSblACMgrIsNonGameOrGameProgramForKernel
Returns true if sceSblACMgrHasCapabilityForDriver(pid, 2); (IsGame) returns true

or if sceSblACMgrHasCapabilityForDriver(pid, 3); (IsNonGame) returns true.

sceSblACMgrIsUpdaterUISetupperOrPkgInstallerSpawnForDriver
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id first 8 bytes equals 0x28008000

(?0x2800800000000001? - never seen OR 0x2800800000000002 - gui_setupper.self

OR 0x2800800000000003 - cui_setupper.self OR 2800800000000015 - NPXS10082/spawn.self - Package Installer Spawn).

sceSblACMgrGetSelfAuthInfoForDriver
Wrapper to sceSysrootGetSelfInfoForKernel.

sceSblACMgrIsSceShellForDriver
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x2800000000000001 (NPXS19999 - SceShell)

unk_A27E47A7
return sceSblACMgrHasCapabilityForDriver(pid, 129);

sceSblACMgrIsSIEAppForDriver
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id first 8 bytes equals ?0x28000000 or 0x22000000 or 0x21000000?

and if self_auth_info->program_authority_id last 8 bytes equals 0x1CD20010 or is lower.

See []

unk_A92CD636
return sceSblACMgrHasCapabilityForDriver(pid, 135);

unk_AD717E7A
return sceSblACMgrHasCapabilityForDriver(pid, 32);

unk_AE1AF154
returns true if sceSblACMgrHasCapabilityForDriver(pid, 134) returns true (--> XX XX XX XX XX XX XX XX  X2),

or returns SceSysrootForDriver_E2515A08(void); if sceSblACMgrIsFselfForDriver returns true.

unk_B12CEAA8_for_motoharu
Seams to check some bit flags.

Used by SceExfatfs in VFS implementation functions: sceVfsNodeChstatForDriver and sceVfsNodeChstatByFdForDriver

unk_B836CF13
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

-> returns self_auth_info.attribute bit flag number 16 from left (---> XX XX 8X)

sceSblACMgrIsPSMDevAssistantForDriver
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x210000101CD20007 (PCSI00007 - PlayStation®Mobile Development Assistant)

AND sceSblACMgrIsPSMRuntimeForDriver returns true.

or returns SceSysrootForDriver_26AA237C(void); if sceSblACMgrIsFselfForDriver returns true.

sceSblACMgrIsMiniSettingsForQAForDriver
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x2800000000000010 (NPXS10104 - Mini Settings for QA)

or if sceSblACMgrHasCapabilityForDriver(pid, 130) returns true.

sceSblACMgrIsDevelopmentModeForDriver
derived from sceAppMgrIsDevelopmentMode

Returns sceKernelCheckDipswForDriver(159, a1, a2);

unk_F5AE24AC
return sceSblACMgrHasCapabilityForDriver(pid, 128);

sceSblACMgrIsPspEmuForDriver
Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

Returns true if self_auth_info->program_authority_id equals 0x2800000000000013 (NPXS10029) or 0x2800000000007009 (NPXS10069 - testkit/old PSPemu).