SceSblACMgr: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
Line 342: Line 342:
| 3.60 || non-secure || 0x47B67F72
| 3.60 || non-secure || 0x47B67F72
|}
|}
Calls [[SceSblACMgr#sceSblACMgrGetSelfAuthInfoForDriver|sceSblACMgrGetSelfAuthInfoForDriver]] to get self_auth_info.
Returns true if self_auth_info->program_authority_id equals 0x2800000000000013 (NPXS10029) or 0x2800000000007009 (NPXS10069 - testkit/old PSPemu).


<source lang="C">
<source lang="C">
 
int sceSblACMgrIsPspEmuForKernel(SceUID pid);
</source>
</source>



Revision as of 14:33, 18 July 2018

Module

Known NIDs

Version Name World Privilege NID
1.69 SceSblACMgr Non-secure Kernel 0xB6E5AEBE
3.60 SceSblACMgr Non-secure Kernel 0x7474D6F9

Libraries

Known NIDs

Version Name World Visibility NID
1.69 SceSblACMgrForKernel Non-secure Kernel 0x11F9B314
3.60 SceSblACMgrForKernel Non-secure Kernel 0x11F9B314
1.69 SceSblACMgrForDriver Non-secure Kernel 0x9AD8E213
3.60 SceSblACMgrForDriver Non-secure Kernel 0x9AD8E213
1.69 SceSblACMgr Non-secure User 0xF069F219
3.60 SceSblACMgr Non-secure User 0xF069F219

SceSblACMgrForKernel

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 os0:) from being copied and run from another path. It could also be used to select the key used in decryption.


Path PathId comment
ux0:user 0
sd0 1
os0 2
vs0 3
vd0 4
tm0 5
ur0 6
host0 7
boot0 10 Found by Yifan in NSBL. Not findable and not working in 3.60 kernel. Could be the PathId for slb2 SELFs.
ud0 11
ux0 12
gro0:app 13
gro0:patch 14
sa0 15
mfa0 16
mfb0 17
lma0 18
lmb0 19
lmc0 20
lmd0 21
pd0 22
ux0:app 23
ux0:patch 24
ux0:data 25
uma0 27

unk_02422F1F

Version World NID
3.60 non-secure 0x02422F1F

return sceSblACMgrHasCapabilityForDriver(pid, 129);

int unk_02422F1F(SceUID pid);

unk_04C0ED3F

Version World NID
3.60 non-secure 0x04C0ED3F

return sceSblACMgrHasCapabilityForDriver(pid, 128);

int unk_04C0ED3F(SceUID pid);

sceSblACMgrIsGameProgramForKernel

Version World NID
3.60 non-secure 0x05FDC646

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).

int sceSblACMgrIsGameProgramForKernel(SceUID pid);

unk_06BE9F0F

Version World NID
3.60 non-secure 0x06BE9F0F

int unk_06BE9F0F(SceUID pid);

unk_0E489631

Version World NID
3.60 non-secure 0x0E489631

return sceSblACMgrHasCapabilityForDriver(pid, 32);

int unk_0E489631(SceUID pid);

unk_11C9158B

Version World NID
3.60 non-secure 0x11C9158B

int unk_11C9158B(void* a1, void* a2);

unk_165C3C7A

Version World NID
3.60 non-secure 0x165C3C7A

int unk_165C3C7A(SceUID pid, char *maybe_path);

unk_1948E9DB

Version World NID
3.60 non-secure 0x1948E9DB

returns 0


int unk_1948E9DB();

unk_1B160234

Version World NID
3.60 non-secure 0x1B160234

int unk_1B160234(SceUID pid, int *a2, int *a3, int flags);

unk_2AE6CF27

Version World NID
3.60 non-secure 0x2AE6CF27

int unk_2AE6CF27(SceUID pid, void* a2, int flags);

unk_30575458

Version World NID
3.60 non-secure 0x30575458

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

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

int unk_30575458(SceUID pid);

sceSblACMgrIsSystemForKernel

