Difference between revisions of "SceSblACMgr"

From Vita Development Wiki
Jump to navigation Jump to search
(5 intermediate revisions by the same user not shown)
Line 34: Line 34:
 
== SceSblACMgrForKernel ==
 
== 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 <code>os0</code>) from being copied and run from another path.
 +
 +
{| class="wikitable"
 +
|-
 +
! 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 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! World !! NID
 +
|-
 +
| 3.60 || non-secure || 0xD442962E
 +
|}
 +
 +
<source lang="C">
 +
 +
/* 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);
 +
</source>
  
 
== SceSblACMgrForDriver ==
 
== SceSblACMgrForDriver ==
Line 40: Line 154:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! NID
+
! Version !! World !! NID
 
|-
 
|-
| 3.60 || 0xC2D1F2FC
+
| 3.60 || non-secure || 0xC2D1F2FC
 
|}
 
|}
  
Line 48: Line 162:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! NID
+
! Version !! World !! NID
 
|-
 
|-
| 3.60 || 0x8612B243
+
| 3.60 || non-secure || 0x8612B243
 
|}
 
|}
  
Line 56: Line 170:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! NID
+
! Version !! World !! NID
 
|-
 
|-
| 3.60 || 0x0948F41C
+
| 3.60 || non-secure || 0x0948F41C
 
|}
 
|}
  
Line 64: Line 178:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! NID
+
! Version !! World !! NID
 
|-
 
|-
| 3.60 || 0x1298C647
+
| 3.60 || non-secure || 0x1298C647
 
|}
 
|}
  
Line 72: Line 186:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! NID
+
! Version !! World !! NID
 
|-
 
|-
| 3.60 || 0x6C5AB07F
+
| 3.60 || non-secure || 0x6C5AB07F
 
|}
 
|}
  
Line 80: Line 194:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! NID
+
! Version !! World !! NID
 
|-
 
|-
| 3.60 || 0xE87D1777
+
| 3.60 || non-secure || 0xE87D1777
 
|}
 
|}
  
Line 88: Line 202:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! NID
+
! Version !! World !! NID
 
|-
 
|-
| 3.60 || 0xFD00C72A
+
| 3.60 || non-secure || 0xFD00C72A
 
|}
 
|}
  
Line 99: Line 213:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! NID
+
! Version !! World !! NID
 +
|-
 +
| 1.69 || non-secure || 0x3C17A7F7
 
|-
 
|-
| 1.69 || 0x3C17A7F7
+
| 3.60 || non-secure || 0x3C17A7F7
 
|}
 
|}
  
 
[[Category:Modules]]
 
[[Category:Modules]]
 
[[Category:Kernel]]
 
[[Category:Kernel]]

Revision as of 20:36, 19 March 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 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