SceSblACMgr: Difference between revisions
CelesteBlue (talk | contribs) |
CelesteBlue (talk | contribs) |
||
Line 58: | Line 58: | ||
| 32 || ?debug level? || ?super user? || Bypass spawner privilege requirement. | | 32 || ?debug level? || ?super user? || Bypass spawner privilege requirement. | ||
|- | |- | ||
| 33 || ?debug level? || ?limited user? || Prohibits spawned attribute flag 17. Error 0x800f0b35. | | 33 || ?debug level? || ?limited user? || Prohibits spawned attribute flag 17 at same time as self_type mask 0x20 and (genuine CEX or masked self_type != 0x10000). Error 0x800f0b35. | ||
|- | |- | ||
| 34 || ?debug level? || ? || | | 34 || ?debug level? || ? || |
Revision as of 02:37, 14 June 2020
Secure bootloader Access Control Manager
Module
Version | Name | World | Privilege |
---|---|---|---|
0.931-3.73 | SceSblACMgr | Non-secure | Kernel |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
0.931-3.60 | SceSblACMgrForKernel | Non-secure | Kernel | 0x11F9B314 |
0.931-3.60 | SceSblACMgrForDriver | Non-secure | Kernel | 0x9AD8E213 |
0.931-3.60 | SceSblACMgr | Non-secure | User | 0xF069F219 |
Types
struct st_attr_info { int index; //operation index char *st_attr; int size; //1 or 2 - size of st_attr };
Notes
Common functions
SceSblACMgr_0x570 : sceSblACMgrHasAttribute
Capability
Capability flags are stored on 0x20 bytes. Max bit number is 0xFF.
Bit | Class | Name | Description |
---|---|---|---|
0 | privilege | root | |
1 | privilege | system | |
2 | privilege | game | Set on fSELF type 1. |
3 | privilege | nongame | Set on fSELF type 2. |
32 | ?debug level? | ?super user? | Bypass spawner privilege requirement. |
33 | ?debug level? | ?limited user? | Prohibits spawned attribute flag 17 at same time as self_type mask 0x20 and (genuine CEX or masked self_type != 0x10000). Error 0x800f0b35. |
34 | ?debug level? | ? | |
35 | ?debug level? | ? | |
52-55 | ? | ? | Set on fSELF type 1. |
56-59 | ? | ? | Set on fSELF type 2. |
96-127 | ? | ? | Always set (0xFFFFFFFF). |
128 | function | ? | used by SceSblACMgrForKernel_04C0ED3F, SceSblACMgrForDriver_F5AE24AC |
129 | function | ? | used by SceSblACMgrForKernel_02422F1F, SceSblACMgrForDriver_A27E47A7 |
130 | function | extended_memory | Up to +128MiB like in Mini Settings for QA. Allows Vstor. |
131 | function | usb_serial | |
132 | function | virtual_machine | |
133 | function | ? | |
134 | function | ? | used by SceSblACMgrForKernel_410357AF, SceSblACMgrForDriver_AE1AF154 |
135 | function | ? | used by SceSblACMgrForKernel_5E6BA11C, SceSblACMgrForDriver_A92CD636 |
Attribute
Attribute flags are stored on 0x20 bytes. Max bit number is 0xFF.
Bit | Class | Name | Description |
---|---|---|---|
0 | spawn_by | system | |
1 | spawn_by | game | |
2 | spawn_by | nongame | |
16 | ? | ? | Prohibits self_type mask 0x10000. Error 0x800f0b35. |
17 | ? | ? | Prohibits spawner capability flag 33 at same time as self_type mask 0x20 and (genuine CEX or masked self_type != 0x10000). Error 0x800f0b35. |
29 | platform | dex | |
30 | platform | test, tool | Also supported by special CEX. |
31 | platform | cex | Also supported by special CEX. |
32 | mode | production | Requires production mode (Manufacturing mode). |
33 | mode | no_production | Prohibits production mode (Manufacturing mode). Set on fSELF type 1 and 2. |
34 | mode | qa_0xD_mask_1 | Requires QA flag 0xD mask 1. |
35 | mode | no_qa_0xD_mask_1 | Prohibits QA flag 0xD mask 1. |
36 | mode | some boot flag | Requires keyslot_0x50C mask 0x20, but it seems this boot type is disabled in FW 3.60 release second_loader. |
37 | mode | qa_0xF_mask_1 | Requires QA flag 0xF mask 1. |
48 | fself_related | ? | |
49 | fself_related | ? | |
50 | fself_related | ? | Set on fSELF type 1. |
51 | fself_related | ? | Set on fSELF type 1. |
52 | fself_related | ? | Set on fSELF type 2. |
53 | fself_related | ? | Set on fSELF type 2. |
54 | fself_related | ? | Set on fSELF type 1 and 2. |
55 | fself_related | ? | Set on fSELF type 1 and 2. |
64 | media | ? | Media Type 9 |
65 | media | sd0 | Set on fSELF type 1 and 2. |
66 | media | host0 | Set on fSELF type 1 and 2 only in Developement Mode. |
67 | media | ? | Media Type 8 |
68 | media | ux0 | |
69 | media | gro0:app | Set on fSELF type 1 and 2 only in Release Mode. |
70 | media | gro0:patch | Set on fSELF type 1 and 2 only in Release Mode. |
71 | media | sa0 | |
72 | media | mfa0 | |
73 | media | mfb0 | |
74 | media | lma0 | |
75 | media | lmb0 | |
76 | media | lmc0 | |
77 | media | lmd0 | |
78 | media | pd0 | |
79 | media | ? | Maybe reserved or unused. |
80 | media | ?boot0? ?slb2? | |
81 | media | os0 | |
82 | media | vs0 | |
83 | media | vd0 | |
84 | media | tm0 | |
85 | media | ur0 | |
86 | media | ? | |
87 | media | ? | |
88 | media | ? | |
89 | media | ux0:data | |
90 | media | ux0:app | |
91 | media | ux0:patch | |
92-95 | media | ? | Maybe reserved. |
96 | level or self_type | kernel | |
97 | level or self_type | usermode | |
98 | level or self_type | SM | |
128 | ? | qa_0xB_mask_0x10 | On TEST/TOOL/special CEX, it requires QA flag 0xB mask 0x10. Error 0x800f0b33. |
136-223 | ? | ? | Never set? |
224-255 | ? | ? | Always set (0xFFFFFFFF). |
Media Type
A code is passed in the SceSblSmCommContext130 context buffer to decrypt a SELF based on the path in which the SELF file must be located. This is a security feature to prevent SELFs that are designed to run from one path (for example os0:
) from being copied and run from another path.
Path | Media Type | SELF Program Attribute Media Type Bit Number (0-255) | Comment |
---|---|---|---|
ux0:user | 0 | 0xFFFFFFFF (invalid) | Its bit number would read out of attribute (valid bits 0-255) so there is an early unsigned int check to avoid this Media Type in secure_kernel. It is so unlikely that this Media Type is embedded in SELF Program Attribute. |
sd0 | 1 | 0x41 | |
os0 | 2 | 0x51 | |
vs0 | 3 | 0x52 | |
vd0 | 4 | 0x53 | |
tm0 | 5 | 0x54 | |
ur0 | 6 | 0x55 | |
host0 | 7 | 0x42 | For self_type usermode, requires QA flag 0xD mask 2. For self_type kernel or SM, requires QA flag 0xE mask 1. |
? | 8 | 0x43 | Present in FWs 0.931-3.73 Secure Kernel. |
? | 9 | 0x40 | Present in FWs 0.931-3.73 Secure Kernel. |
?boot0? ?slb2? | 10 | 0x50 | Present in NSKBL and Secure Kernel. Not findable and not usable in FWs 0.931-3.60 non-secure kernel. Could be the Media Type for slb2 or bootimage.skprx SELFs. |
ud0 | 11 | 0x52 | |
ux0 | 12 | 0x44 | |
gro0:app | 13 | 0x45 | |
gro0:patch | 14 | 0x46 | |
sa0 | 15 | 0x47 | |
mfa0 | 16 | 0x48 | |
mfb0 | 17 | 0x49 | |
lma0 | 18 | 0x4A | |
lmb0 | 19 | 0x4B | |
lmc0 | 20 | 0x4C | |
lmd0 | 21 | 0x4D | |
pd0 | 22 | 0x4E | |
ux0:app | 23 | 0x5A | |
ux0:patch | 24 | 0x5B | |
ux0:data | 25 | 0x59 | |
? | 26 | ? | Not present in FWs 0.931-3.73 Secure Kernel thus would return error 0x800F0B32. Certainly usable in non-secure kernel though. |
uma0 | 27 | ? | Not present in FWs 0.931-3.73 Secure Kernel thus would return error 0x800F0B32. Usable in non-secure kernel though. |
// Code inspired by PSVita FWs 0.931-3.60 secure_kernel uint32_t check_media_type_in_attribute(uint8_t *pAttribute, uint32_t media_type) { if (0x18 < media_type - 1) // This unsigned int check inhibits Media Type 0 because it has an invalid bit number (-1) return 0x800f0b32; uint32_t ret = 0x800F0B32; // Bad Media Type uint32_t bit_no = index_table[media_type]; uint8_t media_type_byte = *(uint8_t *)pAttribute[bit_no >> 3]; uint8_t media_type_mask = 1 << (~bit_no & 7); if (media_type_byte & media_type_mask != 0) ret = 0; return ret; }
SceSblACMgrForKernel
unk_02422F1F
Version | NID |
---|---|
3.60 | 0x02422F1F |
return sceSblACMgrHasCapabilityForDriver(pid, 129);
int unk_02422F1F(SceUID pid);
unk_04C0ED3F
Version | NID |
---|---|
3.60 | 0x04C0ED3F |
return sceSblACMgrHasCapabilityForDriver(pid, 128);
int unk_04C0ED3F(SceUID pid);
sceSblACMgrIsGameProgramForKernel
Version | NID |
---|---|
3.60 | 0x05FDC646 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if self_auth_info->program_authority_id begins with 0x21 (NPDRM game) or 0x2F (SDK fSELF).
int sceSblACMgrIsGameProgramForKernel(SceUID pid);
unk_06BE9F0F
Version | NID |
---|---|
3.60 | 0x06BE9F0F |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
?Returns true if sceSblACMgrIsSIEAppForDriver returns true.?
int unk_06BE9F0F(SceUID pid);
unk_0E489631
Version | NID |
---|---|
3.60 | 0x0E489631 |
return sceSblACMgrHasCapabilityForDriver(pid, 32);
int unk_0E489631(SceUID pid);
unk_11C9158B
Version | NID |
---|---|
3.60 | 0x11C9158B |
int unk_11C9158B(void* a1, void* a2);
unk_165C3C7A
Version | NID |
---|---|
3.60 | 0x165C3C7A |
int unk_165C3C7A(SceUID pid, char *maybe_path);
unk_1948E9DB_return0
Version | NID |
---|---|
3.60 | 0x1948E9DB |
Returns 0. Probably used in old firmwares and patched in new firmwares a security issue by making it return always false.
int unk_1948E9DB_return0(void);
unk_1B160234
Version | NID |
---|---|
3.60 | 0x1B160234 |
int unk_1B160234(SceUID pid, st_attr_info* a2, int *a3, int flags);
sceSblACMgrSetFSAttributeByModeForKernel
Version | NID |
---|---|
0.990-3.60 | 0x2AE6CF27 |
Equivalent of sceSblACMgrSetFSAttributeByModeForDriver.
int sceSblACMgrSetFSAttributeByModeForKernel(SceUID pid, st_attr_info *a2, int flags);
unk_30575458
Version | NID |
---|---|
3.60 | 0x30575458 |
returns true if sceSblACMgrHasCapabilityForDriver(pid, 34) returns true
or returns SceSysrootForDriver_26AA237C(void); if sceSblACMgrIsFselfForDriver returns true.
int unk_30575458(SceUID pid);
sceSblACMgrIsRootProgramForKernel
Version | NID |
---|---|
3.60 | 0x31C23B66 |
Temp name was sceSblACMgrIsSystemForKernel.
Same as sceSblACMgrIsRootProgramForDriver.
int sceSblACMgrIsRootProgramForKernel(SceUID pid);
sceSblACMgrIsSIEAppForKernel
Version | NID |
---|---|
3.60 | 0x3388F595 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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 [[1]]
int sceSblACMgrIsSIEAppForKernel(SceUID pid);
unk_356B9139
Version | NID |
---|---|
3.60 | 0x356B9139 |
int unk_356B9139(int unused, char *maybe_path, int *a3);
sceSblACMgrIsAllowExtendedMemoryForKernel
Version | NID |
---|---|
3.60 | 0x384D20FD |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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.
int sceSblACMgrIsAllowExtendedMemoryForKernel(SceUID pid);
sceSblACMgrIsNonGameProgramForKernel
Version | NID |
---|---|
3.60 | 0x3F99279F |
return sceSblACMgrHasCapabilityForDriver(pid, 3);
int sceSblACMgrIsNonGameProgramForKernel(SceUID pid);
unk_410357AF
Version | NID |
---|---|
3.60 | 0x410357AF |
returns true if sceSblACMgrHasCapabilityForDriver(pid, 134) returns true
or returns SceSysrootForDriver_E2515A08(void); if sceSblACMgrIsFselfForDriver returns true.
int unk_410357AF(SceUID pid);
sceSblACMgrIsPspEmuForKernel
Version | NID |
---|---|
3.60 | 0x47B67F72 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if self_auth_info->program_authority_id equals 0x2800000000000013 (NPXS10029) or 0x2800000000007009 (NPXS10069 - testkit/old PSPemu).
int sceSblACMgrIsPspEmuForKernel(SceUID pid);
unk_48F4D5EE
Version | NID |
---|---|
3.60 | 0x48F4D5EE |
return sceSblACMgrHasCapabilityForDriver(pid, 31);
int unk_48F4D5EE(SceUID pid);
unk_49509A83
Version | NID |
---|---|
3.60 | 0x49509A83 |
used by SceCoredump
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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)
int unk_49509A83(SceUID pid);
unk_4C4B7D6B
Version | NID |
---|---|
3.60 | 0x4C4B7D6B |
Equivalent of unk_456DA7AC.
int unk_4C4B7D6B(SceUID pid);
sceSblACMgrIsNonGameOrGameProgramForDriver
Version | NID |
---|---|
3.60 | 0x570D6AD3 |
Returns true if sceSblACMgrHasCapabilityForDriver(pid, 2); (IsGame) returns true
or if sceSblACMgrHasCapabilityForDriver(pid, 3); (IsNonGame) returns true.
int sceSblACMgrIsNonGameOrGameProgramForDriver(SceUID pid);
sceSblACMgrIsFselfForKernel
Version | NID |
---|---|
3.60 | 0x5AC59172 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if self_auth_info->program_authority_id begins with 0x2F (SDK fSELF).
int sceSblACMgrIsFselfForKernel(SceUID pid);
unk_5E6BA11C
Version | NID |
---|---|
3.60 | 0x5E6BA11C |
return sceSblACMgrHasCapabilityForDriver(pid, 135);
int unk_5E6BA11C(SceUID pid);
unk_7529E364
Version | NID |
---|---|
3.60 | 0x7529E364 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if sceSblACMgrIsGameProgramForDriver returns true
or if sceSblACMgrIsNotSandboxedForDriver returns true.
int unk_7529E364(SceUID pid);
unk_75AAF981
Version | NID |
---|---|
3.60 | 0x75AAF981 |
int unk_75AAF981(SceUID pid, st_attr_info * a2, int a3);
sceSblACMgrGetProcessProgramAuthIdForKernel
Version | NID |
---|---|
0.931 | not present |
3.60 | 0x7C2AF978 |
Temp names was sceSblACMgrGetSelfAuthInfoForKernel, sceSblACMgrGetProcessSelfAuthInfoForKernel.
int sceSblACMgrGetProcessProgramAuthIdForKernel(SceUID pid, uint64_t *pAuthId);
unk_7F294A09
Version | NID |
---|---|
3.60 | 0x7F294A09 |
Uses sceKernelSysrootGetProcessSelfAuthInfoForKernel.
attribute + 0x10
Uses SceKernelCheckDipswForDriver(159); // is development mode
int unk_7F294A09(SceUID pid, char *maybe_path);
unk_8241AB5C
Version | NID |
---|---|
3.60 | 0x8241AB5C |
int unk_8241AB5C(SceUID pid, int a2);
sceSblACIsSystemProgramForKernel
Version | NID |
---|---|
0.931-3.60 | 0x930CD037 |
Temp name was sceSblACMgrIsShellForKernel.
Used by "scePfsACConvertModeForRedirect".
return sceSblACMgrHasCapabilityForDriver(pid, 1);
int sceSblACIsSystemProgramForKernel(SceUID pid);
sceSblACMgrIsAllowVirtualMachineForKernel
Version | NID |
---|---|
3.60 | 0x96403142 |
If sceSblACMgrHasCapabilityForDriver(pid, 132) returns true
-> returns true
else if sceSblACMgrIsFselfForDriver returns true
-> returns SceSysrootForDriver_26AA237C(1);
int sceSblACMgrIsAllowVirtualMachineForKernel(SceUID pid);
sceSblACMgrIsPSMRuntimeForKernel
Version | NID |
---|---|
3.60 | 0x966B3738 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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)
int sceSblACMgrIsPSMRuntimeForKernel(SceUID pid);
sceSblACMgrIsUpdaterUISetupperOrPkgInstallerSpawnForKernel
Version | NID |
---|---|
3.60 | 0x98B28671 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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).
int sceSblACMgrIsUpdaterUISetupperOrPkgInstallerSpawnForKernel(SceUID pid);
sceSblACMgrHasCapabilityForKernel
Version | NID |
---|---|
3.60 | 0x9EDAF856 |
int sceSblACMgrHasCapabilityForKernel(SceUID pid, int bit);
sceSblACMgrIsWebCoreOrWebKitProcessForKernel
Version | NID |
---|---|
3.60 | 0xA7C3001D |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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)
int sceSblACMgrIsWebCoreOrWebKitProcessForKernel(SceUID pid);
sceSblACMgrIsAllowVstorForKernel
Version | NID |
---|---|
3.60 | 0xAF6F208E |
Temp name was sceSblACMgrIsMiniSettingsForQAForKernel.
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if self_auth_info->program_authority_id equals 0x2800000000000010 (NPXS10104 - Mini Settings for QA)
or if self_auth_info->program_authority_id equals 0x220000101CC73883 (a certain nongame program???)
or if sceSblACMgrHasCapabilityForDriver(pid, 130) returns true.
int sceSblACMgrIsAllowVstorForKernel(SceUID pid);
unk_A50FDA27
Version | NID |
---|---|
3.60 | 0xA50FDA27 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
-> returns self_auth_info.attribute bit flag number 16 from left (---> XX XX 8X)
int unk_A50FDA27(SceUID pid);
sceSblACMgrIsDevelopmentModeForKernel
Version | NID |
---|---|
3.60 | 0xBBA13D9C |
Returns sceKernelCheckDipswForDriver(159);
int sceSblACMgrIsDevelopmentModeForKernel(void);
sceSblACMgrIsPSMDevAssistantForKernel
Version | NID |
---|---|
3.60 | 0xC90A9216 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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.
int sceSblACMgrIsPSMDevAssistantForKernel(SceUID pid);
unk_CCDBB74D
Version | NID |
---|---|
0.931-3.60 | 0xCCDBB74D |
Gets self_auth_info.
a2 embeds an integer between 1 and 8.
Checks capability privilege.
int unk_CCDBB74D(SceUID pid, void *a2, void *a3);
sceSblACMgrGetMediaTypeForKernel
Version | NID |
---|---|
0.931-3.60 | 0xD442962E |
Temp name was sceSblACMgrGetPathIdForKernel.
int sceSblACMgrGetMediaTypeForKernel(const char *path, SceUInt32 *pMediaType);
sceSblACMgrIsAllowUsbSerialForKernel
Version | NID |
---|---|
3.60 | 0xDC49E160 |
returns true if sceSblACMgrHasCapabilityForDriver(pid, 1) returns true
AND sceSblACMgrHasCapabilityForDriver(pid, 131) returns true
or returns SceSysrootForDriver_26AA237C(1); if sceSblACMgrIsFselfForDriver returns true.
int sceSblACMgrIsAllowUsbSerialForKernel(SceUID pid);
sceSblACMgrIsPsNowClientForKernel
Version | NID |
---|---|
3.60 | 0xE273ED8C |
Equivalent of sceSblACMgrIsPsNowClientForDriver.
int sceSblACMgrIsPsNowClientForKernel(SceUID pid);
sceSblACMgrIsNotSandboxedForKernel
Version | NID |
---|---|
3.60 | 0xF5AD56E4 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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)
int sceSblACMgrIsNotSandboxedForKernel(SceUID pid);
sceSblACMgrIsSceShellForKernel
Version | NID |
---|---|
3.60 | 0xF9FEF5F0 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if self_auth_info->program_authority_id equals 0x2800000000000001 (NPXS19999 - SceShell)
int sceSblACMgrIsSceShellForKernel(SceUID pid);
unk_FBA1A256
Version | NID |
---|---|
3.60 | 0xFBA1A256 |
Returns 0. Probably used in old firmwares and patched in new firmwares a security issue by making it return always false.
int unk_FBA1A256_return0(void);
unk_FB2AC5B4
Version | NID |
---|---|
3.60 | 0xFB2AC5B4 |
int unk_FB2AC5B4(SceUID pid, char *maybe_path);
SceSblACMgrForDriver
sceSblACMgrIsWebCoreOrWebKitProcessForDriver
Version | NID |
---|---|
3.60 | 0x0139FC20 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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)
int sceSblACMgrIsWebCoreOrWebKitProcessForDriver(SceUID pid);
sceSblACMgrGetFSAttributeByThreadAccessLevelForDriver
Version | NID |
---|---|
3.60 | 0x0606B87E |
int sceSblACMgrGetFSAttributeByThreadAccessLevelForDriver(int a1, int a2, int *a3);
sceSblACMgrIsAllowUsbSerialForDriver
Version | NID |
---|---|
3.60 | 0x062CAEB2 |
returns true if sceSblACMgrHasCapabilityForDriver(pid, 1) returns true
AND sceSblACMgrHasCapabilityForDriver(pid, 131) returns true
or returns SceSysrootForDriver_26AA237C(1); if sceSblACMgrIsFselfForDriver returns true.
int sceSblACMgrIsAllowUsbSerialForDriver(SceUID pid);
sceSblACMgrIsPSMRuntimeForDriver
Version | NID |
---|---|
3.60 | 0x091F7247 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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)
int sceSblACMgrIsPSMRuntimeForDriver(SceUID pid);
sceSblACMgrIsPsNowClientForDriver
Version | NID |
---|---|
3.60 | 0x0924896F |
Derived from sceAppMgrIsPsNowClient.
int sceSblACMgrIsPsNowClientForDriver(SceUID pid);
sceSblACMgrIsRootProgramForDriver
Version | NID |
---|---|
3.60 | 0x0948F41C |
Temp name was sceSblACMgrIsSystemForDriver.
return sceSblACMgrHasCapabilityForDriver(pid, 0);
int sceSblACMgrIsRootProgramForDriver(SceUID pid);
sceSblACMgrIsNotSandboxedForDriver
Version | NID |
---|---|
3.60 | 0x0B6E6CD7 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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)
int sceSblACMgrIsNotSandboxedForDriver(SceUID pid);
sceSblACMgrIsGameProgramForDriver
Version | NID |
---|---|
3.60 | 0x1298C647 |
derived from sceAppMgrIsGameProgram
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if self_auth_info->program_authority_id begins with 0x21 (NPDRM game) or 0x2F (SDK fSELF).
int sceSblACMgrIsGameProgramForDriver(SceUID pid);
sceSblACMgrIsAllowVirtualMachineForDriver
Version | NID |
---|---|
3.60 | 0x2A29453C |
If sceSblACMgrHasCapabilityForDriver(pid, 132) returns true
-> returns true
else if sceSblACMgrIsFselfForDriver returns true
-> returns SceSysrootForDriver_26AA237C(1);
int sceSblACMgrIsAllowVirtualMachineForDriver(SceUID pid);
unk_2E992B02
Version | NID |
---|---|
3.60 | 0x2E992B02 |
int unk_2E992B02(SceUID pid);
unk_3B356B98
Version | NID |
---|---|
3.60 | 0x3B356B98 |
int unk_3B356B98(void* a1, void* a2);
sceSblACMgrIsFselfForDriver
Version | NID |
---|---|
3.60 | 0x426A4E8C |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if self_auth_info->program_authority_id begins with 0x2F (SDK fSELF).
int sceSblACMgrIsFselfForDriver(SceUID pid);
sceSblACMgrGetMediaTypeForDriver
Version | NID |
---|---|
3.60 | 0x4322F188 |
int sceSblACMgrGetMediaTypeForDriver(const char *path, int* media_type);
unk_456DA7AC
Version | NID |
---|---|
3.60 | 0x456DA7AC |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if:
- sceSblACMgrHasCapabilityForDriver(pid, 3); returns true
- or if self_auth_info->program_authority_id.hi == 0x21000011 and self_auth_info->program_authority_id.low is between 0x1CD20006 and 0x1CD20009 (PSM Dev Assistant apps)
- or if fSELF and SceSysrootForDriver_26AA237C returns true
SceBool unk_456DA7AC(SceUID pid);
unk_48CFCEA2
Version | NID |
---|---|
3.60 | 0x48CFCEA2 |
int unk_48CFCEA2(SceUID pid, int *a2, int *a3, int flags);
unk_4CBD6156
Version | NID |
---|---|
3.60 | 0x4CBD6156 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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)
int unk_4CBD6156(SceUID pid);
sceSblACMgrIsAllowExtendedMemoryForDriver
Version | NID |
---|---|
3.60 | 0x4DB7F512 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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 0x220000101CC73883 (a certain nongame program???)
or if sceSblACMgrHasCapabilityForDriver(pid, 130) returns true.
int sceSblACMgrIsAllowExtendedMemoryForDriver(SceUID pid);
unk_5C4BC352
Version | NID |
---|---|
3.60 | 0x5C4BC352 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
?Returns true if sceSblACMgrIsSIEAppForDriver returns true.?
int unk_5C4BC352(SceUID pid);
unk_5F9AF49C
Version | NID |
---|---|
3.60 | 0x5F9AF49C |
Checks if program_authority_id begins with 0x21 (NPDRM game) or with 0x2F (SDK fSELF) and does different things accordingly.
Calls sceKernelCheckDipswForDriver(159) and does different things according to the result.
int unk_5F9AF49C(SceUID pid, char *unk_buf);
sceSblACMgrSetFSAttributeByModeForDriver
Version | NID |
---|---|
3.60 | 0x6210D745 |
int sceSblACMgrSetFSAttributeByModeForDriver(SceUID pid, st_attr_info *a2, int flags);
sceSblACMgrIsNonGameProgramForDriver
Version | NID |
---|---|
3.60 | 0x6C5AB07F |
derived from sceAppMgrIsNonGameProgram
return sceSblACMgrHasCapabilityForDriver(pid, 3);
int sceSblACMgrIsNonGameProgramForDriver(SceUID pid);
unk_6D8A88B7
Version | NID |
---|---|
3.60 | 0x6D8A88B7 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if sceSblACMgrIsGameProgramForDriver returns true
or if sceSblACMgrIsNotSandboxedForDriver returns true.
int unk_6D8A88B7(SceUID pid);
unk_84604EED
Version | NID |
---|---|
3.60 | 0x84604EED |
return sceSblACMgrHasCapabilityForDriver(pid, 31);
int unk_84604EED(SceUID pid);
sceSblACMgrIsSystemProgramForDriver
Version | NID |
---|---|
0.931-3.60 | 0x8612B243 |
Temp name was sceSblACMgrIsShellForDriver, sceSblACIsSystemProgramForDriver.
return sceSblACMgrHasCapabilityForDriver(pid, 1);
int sceSblACMgrIsSystemProgramForDriver(SceUID pid);
sceSblACMgrIsNonGameOrGameProgramForKernel
Version | NID |
---|---|
3.60 | 0x8A54DF3A |
Returns true if sceSblACMgrHasCapabilityForDriver(pid, 2); (IsGame) returns true
or if sceSblACMgrHasCapabilityForDriver(pid, 3); (IsNonGame) returns true.
int sceSblACMgrIsNonGameOrGameProgramForKernel(SceUID pid);
sceSblACMgrIsUpdaterUISetupperOrPkgInstallerSpawnForDriver
Version | NID |
---|---|
3.60 | 0x962CD237 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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).
int sceSblACMgrIsUpdaterUISetupperOrPkgInstallerSpawnForDriver(SceUID pid);
sceSblACMgrGetProcessSelfAuthInfoForDriver
Version | NID |
---|---|
0.931 | not present |
3.60 | 0x96AF69BD |
Temp name was sceSblACMgrGetSelfAuthInfoForDriver.
Wrapper to sceKernelSysrootGetProcessSelfAuthInfoForKernel.
int sceSblACMgrGetProcessSelfAuthInfoForDriver(SceUID pid, SceSelfAuthInfo *pSelfAuthInfo);
sceSblACMgrIsSceShellForDriver
Version | NID |
---|---|
3.60 | 0x991FDC15 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if self_auth_info->program_authority_id equals 0x2800000000000001 (NPXS19999 - SceShell)
int sceSblACMgrIsSceShellForDriver(SceUID pid);
unk_A27E47A7
Version | NID |
---|---|
3.60 | 0xA27E47A7 |
return sceSblACMgrHasCapabilityForDriver(pid, 129);
int unk_A27E47A7(SceUID pid);
sceSblACMgrIsSIEAppForDriver
Version | NID |
---|---|
3.60 | 0xA67E8E5B |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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 [[2]]
int sceSblACMgrIsSIEAppForDriver(SceUID pid);
unk_A92CD636
Version | NID |
---|---|
3.60 | 0xA92CD636 |
return sceSblACMgrHasCapabilityForDriver(pid, 135);
int unk_A92CD636(SceUID pid);
unk_AD717E7A
Version | NID |
---|---|
3.60 | 0xAD717E7A |
return sceSblACMgrHasCapabilityForDriver(pid, 32);
int unk_AD717E7A(SceUID pid);
unk_AE1AF154
Version | NID |
---|---|
3.60 | 0xAE1AF154 |
returns true if sceSblACMgrHasCapabilityForDriver(pid, 134) returns true
or returns SceSysrootForDriver_E2515A08(void); if sceSblACMgrIsFselfForDriver returns true.
int unk_AE1AF154(SceUID pid);
unk_B12CEAA8_for_motoharu
Version | NID |
---|---|
3.60 | 0xB12CEAA8 |
Seems to check some bit flags.
Used by SceExfatfs in VFS implementation functions: sceVfsNodeChstatForDriver and sceVfsNodeChstatByFdForDriver
int unk_B12CEAA8_for_motoharu(SceUID pid, st_attr_info *a1, st_attr_info *a2);
unk_B836CF13
Version | NID |
---|---|
3.60 | 0xB836CF13 |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
-> returns self_auth_info.attribute bit flag number 16 from left (---> XX XX 8X)
int unk_B836CF13(SceUID pid);
unk_BE5667C5
Version | NID |
---|---|
3.60 | 0xBE5667C5 |
// some_id: from 1 to 8 int unk_BE5667C5(SceUID pid, SceUInt32 some_id, int a3);
sceSblACMgrHasCapabilityForDriver
Version | NID |
---|---|
3.60 | 0xC2D1F2FC |
int sceSblACMgrHasCapabilityForDriver(SceUID pid, int bit);
sceSblACMgrIsPSMDevAssistantForDriver
Version | NID |
---|---|
3.60 | 0xC98D82EE |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver 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.
int sceSblACMgrIsPSMDevAssistantForDriver(SceUID pid);
sceSblACMgrIsAllowVstorForDriver
Version | NID |
---|---|
3.60 | 0xD0E11C89 |
Temp name was sceSblACMgrIsMiniSettingsForQAForDriver.
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if self_auth_info->program_authority_id equals 0x2800000000000010 (NPXS10104 - Mini Settings for QA)
or if self_auth_info->program_authority_id equals 0x220000101CC73883 (a certain nongame program???)
or if sceSblACMgrHasCapabilityForDriver(pid, 130) returns true.
int sceSblACMgrIsAllowVstorForDriver(SceUID pid);
unk_D7AD8471
Version | NID |
---|---|
3.60 | 0xD7AD8471 |
int unk_D7AD8471(SceUID pid, char *maybe_path);
unk_E79C7A8D
Version | NID |
---|---|
3.60 | 0xE79C7A8D |
int unk_E79C7A8D(SceUID pid, char *maybe_path);
sceSblACMgrIsDevelopmentModeForDriver
Version | NID |
---|---|
3.60 | 0xE87D1777 |
derived from sceAppMgrIsDevelopmentMode
Returns sceKernelCheckDipswForDriver(159);
int sceSblACMgrIsDevelopmentModeForDriver(void);
unk_F5AE24AC
Version | NID |
---|---|
3.60 | 0xF5AE24AC |
return sceSblACMgrHasCapabilityForDriver(pid, 128);
int unk_F5AE24AC(SceUID pid);
sceSblACMgrIsPspEmuForDriver
Version | NID |
---|---|
3.60 | 0xFD00C72A |
Calls sceSblACMgrGetProcessSelfAuthInfoForDriver to get self_auth_info.
Returns true if self_auth_info->program_authority_id equals 0x2800000000000013 (NPXS10029) or 0x2800000000007009 (NPXS10069 - testkit/old PSPemu).
int sceSblACMgrIsPspEmuForDriver(SceUID pid);
unk_FF7125DE
Version | NID |
---|---|
3.60 | 0xFF7125DE |
int unk_FF7125DE(int unused, char *maybe_path, int *a3);
SceSblACMgr
_sceSblACMgrIsGameProgram
Version | NID |
---|---|
0.931-3.60 | 0x3C17A7F7 |
int _sceSblACMgrIsGameProgram(int *result);