Version World NID
3.60 non-secure 0x31C23B66

return sceSblACMgrHasCapabilityForDriver(pid, 0);

int sceSblACMgrIsSystemForKernel(SceUID pid);

unk_3388F595

Version World NID
3.60 non-secure 0x3388F595

unk_356B9139

Version World NID
3.60 non-secure 0x356B9139

int unk_356B9139(int unused, char *maybe_path, int *a3);

unk_384D20FD

Version World NID
3.60 non-secure 0x384D20FD

int unk_384D20FD(SceUID pid);

sceSblACMgrIsNonGameProgramForKernel

Version World NID
3.60 non-secure 0x3F99279F

return sceSblACMgrHasCapabilityForDriver(pid, 3);

int sceSblACMgrIsNonGameProgramForKernel(SceUID pid);

unk_410357AF

Version World NID
3.60 non-secure 0x410357AF

sceSblACMgrIsPspEmuForKernel

Version World NID
3.60 non-secure 0x47B67F72

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).

int sceSblACMgrIsPspEmuForKernel(SceUID pid);

unk_48F4D5EE

Version World NID
3.60 non-secure 0x48F4D5EE

unk_49509A83

Version World NID
3.60 non-secure 0x49509A83

int unk_49509A83(SceUID pid);

unk_4C4B7D6B

Version World NID
3.60 non-secure 0x4C4B7D6B

int unk_4C4B7D6B(SceUID pid);

unk_570D6AD3

Version World NID
3.60 non-secure 0x570D6AD3

sceSblACMgrIsFselfForKernel

Version World NID
3.60 non-secure 0x5AC59172

Calls sceSblACMgrGetSelfAuthInfoForDriver 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 World NID
3.60 non-secure 0x5E6BA11C

unk_7529E364

Version World NID
3.60 non-secure 0x7529E364

unk_75AAF981

Version World NID
3.60 non-secure 0x75AAF981

int unk_75AAF981(SceUID pid, void* a2, int a3);

sceSblACMgrGetSelfAuthInfoForKernel

Version World NID
3.60 non-secure 0x7C2AF978

Wrapper to sceSysrootGetSelfInfoForKernel.

int sceSblACMgrGetSelfAuthInfoForKernel(SceUID pid, SceSelfInfo* self_auth_info);

unk_7F294A09

Version World NID
3.60 non-secure 0x7F294A09

int unk_7F294A09(SceUID pid, char *maybe_path);

unk_8241AB5C

Version World NID
3.60 non-secure 0x8241AB5C

int unk_8241AB5C(SceUID pid, int a2);

sceSblACMgrIsShellForKernel

Version World NID
3.60 non-secure 0x930CD037

return sceSblACMgrHasCapabilityForDriver(pid, 1);

int sceSblACMgrIsShellForKernel(SceUID pid);

unk_96403142

Version World NID
3.60 non-secure 0x96403142

int unk_96403142(SceUID pid);

unk_966B3738

Version World NID
3.60 non-secure 0x966B3738

int unk_966b3738(SceUID pid);

unk_98B28671

Version World NID
3.60 non-secure 0x98B28671

sceSblACMgrHasCapabilityForKernel

Version World NID
3.60 non-secure 0x9EDAF856

int sceSblACMgrHasCapabilityForKernel(SceUID pid, int a2);

unk_A7C3001D

Version World NID
3.60 non-secure 0xA7C3001D

int unk_A7C3001D(SceUID pid);

unk_AF6F208E

Version World NID
3.60 non-secure 0xAF6F208E

unk_A50FDA27

Version World NID
3.60 non-secure 0xA50FDA27

sceSblACMgrIsDevelopmentModeForKernel

Version World NID
3.60 non-secure 0xBBA13D9C

int sceSblACMgrIsDevelopmentModeForKernel();

unk_C90A9216

Version World NID
3.60 non-secure 0xC90A9216

unk_CCDBB74D

Version World NID
3.60 non-secure 0xCCDBB74D

