SceSblACMgr

From Vita Development Wiki
Jump to navigation Jump to search

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

Path PathId
ux0:user 0
sd0 1
os0 2
vs0 3
vd0 4
tm0 5
ur0 6
host0 7
boot0 (yifan added it but it's not working on 3.60) 10
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

sceSblACMgrGetPathIdForKernel

Version World NID
3.60 non-secure 0xD442962E
/* item_8FA4FC deobfuscated data
item_8FA4FC <0x8FA3A8, 2, 0x8FA43C, 1, 1> ; sd
item_8FA4FC <0x8FA39C, 2, 0x8FA43C, 1, 2> ; os
item_8FA4FC <0x8FA4B8, 2, 0x8FA43C, 1, 3> ; vs
item_8FA4FC <0x8FA17C, 2, 0x8FA43C, 1, 4> ; vd
item_8FA4FC <0x8FA444, 2, 0x8FA43C, 1, 5> ; tm
item_8FA4FC <0x8FA4A0, 2, 0x8FA43C, 1, 6> ; ur
item_8FA4FC <0x8FA0CC, 4, 0x8FA43C, 1, 7> ; host
item_8FA4FC <0x8FA3EC, 2, 0x8FA43C, 1, 0xB> ; ud
item_8FA4FC <0x8FA4A8, 2, 0x8FA384, 4, 0x17> ; ux:app
item_8FA4FC <0x8FA4A8, 2, 0x8FA468, 5, 0x17> ; ux:/app
item_8FA4FC <0x8FA4A8, 2, 0x8FA498, 6, 0x18> ; ux:patch
item_8FA4FC <0x8FA4A8, 2, 0x8FA448, 7, 0x18> ; ux:/patch
item_8FA4FC <0x8FA4A8, 2, 0x8FA4E4, 5, 0x19> ; ux:data
item_8FA4FC <0x8FA4A8, 2, 0x8FA38C, 6, 0x19> ; ux:/data
item_8FA4FC <0x8FA4A8, 2, 0x8FA0DC, 5, 0> ; ux:user
item_8FA4FC <0x8FA4A8, 2, 0x8FA3BC, 6, 0> ; ux:/user
item_8FA4FC <0x8FA4A8, 2, 0x8FA43C, 1, 0xC> ; ux
item_8FA4FC <0x8FA4C4, 3, 0x8FA384, 4, 0xD> ; gro:app
item_8FA4FC <0x8FA4C4, 3, 0x8FA468, 5, 0xD> ; gro:/app
item_8FA4FC <0x8FA4A4, 3, 0x8FA498, 6, 0xE> ; grw:patch
item_8FA4FC <0x8FA4A4, 3, 0x8FA448, 7, 0xE> ; grw:/patch
item_8FA4FC <0x8FA430, 2, 0x8FA43C, 1, 0xF> ; sa
item_8FA4FC <0x8FA440, 3, 0x8FA43C, 1, 0x10> ; mfa
item_8FA4FC <0x8FA394, 3, 0x8FA43C, 1, 0x11> ; mfb
item_8FA4FC <0x8FA48C, 3, 0x8FA43C, 1, 0x12> ; lma
item_8FA4FC <0x8FA490, 3, 0x8FA43C, 1, 0x13> ; lmb
item_8FA4FC <0x8FA494, 3, 0x8FA43C, 1, 0x14> ; lmc
item_8FA4FC <0x8FA398, 3, 0x8FA43C, 1, 0x15> ; lmd
item_8FA4FC <0x8FA4C8, 2, 0x8FA43C, 1, 0x16> ; pd
item_8FA4FC <0x8FA4B4, 3, 0x8FA43C, 1, 0x1B> ;  uma
*/

struct item_8FA4FC
{
char *partition;
int partition_len;
char *folder;
int folder_len;
int path_id;
};

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

SceSblACMgrForDriver

sceSblACMgrHasCapabilityForDriver

Version World NID
3.60 non-secure 0xC2D1F2FC

sceSblACMgrIsShellForDriver

Version World NID
3.60 non-secure 0x8612B243

sceSblACMgrIsSystemForDriver

Version World NID
3.60 non-secure 0x0948F41C

sceSblACMgrIsGameProgramForDriver

Version World NID
3.60 non-secure 0x1298C647

sceSblACMgrIsNonGameProgramForDriver

Version World NID
3.60 non-secure 0x6C5AB07F

sceSblACMgrIsDevelopmentModeForDriver

Version World NID
3.60 non-secure 0xE87D1777

sceSblACMgrIsPspEmuForDriver

Version World NID
3.60 non-secure 0xFD00C72A

SceSblACMgr

_sceSblACMgrIsGameProgram

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