int unk_CCDBB74D(SceUID pid, void* a2, void *a3);

sceSblACMgrGetPathIdForKernel

Version World NID
3.60 non-secure 0xD442962E

int sceSblACMgrGetPathIdForKernel(const char *path, int* pathId);

unk_DC49E160

Version World NID
3.60 non-secure 0xDC49E160

int unk_DC49E160(SceUID pid);

unk_E273ED8C

Version World NID
3.60 non-secure 0xE273ED8C

int unk_E273ED8C(SceUID pid);

sceSblACMgrIsNotSandboxedForKernel

Version World NID
3.60 non-secure 0xF5AD56E4

unk_F9FEF5F0

Version World NID
3.60 non-secure 0xF9FEF5F0

unk_FBA1A256

Version World NID
3.60 non-secure 0xFBA1A256

returns 0


int unk_FBA1A256();

unk_FB2AC5B4

Version World NID
3.60 non-secure 0xFB2AC5B4

int unk_FB2AC5B4(SceUID pid, char *maybe_path);

SceSblACMgrForDriver

unk_0139FC20

Version World NID
3.60 non-secure 0x0139FC20

int unk_0139FC20(SceUID pid);

unk_0606B87E

Version World NID
3.60 non-secure 0x0606B87E

int unk_0606B87E(int a1, int a2, int *a3);

unk_062CAEB2

Version World NID
3.60 non-secure 0x062CAEB2

int unk_062CAEB2(SceUID pid);

unk_091F7247

Version World NID
3.60 non-secure 0x091F7247

int unk_091F7247(SceUID pid);

unk_0924896F

Version World NID
3.60 non-secure 0x0924896F

int unk_0924896F(SceUID pid);

sceSblACMgrIsSystemForDriver

Version World NID
3.60 non-secure 0x0948F41C

return sceSblACMgrHasCapabilityForDriver(pid, 0);

int sceSblACMgrIsSystemForDriver(SceUID pid);

sceSblACMgrIsNotSandboxedForDriver

Version World NID
3.60 non-secure 0x0B6E6CD7

sceSblACMgrIsGameProgramForDriver

Version World NID
3.60 non-secure 0x1298C647

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).

int sceSblACMgrIsGameProgramForDriver(SceUID pid);

unk_2A29453C

Version World NID
3.60 non-secure 0x2A29453C

int unk_2A29453C(SceUID pid);

unk_2E992B02

Version World NID
3.60 non-secure 0x2E992B02

int unk_2E992B02(SceUID pid);

unk_3B356B98

Version World NID
3.60 non-secure 0x3B356B98

int unk_3B356B98(void* a1, void* a2);

sceSblACMgrIsFselfForDriver

Version World NID
3.60 non-secure 0x426A4E8C

Calls sceSblACMgrGetSelfAuthInfoForDriver to get self_auth_info.

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

int sceSblACMgrIsFselfForDriver(SceUID pid);

sceSblACMgrGetPathIdForDriver

Version World NID
3.60 non-secure 0x4322F188

int sceSblACMgrGetPathIdForDriver(const char *path, int* pathId);

unk_456DA7AC

Version World NID
3.60 non-secure 0x456DA7AC

int unk_456DA7AC(SceUID pid);

unk_48CFCEA2

Version World NID
3.60 non-secure 0x48CFCEA2

int unk_48CFCEA2(SceUID pid, int *a2, int *a3, int flags);

unk_4CBD6156

Version World NID
3.60 non-secure 0x4CBD6156

int unk_4CBD6156(SceUID pid);

unk_4DB7F512

Version World NID
3.60 non-secure 0x4DB7F512

int unk_4DB7F512(SceUID pid);

unk_5C4BC352

Version World NID
3.60 non-secure 0x5C4BC352

int unk_5C4BC352(SceUID pid);

unk_5F9AF49C

Version World NID
3.60 non-secure 0x5F9AF49C

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.

int unk_5F9AF49C(SceUID pid, char *unk_buf);

unk_6210D745

Version World NID
3.60 non-secure 0x6210D745

int unk_6210D745(SceUID pid, void* a2, int flags);

sceSblACMgrIsNonGameProgramForDriver

Version World NID
3.60 non-secure 0x6C5AB07F

return sceSblACMgrHasCapabilityForDriver(pid, 3);

int sceSblACMgrIsNonGameProgramForDriver(SceUID pid);

unk_6D8A88B7

Version World NID
3.60 non-secure 0x6D8A88B7

unk_84604EED

Version World NID
3.60 non-secure 0x84604EED

sceSblACMgrIsShellForDriver

Version World NID
3.60 non-secure 0x8612B243

return sceSblACMgrHasCapabilityForDriver(pid, 1);

int sceSblACMgrIsShellForDriver(SceUID pid);

unk_8A54DF3A

Version World NID
3.60 non-secure 0x8A54DF3A

unk_962CD237

Version World NID
3.60 non-secure 0x962CD237

sceSblACMgrGetSelfAuthInfoForDriver

Version World NID
3.60 non-secure 0x96AF69BD

Wrapper to sceSysrootGetSelfInfoForKernel.

int sceSblACMgrGetSelfAuthInfoForDriver(SceUID pid, SceSelfInfo* self_auth_info);

unk_991FDC15

Version World NID
3.60 non-secure 0x991FDC15

unk_A27E47A7

Version World NID
3.60 non-secure 0xA27E47A7

return sceSblACMgrHasCapabilityForDriver(pid, 129);

int unk_A27E47A7(SceUID pid);

unk_A67E8E5B

Version World NID
3.60 non-secure 0xA67E8E5B

unk_A92CD636

Version World NID
3.60 non-secure 0xA92CD636

unk_AD717E7A

Version World NID
3.60 non-secure 0xAD717E7A

unk_AE1AF154

Version World NID
3.60 non-secure 0xAE1AF154

unk_B12CEAA8

Version World NID
3.60 non-secure 0xB12CEAA8

int unk_B12CEAA8(SceUID pid, void* a2, void *a3);

unk_B836CF13

Version World NID
3.60 non-secure 0xB836CF13

unk_BE5667C5

Version World NID
3.60 non-secure 0xBE5667C5

int unk_BE5667C5(SceUID pid, void* a2, int a3);

sceSblACMgrHasCapabilityForDriver

Version World NID
3.60 non-secure 0xC2D1F2FC

int sceSblACMgrHasCapabilityForDriver(SceUID pid, int a2);

unk_C98D82EE

Version World NID
3.60 non-secure 0xC98D82EE

unk_D0E11C89

Version World NID
3.60 non-secure 0xD0E11C89

unk_D7AD8471

Version World NID
3.60 non-secure 0xD7AD8471

int unk_D7AD8471(SceUID pid, char *maybe_path);

unk_E79C7A8D

Version World NID
3.60 non-secure 0xE79C7A8D

int unk_E79C7A8D(SceUID pid, char *maybe_path);

sceSblACMgrIsDevelopmentModeForDriver

Version World NID
3.60 non-secure 0xE87D1777

int sceSblACMgrIsDevelopmentModeForDriver();

unk_F5AE24AC

Version World NID
3.60 non-secure 0xF5AE24AC

return sceSblACMgrHasCapabilityForDriver(pid, 128);

int unk_F5AE24AC(SceUID pid);

sceSblACMgrIsPspEmuForDriver

Version World NID
3.60 non-secure 0xFD00C72A

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).

int sceSblACMgrIsPspEmuForDriver(SceUID pid);

unk_FF7125DE

Version World NID
3.60 non-secure 0xFF7125DE

int unk_FF7125DE(int unused, char *maybe_path, int *a3);

SceSblACMgr

_sceSblACMgrIsGameProgram

Version World NID
1.69 non-secure 0x3C17A7F7
3.60 non-secure 0x3C17A7F7

int _sceSblACMgrIsGameProgram(int *result);