Module
Known NIDs
Version |
Name |
World |
Privilege |
NID
|
1.69 |
SceAppMgr |
Non-secure |
Kernel |
0x69876CDE
|
3.60 |
SceAppMgr |
Non-secure |
Kernel |
0xDBB29DB7
|
Libraries
Known NIDs
Types
AppId
Some functions take an AppId as argument.
ID |
Desc
|
-1 |
Unknown
|
-2 |
Current App
|
-3 |
Unknown
|
-4 |
Unknown
|
-5 |
Unknown
|
-6 |
Unknown
|
SceAppMgr Mount IDs
MountId |
real path (X is an incremental number) |
virtual mount point (X is randomized) |
Function to call for mounting |
Used by
|
?0x3F? |
ux0:data/near/gift |
gift0: |
Seen in sceAppMgrAppDataMountByIdForDriver |
?SceNear?
|
0x64 |
ux0:picture |
photo0: |
automounted or sceAppMgrAppDataMount or sceAppUtilPhotoMount |
SceEmailApp, SceHostCollaboService, ScePsp2Compat, SceSettings, SceWebBrowser, SceWebUIPlugin, by NPXS10036
|
0x64 |
? |
? |
sceAppMgrPhotoMountForDriver sceAppMgrPhotoMount sceAppMgrAppDataMountForDriver |
|
0x65 |
ur0:user/XX/psnfriend |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMount |
SceFriend, SceFriendListDialogPlugin, SceInvitationDlgPlugin, SceNpGameCustomDataDPlugin, SceNpMessageDialogPlugin, SceNpProfile2DialogPlugin, ScePsnMail, SceShell
|
0x66 |
ur0:user/XX/psnmsg |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMount |
SceInvitationDlgImplPlugin, SceMsgMiddleWare, SceNpGameCustomDataDlgImpl, SceNpMessage, SceNpMessageDlgImplPlugin
|
0x67 |
ur0:user/XX/near |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMount |
SceNear, SceNearAutoCheckin, SceNearAutoLocation, SceNearProfile, SceNearUtilService, by NPXS10036
|
0x68 |
? |
? |
|
|
? |
ur0:user/XX/grpmsg |
adXXXXXXXXXXXX: |
|
|
? |
ur0:contacts |
? |
|
|
0x69 |
ux0:music |
music0: |
automounted or sceAppMgrAppDataMount or sceAppUtilMusicMount |
SceAvMediaService, SceHostCollaboService, SceMusicBrowser, SceShell
|
0x6A |
? |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMountById |
|
0x6B |
? |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMountById |
|
0x6C |
ux0:calendar |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMount |
SceCalendar, SceCalendarBg, SceCalendarDialogPlugin, SceEmailApp
|
0x6D |
ux0:video |
video0: |
sceAppUtilExtVideoMount or sceAppMgrAppDataMount |
|
0x6E |
ux0:appmeta/new (only while app promoting) ux0:appmeta/<TITLEID> |
adXXXXXXXXXXXX: |
mounted when installing app / refreshing LiveArea of an app |
|
0x6F |
tm0:nphome |
adXXXXXXXXXXXX: |
|
mounted by NPXS10010 when playing a video bought on PSStore, mounted by NPXS10036 when downloading a video bought on PSStore (NPXS10002). SceLibMarlin, SceLibMarlinPb
|
0x70 |
ux0:book |
?adXXXXXXXXXXXX:? |
sceAppUtilBookMount |
Reader™ (PCSC80012)
|
0xC8 |
ur0:temp/sqlite |
tdXXXXXXXXXXXX: |
mounted by some system apps |
|
0xC9 |
ur0:temp/attach |
tdXXXXXXXXXXXX: |
mounted by some games |
|
0xCA |
ux0:pspemu |
ms0: |
|
mounted by NPXS19999 (SceShell) when asked by CMA or PspEmu or SceGameManual or Store
|
0xCC |
ur0:temp/checkout |
tdXXXXXXXXXXXX: |
mounted by NPXS10002 (SceStoreBrowser or SceCheckoutBrowser) |
|
0xCD |
ux0:cache/<TITLEID> |
cache0: |
sceAppUtilCacheMount or sceAppMgrWorkDirMountById |
|
0xCE |
ur0:temp/webbrowser |
tdXXXXXXXXXXXX: |
mounted by NPXS10003 (SceWebBrowser) |
|
0xCF |
? |
? |
? |
?
|
? |
ux0:mtp |
? |
? |
?MTP?
|
0x12C |
? |
? |
sceAppMgrTrophyMount sceAppMgrTrophyMountForDriver |
?
|
0x12E |
ur0:user/XX/trophy/data/sce_trop |
trophy_sys0: |
?sceNpTrophyCreateContext? sceAppMgrTrophyMount sceAppMgrTrophyMountForDriver |
mounted by NPXS19999 (SceShell) when asked by app or games
|
0x12F |
ur0:user/XX/trophy/data/<COMMID> |
trophy_dat0: |
|
|
0x130 |
?ur0:user/XX/trophy/data/db? |
trophy_dbk0: |
|
|
0x190 |
ux0:mms/photo |
adXXXXXXXXXXXX: |
sceAppMgrMmsMount sceAppMgrMmsMountForDriver |
mounted by NPXS10004, by NPXS10036
|
?0x191? |
ux0:mms/music |
adXXXXXXXXXXXX: |
sceAppMgrMmsMount sceAppMgrMmsMountForDriver |
?mounted by NPXS10009?
|
0x192 |
ux0:mms/video |
adXXXXXXXXXXXX: |
sceAppMgrMmsMount sceAppMgrMmsMountForDriver |
mounted by NPXS10010, by NPXS10036
|
0x1F4 |
? |
? |
|
|
0x1F8 |
? |
sdimport0: |
|
|
0x1F9 |
? |
sdimport_tmp0: |
|
|
0x258 |
? |
? |
|
|
0x384 |
? |
? |
|
|
0x3E8 |
ux0:temp/fakepkg/expand/<TITLEID> (PKG installer promoting), ux0:bgdl/t/XXXXXXXX/<TITLEID>/0000 (bgdl promoting), vs0:app/<TITLEID> |
gpXXXXXXXXXXXX:, app0: |
automounted |
|
0x3E8 |
ux0:app/<TITLEID>, gro0:app/<TITLEID> |
gpXXXXXXXXXXXd: |
sceAppMgrGameDataMountForDriver |
|
0x3E9 |
ux0:temp/fakepkg/expand/<TITLEID> (PKG installer promoting), ux0:bgdl/t/XXXXXXXX/<TITLEID>/0000 (bgdl promoting) |
gpXXXXXXXXXXXX:, app0: (mounted over /app/ app0:) |
|
|
0x3E9 |
ux0:patch/<TITLEID>, grw0:patch/<TITLEID> |
gpXXXXXXXXXXXd: |
sceAppMgrGameDataMountForDriver |
|
0x3EA |
ux0:temp/fakepkg/expand/<TITLEID> (PKG installer promoting), ux0:bgdl/t/XXXXXXXX/<TITLEID>/0000 (bgdl promoting) |
gpXXXXXXXXXXXX:, addcont0: - addcont1: |
automounted by SceAppMgr or sceAppUtilAddcontMount or sceAppUtilDrmOpen or sceAppUtilAddcontForceAddcontMount |
|
0x3EA |
gro0:addcont/<TITLEID> |
? |
sceAppMgrAddContMount |
|
0x3EA |
ux0:addcont/<TITLEID>, grw0:addcont/<TITLEID> |
? |
sceAppMgrAddContAddMount sceAppMgrAddContMount |
|
0x3EA |
gro0:acinst/<titleid> |
? |
sceAppMgrAcInstGetAcdirParamForDriver |
|
0x3EB |
ux0:addcont/<TITLEID>, grw0:addcont/<TITLEID> |
? |
sceAppMgrAddContMount |
|
0x3EC |
ux0:theme/<CONTENTID> |
tmXXXXXXXXXXXX: |
|
|
0x3ED |
ux0:user/XX/savedata/<TITLEID> |
savedata0: ?savedata1:? |
automounted by SceAppMgr |
|
0x3ED |
?any path? |
tsXXXXXXXXXXXX: |
sceAppMgrFakeSaveDataCreateMountForDriver sceAppMgrGetSaveDataInfoForSpecialExport |
?fake_package_installer? ?SceContentManager?
|
0x3ED |
?any path? |
? |
sceAppMgrLoadSaveDataSystemFile |
?fake_package_installer?
|
0x3ED |
ux0:user/XX/savedata_plus/work/<TITLEID> |
tsXXXXXXXXXXXX: |
sceAppMgrCloudDataDstCreateMountForDriver |
|
0x3ED |
ux0:/user/XX/savedata/<TITLEID> |
tsXXXXXXXXXXXX: |
sceAppMgrCloudDataSrcMountForDriver |
|
0x3ED |
grw0:savedata/<titleid> |
tsXXXXXXXXXXXX: |
sceAppMgrCloudDataSrcMountForDriver |
|
0x3ED |
ux0:/user/XX/savedata_vc/<titleid>, ux0:/user/XX/savedata/<titleid> |
? |
sceAppMgrSaveDataAddMount |
|
0x3EE |
ur0:user/XX/savedata/<TITLEID> |
savedata0: ?savedata1:? |
sceAppMgrSaveDataAddMount or sceAppUtilSaveDataMount |
|
0x3EF |
vs0:sys/external |
sdXXXXXXXXXXXX: |
automounted |
|
0x3F0 |
vs0:data/external |
sdXXXXXXXXXXXX: |
automounted |
|
Types
// Linked list of these items is controlled by common function that is responsible for PFS mounting.
// This function (on 3.60, segment 0, offset 0x19B51) is used by all other mount functions in SceAppMgr.
// Linked list is used as lookup by callback that is set by sceIoSetPathMappingFunctionForDriver.
// Pointer of address of first entry is : on 3.60, segment 1, offset 0x3470C.
typedef struct mount_point_data_entry
{
int mount_id;
char path[292]; // original path
char mount_point[16];
char title_id[16];
SceUInt64 auth_ids[16]; // array of auth ids (auth id is required for PFS mount of NPDRM apps)
struct mount_point_data_entry *previous_entry; // pointer to previous item in the list
struct mount_point_data_entry *next_entry; // pointer to next item in the list
} mount_point_data_entry;
struct generic_mount_ctx
{
char titleId[16];
char passCode[32];
char mountDrive[16];
};
Data segment layout
On 3.60 :
Address |
Size |
Description
|
0x00000 |
0x3470C |
unknown
|
0x3470C |
0x4 |
mount_point_data_entry* pointer to list of items
|
0x34710 |
0x4E4C |
unknown
|
mount_point_data_entry Parser
mount_point_data_entry** first_entry_addr;
tai_module_info_t appmgr_info;
taiGetModuleInfoForKernel(KERNEL_PID, "SceAppMgr", &appmgr_info);
int res=0;
switch (appmgr_info.module_nid) {
case 0xDBB29DB7: // 3.60 retail
res = module_get_offset(KERNEL_PID, appmgr_info.modid, 1, 0x3470C, &first_entry_addr);
break;
default:
break;
}
if (!res) {
mount_point_data_entry* entry = *first_entry_addr;
log_write((char*)entry, sizeof(mount_point_data_entry));
while ((int)entry->next_entry > 0) {
entry = entry->next_entry;
log_write((char*)entry, sizeof(mount_point_data_entry));
}
}
SceAppMgrForDriver
sceAppMgrAcInstGetAcdirParamForDriver
Version |
NID
|
3.60 |
0x474AABDF
|
- mount PFS drive 0 to path gro0:acinst/<titleid> with mountid 0x3EA
- read keystone from <mountpoint>:sce_sys/keystone into outputData
- extract klicensee from gro0:license/addcont/<titleid>/<dlc_folder>/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.rif
- execute pfs ioctl command 0x4402 with klicensee
- execute pfs ioctl command 0x4403
- read gro0:acinst/<titleid>/<dlc_folder>/sce_sys/param.sfo
- read game title into outputData
struct acinst_res
{
char keystone[0x60];
char game_title[0x80];
};
int sceAppMgrAcInstGetAcdirParamForDriver(const char *titleId, const char *dlc_folder, acinst_res *outputData);
sceAppMgrAppDataMountByIdForDriver
Version |
NID
|
3.60 |
0x5E311F71
|
sceAppMgrAppDataMountForDriver
Version |
NID
|
3.60 |
0xB1D3C287
|
sceAppMgrAppMountForDriver
Version |
NID
|
3.60 |
0xEF0C9533
|
sceAppMgrAppUmountForDriver
Version |
NID
|
3.60 |
0x1DE3B7C4
|
sceAppMgrBgdlSetQueueStatusForDriver
Version |
NID
|
3.60 |
0x5B1BE482
|
sceAppMgrCheckContentInstallPeriodForDriver
Version |
NID
|
3.60 |
0x193784A9
|
sceAppMgrCheckPfsMountedForDriver
Version |
NID
|
3.60 |
0x0B1BEEE0
|
sceAppMgrCloudDataClearMcIdForDriver
Version |
NID
|
3.60 |
0xEC408FEF
|
Version |
NID
|
3.60 |
0xED87F191
|
sceAppMgrCloudDataDstCreateMountForDriver
Version |
NID
|
3.60 |
0xB3816B42
|
- check authid SceShell(0x2800000000000001), SceContentManager(0x280000000000002D)
- do some ioctl check 0x3001
- create directory ux0:user/XX/savedata_plus/work/<TITLEID>
- create sealedkey
- retrieve klicensee
- pure mount PFS PDXXXXXXXXXXXX mountpoint to pfs mount ux0:user/XX/savedata_plus/work/<TITLEID> path and authid 0x2800000000000001 or 0x280000000000002D
- create directory ux0:user/XX/savedata_plus/work/<TITLEID>/sce_sys
- write file ux0:user/XX/savedata_plus/work/<TITLEID>/sce_sys/sealedkey
- unmount PFS PDXXXXXXXXXXXX mountpoint
- mount PFS tsXXXXXXXXXXXX: mountpoint to ux0:user/XX/savedata_plus/work/<TITLEID> path with mountid 0x3ED
int sceAppMgrCloudDataDstCreateMountForDriver(const char* titleId, char* mountPoint);
sceAppMgrCloudDataGetMcIdForDriver
Version |
NID
|
3.60 |
0x1286AF64
|
sceAppMgrCloudDataSetMcIdForDriver
Version |
NID
|
3.60 |
0x0B94BB90
|
sceAppMgrCloudDataSetupKeyForDriver
Version |
NID
|
3.60 |
0x2FAA6ABD
|
sceAppMgrCloudDataSrcMountForDriver
Version |
NID
|
3.60 |
0x6D4D6FFE
|
- check auth id SceShell(0x2800000000000001), SceContentManager(0x280000000000002D), SceDailyCheckerBg(0x2800000000000039)
- select path depending on mode: ux0:/user/XX/savedata/<titleid> or grw0:savedata/<titleid>
- read sealedkey from ux0:/user/XX/savedata/<titleid>/sce_sys/sealedkey or grw0:savedata/<titleid>/sce_sys/sealedkey
- mount PFS tsXXXXXXXXXXXX: mountpoint to ux0:/user/XX/savedata/<TITLEID> or grw0:savedata/<titleid> path with mountid 0x3ED
//mode probably allows values 1,2,3
//1 probably selects ux0:
//2,3 probably selects grw0:
int sceAppMgrCloudDataSrcMountForDriver(int mode, const char *titleId, char *mountPoint);
Version |
NID
|
3.60 |
0x55D48190
|
sceAppMgrDebugSettingNotifyUpdateForDriver
Version |
NID
|
3.60 |
0x7554330F
|
sceAppMgrDrmCloseForDriver
Version |
NID
|
3.60 |
0x088670A6
|
sceAppMgrDrmOpenForDriver
Version |
NID
|
3.60 |
0xEA75D157
|
typedef struct drm_opts {
uint32_t size;
char addcont_id[20];
char mount_point[10];
} drm_opts;
int sceAppMgrDrmOpenForDriver(drm_opts *drmOpt);
sceAppMgrFakeSaveDataCreateMountForDriver
Version |
NID
|
3.60 |
0x12FC3FA8
|
- check authid fake_package_installer(0x280000000000002E)
- resolve overlay for <path>
- create <path> directory
- do some ioctl check 0x3001
- create sealedkey
- pure mount PFS PDXXXXXXXXXXXX mountpoint to pfs mount <path> path without klicensee and authid 0x280000000000002E
- create directory <path>/sce_sys
- write file <path>/sce_sys/sealedkey
- write empty file <path>/sce_sys/keystone
- unmount PFS PDXXXXXXXXXXXX mountpoint
- mount PFS tsXXXXXXXXXXXX: mountpoint to <path> path with mountid 0x3ED
int sceAppMgrFakeSaveDataCreateMountForDriver(const char *path, const char *mountPoint);
sceAppMgrGameDataMountForDriver
Version |
NID
|
3.60 |
0xCE356B2D
|
- read and parse <app_path>/sce_sys/param.sfo
- check that path does not start from one of these host0:, ux0:data, vs0:
- create <app_path>/sce_pfs folder if required
- check if <app_path>/sce_sys/clearsign exists
- get klicensee from rif (from fixed name at <app_path>/license/app/<titleid> or from <rif_file_path>)
- check <app_path>/sce_sys/package/head.bin vs <app_path>/sce_sys/clearsign
- mount PFS gpXXXXXXXXXXXd: mountpoint to <app_path> path with mountid 0x3E8
- override with another mount PFS gpXXXXXXXXXXXd: mountpoint to <patch_path> path with 0x3E9 if <patch_path> exists
- check that path does not start with ux0:data
- create ux0:patch/<TITLEID> or grw0:patch/<TITLEID> path
- override with another mount PFS gpXXXXXXXXXXXd: mountpoint to ux0:patch/<TITLEID> or grw0:patch/<TITLEID> path with 0x3E9 if path exists
//derived from _sceAppMgrGameDataMount
int sceAppMgrGameDataMountForDriver(char *app_path, char *patch_path, char *rif_file_path, char *mount_point)
sceAppMgrGetBootParamForDriver
Version |
NID
|
3.60 |
0xD2541B4A
|
sceAppMgrGetPfsProcessStatusForDriver
Version |
NID
|
3.60 |
0xE72D2A4A
|
sceAppMgrGetSystemDataFileForDriver
Version |
NID
|
1.69 |
0xAEC49533
|
3.60 |
0xAEC49533
|
sceAppMgrIsExclusiveProcessRunningForDriver
Version |
NID
|
3.60 |
0xA888C2DC
|
sceAppMgrLaunchAppByPathForDriver
Version |
NID
|
1.69 |
0xB0A37065
|
3.60 |
0xB0A37065
|
Loads a SELF at a given path with optional arguments. Arguments is a null-separated string. Arguments are passed directly to the app as a list of strings (char * const argv[]
). Special arguments are listed below.
int opt[52/4] = {0};
opt[0] = sizeof(opt);
int sceAppMgrLaunchAppByPathForDriver(const char *path, const char *arglist, int arglen, int unk1, void *opt, void *unk2);
// sample: sceAppMgrLaunchAppByPathForDriver("ux0:temp/installer.self", "-budget\0big\0-nonsuspendable\0-livearea_off\0", 0x2A, 0, opt, NULL);
Argument |
Param |
Description
|
-budget |
one of "big", "game", "sys", "shell", "small", "mini" |
App budget (memory allocation I believe)
|
-memsize |
decimal number |
Memory size
|
-la_type |
none |
LiveArea type
|
-bg |
none |
Run in background
|
-nonsuspendable |
none |
Non-suspendable
|
-titleid |
string |
Set TitleId
|
-phcontmemsize |
decimal number |
Physical cont. memory size
|
-livearea_off |
none |
No LiveArea
|
-exit_to |
title id |
App to resume upon exit
|
-param |
string |
Param
|
-usecdlg |
none |
Use CDRAM large (?)
|
sceAppMgrLoadSafeMemoryForDriver
Version |
NID
|
1.69 |
0xFAF3DAAA
|
3.60 |
0xFAF3DAAA
|
sceAppMgrLocalBackupGetOfflineIdForDriver
Version |
NID
|
3.60 |
0x61B13981
|
Version |
NID
|
3.60 |
0x62E98C42
|
sceAppMgrMmsMountForDriver
Version |
NID
|
3.60 |
0x13D54107
|
int sceAppMgrMmsMountForDriver(int mountId, char *mountPoint);
sceAppMgrPhotoMountForDriver
Version |
NID
|
3.60 |
0x43A35729
|
call sceAppMgrAppDataMountForDriver with mount_id 0x64
struct sceAppMgrPhotoMountParam
{
int size;
char unk4[128];
};
int sceAppMgrPhotoMountForDriver(sceAppMgrPhotoMountParam *opt);
sceAppMgrRegisterPathForDriver
Version |
NID
|
3.60 |
0xB53FB98E
|
sceAppMgrSaveDataGetQuotaForDriver
Version |
NID
|
3.60 |
0xE104C37E
|
sceAppMgrSaveDataLocalBackupTargetGetListForDriver
Version |
NID
|
3.60 |
0x9B3F7D66
|
sceAppMgrSaveDataLocalBackupTargetRemoveItemForDriver
Version |
NID
|
3.60 |
0xC4EF95BB
|
sceAppMgrSaveDataMountForDriver
Version |
NID
|
3.60 |
0xE73C9516
|
sceAppMgrSaveDataNotifyBackupFinishedForDriver
Version |
NID
|
3.60 |
0x6989B258
|
sceAppMgrSaveDataSlotCreateForDriver
Version |
NID
|
3.60 |
0xE6F389B8
|
sceAppMgrSaveDataSlotDeleteForDriver
Version |
NID
|
3.60 |
0xB544F2A0
|
sceAppMgrSaveDataSlotGetParamForDriver
Version |
NID
|
3.60 |
0xD137D486
|
sceAppMgrSaveDataSlotGetStatusForDriver
Version |
NID
|
3.60 |
0xEC9D5A35
|
sceAppMgrSaveDataSlotInitForDriver
Version |
NID
|
3.60 |
0x2277F736
|
sceAppMgrSaveDataSlotSetParamForDriver
Version |
NID
|
3.60 |
0x7E247E47
|
sceAppMgrSaveDataSlotSetStatusForDriver
Version |
NID
|
3.60 |
0x9ADB00FA
|
sceAppMgrSaveDataUmountForDriver
Version |
NID
|
3.60 |
0x2B080268
|
sceAppMgrSaveSafeMemoryForDriver
Version |
NID
|
1.69 |
0xD366AA44
|
3.60 |
0xD366AA44
|
sceAppMgrSystemParamDateTimeSetConfForDriver
Version |
NID
|
3.60 |
0xA9AA3A68
|
sceAppMgrTrophyMountForDriver
Version |
NID
|
3.60 |
0xE977A833
|
int sceAppMgrTrophyMountForDriver(int mountId, SceUID pid, char *mountPoint);
sceAppMgrUmountForDriver
Version |
NID
|
3.60 |
0xA714BB35
|
The following mount points can be derived from the code:
- "photo0:" (0x64)
- "music0:" (0x69)
- "video0:" (0x6D)
- "addcont0:"
- "addcont1:"
// derived from _sceAppMgrUmount
int sceAppMgrUmountForDriver(const char *mount_point);
sceAppMgrUpdateRifInfoForDriver
Version |
NID
|
3.60 |
0x894BDCB8
|
sceAppMgrWorkDirMountForDriver
Version |
NID
|
3.60 |
0x3A0A9B82
|
SceAppMgrForDriver_unk_0813AFCA
Version |
NID
|
3.60 |
0x0813AFCA
|
sceAppMgrAppParamGetIntForDriver
Version |
NID
|
3.60 |
0x12CE29F7
|
SceAppMgrForDriver_unk_2FEACA9F
Version |
NID
|
3.60 |
0x2FEACA9F
|
SceAppMgrForDriver_unk_324DD34E
Version |
NID
|
3.60 |
0x324DD34E
|
SceAppMgrForDriver_unk_0C5D65F1
Version |
NID
|
3.60 |
0x0C5D65F1
|
SceAppMgrForDriver_unk_1574E1A4
Version |
NID
|
3.60 |
0x1574E1A4
|
SceAppMgrForDriver_unk_1B6C2FED
Version |
NID
|
3.60 |
0x1B6C2FED
|
SceAppMgrForDriver_unk_21BE167A
Version |
NID
|
3.60 |
0x21BE167A
|
SceAppMgrForDriver_unk_29421DCD
Version |
NID
|
3.60 |
0x29421DCD
|
SceAppMgrForDriver_unk_30947DF4
Version |
NID
|
3.60 |
0x30947DF4
|
SceAppMgrForDriver_unk_3B4F305B
Version |
NID
|
3.60 |
0x3B4F305B
|
SceAppMgrForDriver_unk_4FA62A46
Version |
NID
|
3.60 |
0x4FA62A46
|
SceAppMgrForDriver_unk_504023C8
Version |
NID
|
3.60 |
0x504023C8
|
SceAppMgrForDriver_unk_99AA37C1
Version |
NID
|
3.60 |
0x99AA37C1
|
SceAppMgrForDriver_unk_C4924946
Version |
NID
|
3.60 |
0xC4924946
|
SceAppMgrForDriver_unk_D80566DB
Version |
NID
|
3.60 |
0xD80566DB
|
SceAppMgrForDriver_unk_DC13160A
Version |
NID
|
3.60 |
0xDC13160A
|
SceAppMgrForDriver_unk_DD5BEEE3
Version |
NID
|
3.60 |
0xDD5BEEE3
|
SceAppMgrForDriver_unk_E8DB7942
Version |
NID
|
3.60 |
0xE8DB7942
|
SceAppMgrForDriver_unk_EBFE1BE2
Version |
NID
|
3.60 |
0xEBFE1BE2
|
SceAppMgrForDriver_unk_EE6047CA
Version |
NID
|
3.60 |
0xEE6047CA
|
SceAppMgrForDriver_unk_F3B1D42E
Version |
NID
|
3.60 |
0xF3B1D42E
|
SceAppMgrForDriver_unk_F9A61E94
Version |
NID
|
3.60 |
0xF9A61E94
|
SceAppMgrForDriver_unk_FC89D33D
Version |
NID
|
3.60 |
0xFC89D33D
|
SceAppMgr
__sceAppMgrGetAppState
Version |
NID
|
1.69 |
0x210C0046
|
3.60 |
0x210C0046
|
exported to user by SceDriverUser
_sceAppMgrAcidDirSet
Version |
NID
|
1.69 |
0x6CBCBE1A
|
3.60 |
0x6CBCBE1A
|
exported to user by SceDriverUser
_sceAppMgrAcquireSoundOutExclusive3
Version |
NID
|
1.69 |
0x13ED8FFD
|
3.60 |
0x13ED8FFD
|
exported to user by SceDriverUser
_sceAppMgrAddContAddMount
Version |
NID
|
3.60 |
0x581DB1BE
|
exported to user by SceDriverUser
- verify that titleid belongs to one of currently running titleids
- mount PFS to ux0:addcont/<titleid> or grw0:addcont/<titleid> path with mountid 0x3EA
- read keystone from <mountpoint>:sce_sys/keystone
- verify keystone passcode
int _sceAppMgrAddContAddMount(generic_mount_ctx *data, int force_mount_ux);
_sceAppMgrAddContMount
Version |
NID
|
1.69 |
0x0667E10A
|
3.60 |
0x0667E10A
|
exported to user by SceDriverUser
- if path is gro0:
- produce path gro0:addcont/<titleid>
- else
- obtain path ux0:addcont/<titleid> or grw0:addcont/<titleid>
- mount PFS to one of 3 paths with mountid 0x3EA
- if first mount succeeded
- check that mount drive is addcont0:
- read keystone form <mountpoint>:sce_sys/keystone
- verify keystone content
- if path is gro0:
- obtain path ux0:addcont/<titleid> or grw0:addcont/<titleid>
- mount PFS to one of 2 paths with mountid 0x3EB
- check that mount drive is addcont0:
- read keystone form <mountpoint>:sce_sys/keystone
- verify keystone content
- if first mount failed:
- if path is gro0:
- obtain path ux0:addcont/<titleid> or grw0:addcont/<titleid>
- mount PFS to one of 2 paths with mountid 0x3EA
- check that mount drive is addcont0:
- read keystone form <mountpoint>:sce_sys/keystone
- verify keystone content
- check that mounted drive is indeed addcont0:
int _sceAppMgrAddContMount(SceUID pid, generic_mount_ctx *mctx);
_sceAppMgrAppDataMountById
Version |
NID
|
1.69 |
0x9275414A
|
3.60 |
0x9275414A
|
exported to user by SceDriverUser
_sceAppMgrAppDataMount
Version |
NID
|
1.69 |
0xF07B816E
|
3.60 |
0xF07B816E
|
exported to user by SceDriverUser
Use sceAppMgrUmount to unmount this.
int _sceAppMgrAppDataMount(int mount_id, char *mount_name_buffer);
Known working mount_id:
_sceAppMgrAppDataMount(0x64); returned 0x0 (photo0:)
_sceAppMgrAppDataMount(0x65); returned 0x0 (ad11c3da9df2eb:)
_sceAppMgrAppDataMount(0x66); returned 0x0 (ad859bcae16a94:)
_sceAppMgrAppDataMount(0x67); returned 0x0 (ada11cda8a9f0b:)
_sceAppMgrAppDataMount(0x69); returned 0x0 (music0:)
_sceAppMgrAppMount
Version |
NID
|
1.69 |
0xCF1C0C0C
|
3.60 |
0xCF1C0C0C
|
exported to user by SceDriverUser
_sceAppMgrAppParamGetInt
Version |
NID
|
1.69 |
0xDC7F8DE5
|
3.60 |
0xDC7F8DE5
|
exported to user by SceDriverUser
_sceAppMgrAppParamGetString
Version |
NID
|
1.69 |
0xEF34CA42
|
3.60 |
0xEF34CA42
|
exported to user by SceDriverUser
This is used to retrieve SFO information. The cmd probably corresponds to and index of SFO entries. See the examples for which entries they may be. Example from store_checkout_plugin.
typedef struct sceAppMgrAppParamGetString_opt
{
int32_t length;
int32_t unk_4;
int32_t unk_8;
int32_t unk_C;
}sceAppMgrAppParamGetString_opt;
//example:
//sceAppMgrAppParamGetString_opt opt;
//opt.length = 0x10;
//sceAppMgrAppParamGetString(processid, 0xC, buffer, &opt);
int _sceAppMgrAppParamGetString(int pid, int param, char *string, sceAppMgrAppParamGetString_opt* buf_size);
On WebKit:
0xC - return current process application name.
0x8 - return "gda" on webkit
On PSM Dev
Cmd |
Output
|
0x6 |
IP9100-PCSI00007_00-PSSUITEDEV000000
|
0x7 |
|
0x8 |
gd
|
0x9 |
PlayStationArMobile Development Assistant
|
0xA |
PSM Dev
|
0xC |
PCSI00007
|
0x64 |
IP9100-PCSI00007_00-PSSUITEDEV000000
|
0x65 |
PlayStationArMobile Development Assistant
|
_sceAppMgrAppParamSetString
Version |
NID
|
3.60 |
0x5957390F
|
exported to user by SceDriverUser
_sceAppMgrAppUmount
Version |
NID
|
1.69 |
0x2FB40418
|
3.60 |
0x2FB40418
|
exported to user by SceDriverUser
_sceAppMgrBgdlGetQueueStatus
Version |
NID
|
1.69 |
0x5075AE28
|
3.60 |
0x5075AE28
|
exported to user by SceDriverUser
_sceAppMgrCaptureFrameBufDMACByAppId
Version |
NID
|
1.69 |
0xC698385C
|
3.60 |
0xC698385C
|
exported to user by SceDriverUser
_sceAppMgrCaptureFrameBufIFTUByAppId
Version |
NID
|
1.69 |
0xF29E0732
|
3.60 |
0xF29E0732
|
exported to user by SceDriverUser
_sceAppMgrCheckRifGD
Version |
NID
|
1.69 |
0x15D7CA34
|
3.60 |
0x15D7CA34
|
exported to user by SceDriverUser
checks game data rif from \license\app\
typedef struct _sceAppMgrCheckRifGD_opt //size is 0x08
{
uint32_t unk_0;
uint32_t unk_4;
}_sceAppMgrCheckRifGD_opt
//path is a temporary mount point acquired with _sceAppMgrGameDataMount
//dest should be buffer of size 0x70
int _sceAppMgrCheckRifGD(char* path, void* dest, _sceAppMgrCheckRifGD_opt* opt);
_sceAppMgrContentInstallPeriodStart
Version |
NID
|
1.69 |
0xDC478FB1
|
3.60 |
0xDC478FB1
|
exported to user by SceDriverUser
Example from store_checkout_plugin. Parameters are uncertain.
int sceAppMgrContentInstallPeriodStart();
_sceAppMgrContentInstallPeriodStop
Version |
NID
|
1.69 |
0xC9854E6E
|
3.60 |
0xC9854E6E
|
exported to user by SceDriverUser
Example from store_checkout_plugin.
- calls non exported function equal to kernel level of sceAppMgrAddContMount
- clears flag 0x1000000 if it is set (in internal structure of one of mountpoints in list in AppMgr )
int sceAppMgrContentInstallPeriodStop();
_sceAppMgrConvertVs0UserDrivePath
Version |
NID
|
1.69 |
0x19B76D11
|
3.60 |
0x19B76D11
|
Exported to user by SceDriverUser.
Pass in a non-restricted vs0: path and an empty buffer and the buffer will be filled with the path of a temporary mount point.
Example from libssl.
// example: _sceMgrConvertVs0userDrivePath("vs0:sys/external", mountname, length)
int _sceAppMgrConvertVs0UserDrivePath(const char *path, char outpath[length], int length);
_sceAppMgrDeclareShellProcess2
Version |
NID
|
1.69 |
0xBDF15BDC
|
3.60 |
0xBDF15BDC
|
exported to user by SceDriverUser
_sceAppMgrDestroyAppByName
Version |
NID
|
1.69 |
0xEB318002
|
3.60 |
0xEB318002
|
exported to user by SceDriverUser
_sceAppMgrDrmClose
Version |
NID
|
1.69 |
0xE4CE4A0C
|
3.60 |
0xE4CE4A0C
|
exported to user by SceDriverUser
_sceAppMgrDrmOpen
Version |
NID
|
1.69 |
0xAA5B3A37
|
3.60 |
0xAA5B3A37
|
exported to user by SceDriverUser
_sceAppMgrForceUmount
Version |
NID
|
1.69 |
0x2598EC8A
|
3.60 |
0x2598EC8A
|
exported to user by SceDriverUser
_sceAppMgrGameDataMount
Version |
NID
|
1.69 |
0x454EB183
|
3.60 |
0x454EB183
|
exported to user by SceDriverUser
typedef struct _sceAppMgrGameDataMount_opt //size is 0x18
{
char* mount_point;
uint32_t unk_4;
uint32_t unk_8;
uint32_t unk_C;
uint32_t unk_10;
uint32_t unk_14;
}_sceAppMgrGameDataMount_opt;
int _sceAppMgrGameDataMount(char *app_path, char *patch_path, char *rif_file_path, _sceAppMgrGameDataMount_opt* opt)
_sceAppMgrGetAppInfo
Version |
NID
|
1.69 |
0x6E65D746
|
3.60 |
0x6E65D746
|
exported to user by SceDriverUser
_sceAppMgrGetAppMgrState
Version |
NID
|
1.69 |
0x55C60D20
|
3.60 |
0x55C60D20
|
exported to user by SceDriverUser
_sceAppMgrGetAppParam2
Version |
NID
|
1.69 |
0x26D43923
|
3.60 |
0x26D43923
|
exported to user by SceDriverUser
_sceAppMgrGetAppParam
Version |
NID
|
1.69 |
0x258C3E3C
|
3.60 |
0x258C3E3C
|
exported to user by SceDriverUser
_sceAppMgrGetBootParam
Version |
NID
|
1.69 |
0xEEFBC756
|
3.60 |
0xEEFBC756
|
exported to user by SceDriverUser
_sceAppMgrGetBudgetInfo
Version |
NID
|
1.69 |
0xEACF2237
|
3.60 |
0xEACF2237
|
exported to user by SceDriverUser
Example from webcore
SceAppMgrUser_5F00F261(&struct_of_size_0x88)
_sceAppMgrGetCoredumpStateForShell
Version |
NID
|
1.69 |
0x03DD7E65
|
3.60 |
0x03DD7E65
|
exported to user by SceDriverUser
_sceAppMgrGetCurrentBgmState2
Version |
NID
|
1.69 |
0x3F7B9BB5
|
3.60 |
0x3F7B9BB5
|
exported to user by SceDriverUser
_sceAppMgrGetCurrentBgmState
Version |
NID
|
1.69 |
0x81569A58
|
3.60 |
0x81569A58
|
exported to user by SceDriverUser
_sceAppMgrGetDevInfo
Version |
NID
|
1.69 |
0x52766019
|
3.60 |
0x52766019
|
exported to user by SceDriverUser
Example from store_checkout_plugin.
_sceAppMgrGetDevInfo("ux0:", buffer, resultbuf)
_sceAppMgrGetFgAppInfo
Version |
NID
|
1.69 |
0xAC9968B7
|
3.60 |
0xAC9968B7
|
exported to user by SceDriverUser
_sceAppMgrGetIdByName
Version |
NID
|
1.69 |
0xC311CC17
|
3.60 |
0xC311CC17
|
exported to user by SceDriverUser
_sceAppMgrGetMediaTypeFromDriveByPid
Version |
NID
|
1.69 |
0xC7566C46
|
3.60 |
0xC7566C46
|
exported to user by SceDriverUser
_sceAppMgrGetMediaTypeFromDrive
Version |
NID
|
1.69 |
0xC8D32206
|
3.60 |
0xC8D32206
|
exported to user by SceDriverUser
_sceAppMgrGetMountProcessNum
Version |
NID
|
3.60 |
0x1A844716
|
exported to user by SceDriverUser
_sceAppMgrGetNameById
Version |
NID
|
1.69 |
0x08E93582
|
3.60 |
0x08E93582
|
exported to user by SceDriverUser
_sceAppMgrGetPfsDrive
Version |
NID
|
1.69 |
0x46B208D4
|
3.60 |
0x46B208D4
|
exported to user by SceDriverUser
_sceAppMgrGetPidListForShell
Version |
NID
|
1.69 |
0x29AC9DF0
|
3.60 |
0x29AC9DF0
|
exported to user by SceDriverUser
_sceAppMgrGetRawPathOfApp0ByAppIdForShell
Version |
NID
|
1.69 |
0x7D210054
|
3.60 |
0x7D210054
|
exported to user by SceDriverUser
_sceAppMgrGetRawPathOfApp0ByPidForShell
Version |
NID
|
1.69 |
0x550422F9
|
3.60 |
0x550422F9
|
exported to user by SceDriverUser
_sceAppMgrGetRawPath
Version |
NID
|
1.69 |
0x9FB3E2C8
|
3.60 |
0x9FB3E2C8
|
exported to user by SceDriverUser
Example from silk in 1.80
sceAppMgrGetRawPath(unknown,buffer,0x101);
_sceAppMgrGetRecommendedScreenOrientation
Version |
NID
|
3.60 |
0x37E94672
|
exported to user by SceDriverUser
_sceAppMgrGetRunningAppIdListForShell
Version |
NID
|
3.60 |
0xDA66AE0E
|
exported to user by SceDriverUser
_sceAppMgrGetSaveDataInfoForSpecialExport
Version |
NID
|
3.60 |
0xDC815429
|
exported to user by SceDriverUser
- check auth id SceContentManager(0x280000000000002D)
- check some flag set by SceSblPostSsMgrForDriver (related to utoken_sm.self F00D commands)
- read sealedkey from <path>/sce_sys/sealedkey to restore klicensee
- mount PFS tsXXXXXXXXXXXX: mountpoint to <path> path with mountid 0x3ED
- get ACCOUNT_ID from <path>/sce_sys/param.sfo
struct sceAppMgrGetSaveDataInfoForSpecialExportOpt
{
int reserved1;
int reserved2;
};
int _sceAppMgrGetSaveDataInfoForSpecialExport(char *path, char *account_id, sceAppMgrGetSaveDataInfoForSpecialExportOpt *opt);
_sceAppMgrGetSaveDataInfo
Version |
NID
|
1.69 |
0x6C52A377
|
3.60 |
0x6C52A377
|
exported to user by SceDriverUser
struct sceAppMgrGetSaveDataInfo_res
{
int enum_flag_0;
int enum_flag_4;
int enum_flag_8;
int unkC;
int unk10;
int open_psid_related_14;
int ioctl_related_18;
};
struct sceAppMgrGetSaveDataInfoOpt
{
sceAppMgrGetSaveDataInfo_res *res;
int unk4;
int unk8;
int unkC;
};
int _sceAppMgrGetSaveDataInfo(char *path, char *titleid, int force_mount_ux, sceAppMgrGetSaveDataInfoOpt *opt);
_sceAppMgrGetStatusByAppId
Version |
NID
|
1.69 |
0xBF4213A3
|
3.60 |
0xBF4213A3
|
exported to user by SceDriverUser
Example from store_checkout_plugin.
// example: _sceAppMgrGetStatusByAppId(-2, buffer);
_sceAppMgrGetStatusByAppId(int app_id, char *buffer);
_sceAppMgrGetStatusById
Version |
NID
|
1.69 |
0x211D9558
|
3.60 |
0x211D9558
|
exported to user by SceDriverUser
_sceAppMgrGetStatusByName
Version |
NID
|
1.69 |
0x46998AFC
|
3.60 |
0x46998AFC
|
exported to user by SceDriverUser
Example from store_checkout_plugin.
_sceAppMgrGetStatusByName(0, buffer);
_sceAppMgrGetSystemDataFilePlayReady
Version |
NID
|
3.60 |
7C44FE5D
|
exported to user by SceDriverUser
_sceAppMgrGetUserDirPathById
Version |
NID
|
3.60 |
0x617D78DA
|
exported to user by SceDriverUser
_sceAppMgrGetUserDirPath
Version |
NID
|
1.69 |
0x84B138BF
|
3.60 |
0x84B138BF
|
exported to user by SceDriverUser
_sceAppMgrGetVs0UserDataDrive
Version |
NID
|
1.69 |
0xC361C084
|
3.60 |
0xC361C084
|
exported to user by SceDriverUser
_sceAppMgrGetVs0UserModuleDrive
Version |
NID
|
1.69 |
0x85589E87
|
3.60 |
0x85589E87
|
exported to user by SceDriverUser
_sceAppMgrInitSafeMemoryById
Version |
NID
|
3.60 |
0x03FA4036
|
exported to user by SceDriverUser
_sceAppMgrInstallDirMount
Version |
NID
|
1.69 |
0xED37D810
|
3.60 |
0xED37D810
|
exported to user by SceDriverUser
_sceAppMgrIsCameraActive
Version |
NID
|
1.69 |
0x7F0C9410
|
3.60 |
0x7F0C9410
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByName2ForShell
Version |
NID
|
1.69 |
0xC6BA9596
|
3.60 |
0xC6BA9596
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByName2
Version |
NID
|
1.69 |
0xAEF06983
|
3.60 |
0xAEF06983
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByName2ndStage
Version |
NID
|
1.69 |
0xDEDD2AED
|
3.60 |
0xDEDD2AED
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByNameForShell
Version |
NID
|
1.69 |
0x4C3B5BB8
|
3.60 |
0x4C3B5BB8
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByName
Version |
NID
|
1.69 |
0xDAC0AF12
|
3.60 |
0xDAC0AF12
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByPath4
Version |
NID
|
1.69 |
0x8FE4F651
|
3.60 |
0x8FE4F651
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByUri2
Version |
NID
|
1.69 |
0x4B45EAC0
|
3.60 |
0x4B45EAC0
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByUri
Version |
NID
|
1.69 |
0x37CE3984
|
3.60 |
0x37CE3984
|
exported to user by SceDriverUser
_sceAppMgrLaunchVideoStreamingApp
Version |
NID
|
3.60 |
0x29650EE6
|
exported to user by SceDriverUser
_sceAppMgrLoadExec
Version |
NID
|
1.69 |
0xDC2F23E0
|
3.60 |
0xDC2F23E0
|
exported to user by SceDriverUser
_sceAppMgrLoadSaveDataSystemFile
Version |
NID
|
3.60 |
0xA630BC5D
|
exported to user by SceDriverUser
- check auth id SceShell(0x2800000000000001), fake_package_installer(0x280000000000002E)
- resolve overlay for <path>
- create <path> directory if required
- create <path>/sce_pfs directory if required
- mount PFS to <path> path with mountid 0x3ED
- read <path>/sce_sys/param.sfo
struct sceAppMgrLoadSaveDataSystemFileOpt
{
int reserved1;
int reserved2;
};
int _sceAppMgrLoadSaveDataSystemFile(char *path, int param_sfo_data, int authid_related, sceAppMgrLoadSaveDataSystemFileOpt *opt);
_sceAppMgrLoopBackFormat
Version |
NID
|
1.69 |
0xEA307D2C
|
3.60 |
0xEA307D2C
|
exported to user by SceDriverUser
_sceAppMgrLoopBackMount
Version |
NID
|
1.69 |
0x3493CDFA
|
3.60 |
0x3493CDFA
|
exported to user by SceDriverUser
calls non exported function equal to kernel level of sceAppMgrWorkDirMountById
struct sceAppMgrLoopBackMountOpt
{
int reserved0;
int reserved1;
};
int _sceAppMgrLoopBackMount(int mountId, char *titleId, char *mountPoint, sceAppMgrLoopBackMountOpt *opt);
_sceAppMgrMmsMount
Version |
NID
|
1.69 |
0xE56A2E1B
|
3.60 |
0xE56A2E1B
|
exported to user by SceDriverUser
int _sceAppMgrMmsMount(int mountId, char *mountPoint);
_sceAppMgrOverwriteLaunchParamForShell
Version |
NID
|
1.69 |
0xFDE9A3E3
|
3.60 |
0xFDE9A3E3
|
exported to user by SceDriverUser
_sceAppMgrPeekLaunchParamForShell
Version |
NID
|
1.69 |
0x8CC3DC46
|
3.60 |
0x8CC3DC46
|
exported to user by SceDriverUser
_sceAppMgrPhotoMount
Version |
NID
|
1.69 |
0xE98E9C52
|
3.60 |
0xE98E9C52
|
exported to user by SceDriverUser
struct sceAppMgrPhotoMountParam
{
int size;
char unk4[0x80];
};
struct sceAppMgrPhotoMountOpt
{
int size;
int reserved0;
};
int _sceAppMgrPhotoMount(sceAppMgrPhotoMountParam *param, sceAppMgrPhotoMountOpt *opt);
_sceAppMgrPhotoUmount
Version |
NID
|
1.69 |
0xB2EA376F
|
3.60 |
0xB2EA376F
|
exported to user by SceDriverUser
_sceAppMgrPspSaveDataGetParams
Version |
NID
|
3.60 |
0x77A51E82
|
exported to user by SceDriverUser
_sceAppMgrPspSaveDataRead
Version |
NID
|
3.60 |
0xE535161F
|
exported to user by SceDriverUser
_sceAppMgrPspSaveDataRootMount
Version |
NID
|
3.60 |
0xA77DF8BA
|
exported to user by SceDriverUser
_sceAppMgrReceiveEventNum
Version |
NID
|
1.69 |
0x3EEEC172
|
3.60 |
0x3EEEC172
|
exported to user by SceDriverUser
_sceAppMgrReceiveEvent
Version |
NID
|
1.69 |
0xA90546F4
|
3.60 |
0xA90546F4
|
exported to user by SceDriverUser
_sceAppMgrReceiveNotificationRequestForShell
Version |
NID
|
1.69 |
0x21A86141
|
3.60 |
0x21A86141
|
exported to user by SceDriverUser
_sceAppMgrReceiveShellEvent
Version |
NID
|
1.69 |
0xE0DADF51
|
3.60 |
0xE0DADF51
|
exported to user by SceDriverUser
_sceAppMgrReceiveSystemEvent
Version |
NID
|
1.69 |
0x7240375B
|
3.60 |
0x7240375B
|
exported to user by SceDriverUser
_sceAppMgrSaveDataAddMount
Version |
NID
|
3.60 |
0xD1391ACE
|
exported to user by SceDriverUser
- verify that titleid belongs to one of currently running titleids
- create ux0:/user/XX/savedata_vc/<titleid> or ux0:/user/XX/savedata/<titleid> directory if required
- mount PFS to ux0:/user/XX/savedata_vc/<titleid> or ux0:/user/XX/savedata/<titleid> path with mountid 0x3ED
- read keystone from <mountpoint>:sce_sys/keystone
- verify keystone passcode
int _sceAppMgrSaveDataAddMount(generic_mount_ctx *opt);
_sceAppMgrSaveDataDataRemove2
Version |
NID
|
3.60 |
0x435E0BCB
|
exported to user by SceDriverUser
_sceAppMgrSaveDataDataRemove
Version |
NID
|
1.69 |
0xA579A39E
|
3.60 |
0xA579A39E
|
exported to user by SceDriverUser
_sceAppMgrSaveDataDataSave2
Version |
NID
|
3.60 |
0xFDACCA65
|
exported to user by SceDriverUser
_sceAppMgrSaveDataDataSave
Version |
NID
|
1.69 |
0xB81777B7
|
3.60 |
0xB81777B7
|
exported to user by SceDriverUser
_sceAppMgrSaveDataGetQuota
Version |
NID
|
1.69 |
0xF28A426B
|
3.60 |
0xF28A426B
|
exported to user by SceDriverUser
_sceAppMgrSaveDataMount
Version |
NID
|
1.69 |
0x95A6B1BF
|
3.60 |
0x95A6B1BF
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotCreate
Version |
NID
|
1.69 |
0xC48833AA
|
3.60 |
0xC48833AA
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotDelete
Version |
NID
|
1.69 |
0x191CF6B1
|
3.60 |
0x191CF6B1
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotFileClose
Version |
NID
|
3.60 |
0xFE821175
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotFileGetParam
Version |
NID
|
3.60 |
0x667CC149
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotFileOpen
Version |
NID
|
3.60 |
0x855CDAA4
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotGetParam
Version |
NID
|
1.69 |
0x74D789E2
|
3.60 |
0x74D789E2
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotGetStatus
Version |
NID
|
1.69 |
0xAF8258D4
|
3.60 |
0xAF8258D4
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotInit
Version |
NID
|
1.69 |
0x79689A1D
|
3.60 |
0x79689A1D
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotSetParam
Version |
NID
|
1.69 |
0x0E216486
|
3.60 |
0x0E216486
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotSetStatus
Version |
NID
|
1.69 |
0x030C0CA4
|
3.60 |
0x030C0CA4
|
exported to user by SceDriverUser
_sceAppMgrSaveDataUmount
Version |
NID
|
1.69 |
0x53623420
|
3.60 |
0x53623420
|
exported to user by SceDriverUser
_sceAppMgrSendNotificationRequest
Version |
NID
|
1.69 |
0xF42E27AD
|
3.60 |
0xF42E27AD
|
exported to user by SceDriverUser
_sceAppMgrSendParam
Version |
NID
|
3.60 |
0xD29236AD
|
exported to user by SceDriverUser
_sceAppMgrSendSystemEvent2
Version |
NID
|
1.69 |
0xD70D5EEC
|
3.60 |
0xD70D5EEC
|
exported to user by SceDriverUser
_sceAppMgrSendSystemEvent
Version |
NID
|
1.69 |
0xCEAF12B6
|
3.60 |
0xCEAF12B6
|
exported to user by SceDriverUser
Example from store_checkout_plugin.
_sceAppMgrSendSystemEvent(0, 0x10000006);
_sceAppMgrSendSystemEvent(0, 0x10000004);
_sceAppMgrSetBackRenderPortOwner
Version |
NID
|
1.69 |
0xE8357021
|
3.60 |
0xE8357021
|
exported to user by SceDriverUser
_sceAppMgrSetBgmProxyApp
Version |
NID
|
1.69 |
0xF6B093BC
|
3.60 |
0xF6B093BC
|
exported to user by SceDriverUser
_sceAppMgrSetNetworkDisconnectionWarningDialogState
Version |
NID
|
3.60 |
0xD4B0CDB4
|
exported to user by SceDriverUser
_sceAppMgrSetPowerSaveMode
Version |
NID
|
1.69 |
0xB0ECB9C2
|
3.60 |
0xB0ECB9C2
|
exported to user by SceDriverUser
_sceAppMgrSetRecommendedScreenOrientationForShell
Version |
NID
|
3.60 |
0xD14D39F5
|
exported to user by SceDriverUser
_sceAppMgrSetShellScreenOrientation
Version |
NID
|
3.60 |
0x10E23253
|
exported to user by SceDriverUser
_sceAppMgrSetSystemDataFilePlayReady
Version |
NID
|
3.60 |
0x8964E793
|
exported to user by SceDriverUser
_sceAppMgrSetSystemDataFile
Version |
NID
|
3.60 |
0x78F5AF66
|
exported to user by SceDriverUser
_sceAppMgrSystemParamDateTimeGetConf
Version |
NID
|
1.69 |
0xB7F95389
|
3.60 |
0xB7F95389
|
exported to user by SceDriverUser
_sceAppMgrSystemParamGetInt
Version |
NID
|
3.60 |
0x18EB1DAC
|
exported to user by SceDriverUser
_sceAppMgrSystemParamGetString
Version |
NID
|
1.69 |
0xAF5F9497
|
3.60 |
0xAF5F9497
|
exported to user by SceDriverUser
_sceAppMgrThemeDataMount
Version |
NID
|
3.60 |
0xD9B7A5AF
|
exported to user by SceDriverUser
- check authid SceShell(0x2800000000000001), SceSettings (0x2800000000000010)
- read ux0:theme/<titleid>/sce_sys/param.sfo or <theme_path>/<titleid>/sce_sys/param.sfo
- get ac category titleid
- get klicensee from rif (from fixed name at path ux0:license/theme/<titleid> or from <rif_file_path>)
- check ux0:theme/<titleid>/sce_sys/package/head.bin vs ux0:theme/<titleid>/sce_sys/clearsign or <theme_path>/<titleid>/sce_sys/package/head.bin vs <theme_path>/<titleid>/sce_sys/clearsign
- mount PFS tmXXXXXXXXXXXd: mountpoint to ux0:theme/<titleid> or <theme_path>/<titleid> path with mountid 0x3EC and ac category titleid
struct sceAppMgrThemeDataMountOpt
{
char *mount_point;
int reserved0;
int reserved1;
int reserved2;
int reserved3;
int reserved4;
};
int _sceAppMgrThemeDataMount(const char *titleid, const char *theme_path, const char *rif_file_path, sceAppMgrThemeDataMountOpt *opt);
_sceAppMgrTrophyMountById
Version |
NID
|
1.69 |
0x3DFC9410
|
3.60 |
0x3DFC9410
|
exported to user by SceDriverUser
calls non exported function equal to kernel level of sceAppMgrWorkDirMountById
struct sceAppMgrTrophyMountByIdOpt
{
int reserved0;
int reserved1;
};
int _sceAppMgrTrophyMountById(int mountId, char *titleId, char *mountPoint, sceAppMgrTrophyMountByIdOpt *opt);
_sceAppMgrTrophyMount
Version |
NID
|
1.69 |
0xF8B80AC2
|
3.60 |
0xF8B80AC2
|
exported to user by SceDriverUser
int _sceAppMgrTrophyMount(int mountId, SceUID pid, char *mountPoint);
_sceAppMgrUmountByPid
Version |
NID
|
1.69 |
0x0A419BC8
|
3.60 |
0x0A419BC8
|
exported to user by SceDriverUser
_sceAppMgrUmount
Version |
NID
|
1.69 |
0xFFCA54E0
|
3.60 |
0xFFCA54E0
|
Exported to user by SceDriverUser.
This is the unmount command for the mount point created with _sceAppMgrWorkDirMount.
This unmount command is also called in pair with _sceAppMgrGameDataMount from SceShell.
// max size of mount_point is 0x10 bytes including null
int _sceAppMgrUmount(const char *mount_point);
_sceAppMgrUpdateSaveDataParam
Version |
NID
|
1.69 |
0xF4703412
|
3.60 |
0xF4703412
|
exported to user by SceDriverUser
_sceAppMgrWorkDirMountById
Version |
NID
|
1.69 |
0x58E4CC90
|
3.60 |
0x58E4CC90
|
exported to user by SceDriverUser
only valid appmgr mount ids are: 0xCD
and 0xCF
_sceAppMgrWorkDirMount
Version |
NID
|
1.69 |
0x0C49659E
|
3.60 |
0x0C49659E
|
exported to user by SceDriverUser
Example from store_checkout_plugin.
This creates a mount point that can be used as a filesystem. The known working values for arg1 are 0xC8, 0xC9, 0xCB, 0xCC and 0xCE.
_sceAppMgrWorkDirMount(0xCC, buffer);
Example from sqlite_vsh.
_sceAppMgrWorkDirMount(0xC8, buffer);
sceAppMgrAcquireBgmPortForMusicPlayer
Version |
NID
|
1.69 |
0x44EC36FA
|
3.60 |
0x44EC36FA
|
sceAppMgrAcquireBgmPortWithPriority
Version |
NID
|
1.69 |
0xAAED7419
|
3.60 |
0xAAED7419
|
sceAppMgrAcquireBgmPort
Version |
NID
|
1.69 |
0xAFCEAB96
|
3.60 |
0xAFCEAB96
|
sceAppMgrAcquireBtrm
Version |
NID
|
1.69 |
0xD752695D
|
3.60 |
0xD752695D
|
sceAppMgrAcquireSoundOutExclusive2
Version |
NID
|
1.69 |
0xB9365442
|
3.60 |
0xB9365442
|
sceAppMgrAcquireSoundOutExclusive
Version |
NID
|
1.69 |
0xACB48075
|
3.60 |
0xACB48075
|
sceAppMgrActivateApp
Version |
NID
|
1.69 |
0x43631508
|
3.60 |
0x43631508
|
appid is AppId
int sceAppMgrActivateApp(int appid);
sceAppMgrDeactivateApp
Version |
NID
|
1.69 |
0xFFA093D9
|
3.60 |
0xFFA093D9
|
sceAppMgrDeclareSystemChatApp
Version |
NID
|
1.69 |
0x77EE891D
|
3.60 |
0x77EE891D
|
sceAppMgrDestroyAppByAppId
Version |
NID
|
1.69 |
0x54368A0B
|
3.60 |
0x54368A0B
|
sceAppMgrDestroyOtherAppByAppIdForShell
Version |
NID
|
1.69 |
0xDC70C5F7
|
3.60 |
0xDC70C5F7
|
sceAppMgrDestroyOtherAppByPidForShell
Version |
NID
|
1.69 |
0x5420D23C
|
3.60 |
0x5420D23C
|
sceAppMgrDestroyOtherApp
Version |
NID
|
1.69 |
0x3EF143BF
|
3.60 |
0x3EF143BF
|
sceAppMgrDump
Version |
NID
|
1.69 |
0x527795E8
|
3.60 |
0x527795E8
|
sceAppMgrEnableCoredumpForTest
Version |
NID
|
1.69 |
0x32FD0B99
|
3.60 |
0x32FD0B99
|
sceAppMgrEnableDuckingOnSystemChat
Version |
NID
|
1.69 |
0x5AB230DE
|
3.60 |
0x5AB230DE
|
sceAppMgrEnablePrioritizingSystemChat
Version |
NID
|
1.69 |
0x3E1FAB92
|
3.60 |
0x3E1FAB92
|
sceAppMgrExitToLiveboardForGameApp
Version |
NID
|
1.69 |
0x89D1DA55
|
3.60 |
0x89D1DA55
|
sceAppMgrFinishCoredumpForShell
Version |
NID
|
1.69 |
0x52FF63D1
|
3.60 |
0x52FF63D1
|
sceAppMgrGetAppIdByAppId
Version |
NID
|
1.69 |
0x332C9D98
|
3.60 |
0x332C9D98
|
Version |
NID
|
3.60 |
0x94A722BC
|
sceAppMgrGetProcessIdByAppIdForShell
Version |
NID
|
1.69 |
0x63FAC2A9
|
3.60 |
0x63FAC2A9
|
sceAppMgrGetSystemDataFile
Version |
NID
|
1.69 |
0xAEC49533
|
3.60 |
0xAEC49533
|
sceAppMgrGrowMemory3
Version |
NID
|
3.60 |
0x4401EDCD
|
sceAppMgrGrowMemory
Version |
NID
|
1.69 |
0x842FCE8C
|
3.60 |
0x842FCE8C
|
sceAppMgrIsDevelopmentMode
Version |
NID
|
1.69 |
0x7D4F8F83
|
3.60 |
0x7D4F8F83
|
sceAppMgrIsGameBudgetAppPresent
Version |
NID
|
1.69 |
0xE134F5A0
|
3.60 |
0xE134F5A0
|
sceAppMgrIsGameProgram
Version |
NID
|
1.69 |
0xFFF8F7F0
|
3.60 |
0xFFF8F7F0
|
sceAppMgrIsNonGameProgram
Version |
NID
|
3.60 |
0x5F22E192
|
sceAppMgrIsOtherAppPresent
Version |
NID
|
1.69 |
0x371F6F81
|
3.60 |
0x371F6F81
|
sceAppMgrIsPidShellAndCrashed
Version |
NID
|
3.60 |
0xC648EA9B
|
sceAppMgrIsPsNowClient
Version |
NID
|
3.60 |
0x972EA7BA
|
sceAppMgrLaunchAppCancel
Version |
NID
|
1.69 |
0x5369BC0A
|
3.60 |
0x5369BC0A
|
sceAppMgrLoadSafeMemory
Version |
NID
|
1.69 |
0xFAF3DAAA
|
3.60 |
0xFAF3DAAA
|
sceAppMgrNotifyLiveBoardModeForShell
Version |
NID
|
1.69 |
0x389F048D
|
3.60 |
0x389F048D
|
sceAppMgrQuitApp
Version |
NID
|
1.69 |
0x0DD747FB
|
3.60 |
0x0DD747FB
|
sceAppMgrQuitForNonSuspendableApp
Version |
NID
|
1.69 |
0xE3F719A0
|
3.60 |
0xE3F719A0
|
sceAppMgrReceiveShellEventNum
Version |
NID
|
1.69 |
0xFB67BABD
|
3.60 |
0xFB67BABD
|
sceAppMgrReleaseBgmPort
Version |
NID
|
1.69 |
0xF3717E37
|
3.60 |
0xF3717E37
|
sceAppMgrReleaseBtrm
Version |
NID
|
1.69 |
0xACDCE4DB
|
3.60 |
0xACDCE4DB
|
sceAppMgrReleaseSoundOutExclusive2
Version |
NID
|
1.69 |
0x2BB68701
|
3.60 |
0x2BB68701
|
sceAppMgrReleaseSoundOutExclusive3
Version |
NID
|
3.60 |
0x626C339D
|
sceAppMgrReleaseSoundOutExclusive
Version |
NID
|
1.69 |
0x3BA41199
|
3.60 |
0x3BA41199
|
sceAppMgrRestoreBgmSettingForShell
Version |
NID
|
1.69 |
0xD9BCC50C
|
3.60 |
0xD9BCC50C
|
sceAppMgrRestoreDisplaySettingForShell
Version |
NID
|
1.69 |
0xE455922D
|
3.60 |
0xE455922D
|
sceAppMgrResumeBgAppByShell
Version |
NID
|
3.60 |
0x64DD4321
|
sceAppMgrReturnLiveAreaOperationResultForShell
Version |
NID
|
3.60 |
0x5CF3BA39
|
sceAppMgrSaveDataGetCachedRequiredSizeKiB
Version |
NID
|
3.60 |
0x56EDE09A
|
sceAppMgrSaveSafeMemory
Version |
NID
|
1.69 |
0xD366AA44
|
3.60 |
0xD366AA44
|
sceAppMgrSendLiveBoardMode
Version |
NID
|
1.69 |
0x3E4AC082
|
3.60 |
0x3E4AC082
|
sceAppMgrSetAppProtectionModeOnMemoryShortage
Version |
NID
|
1.69 |
0xAF8C7FFB
|
3.60 |
0xAF8C7FFB
|
sceAppMgrSetBgmSubPriorityForSystemChat
Version |
NID
|
1.69 |
0x90E42B4D
|
3.60 |
0x90E42B4D
|
sceAppMgrSetBgmSubPriority
Version |
NID
|
1.69 |
0x7333C2F1
|
3.60 |
0x7333C2F1
|
sceAppMgrSetDisplayMergeConf
Version |
NID
|
3.60 |
0x0789D501
|
sceAppMgrSetFakeSettingBug51800
Version |
NID
|
3.60 |
0xF46C81F3
|
sceAppMgrSetInfobarStateForCommonDialog
Version |
NID
|
1.69 |
0xD6758B4E
|
3.60 |
0xD6758B4E
|
sceAppMgrSetInfobarStateForShellByAppId
Version |
NID
|
1.69 |
0xF7DFE96E
|
3.60 |
0xF7DFE96E
|
sceAppMgrSetInfobarState
Version |
NID
|
1.69 |
0xAD9022A1
|
3.60 |
0xAD9022A1
|
sceAppMgrSetRecommendedScreenOrientationActivated
Version |
NID
|
3.60 |
0x75876896
|
sceAppMgrSetSystemImposeState2
Version |
NID
|
3.60 |
0x2163759A
|
sceAppMgrSetSystemImposeState
Version |
NID
|
1.69 |
0xD16B91B5
|
3.60 |
0xD16B91B5
|
sceAppMgrSuspendBgAppByShell
Version |
NID
|
3.60 |
0x5BCF6927
|
sceAppMgrSuspendUntilActivated
Version |
NID
|
1.69 |
0xECEC7F90
|
3.60 |
0xECEC7F90
|
_sceAppMgrCaptureFrameBuf
Version |
NID
|
1.69 |
0xFA21A020
|
3.60 |
NOT PRESENT
|
_sceAppMgrCaptureFrameBufByAppId
Version |
NID
|
1.69 |
0xD3787750
|
3.60 |
NOT PRESENT
|
_sceAppMgrCaptureFrameBufDMAC
Version |
NID
|
1.69 |
0x34170882
|
3.60 |
NOT PRESENT
|
_sceAppMgrCaptureFrameBufIFTU
Version |
NID
|
1.69 |
0x4799F0F7
|
3.60 |
NOT PRESENT
|
_sceAppMgrCheckSaveDataMounted
Version |
NID
|
1.69 |
0x947A95CA
|
3.60 |
NOT PRESENT
|
_sceAppMgrGameDataMountWithPatch
Version |
NID
|
1.69 |
0x7A239EDC
|
3.60 |
NOT PRESENT
|
_sceAppMgrGetParam
Version |
NID
|
1.69 |
0x5FF430E8
|
3.60 |
NOT PRESENT
|
Example from webcore.
// example: _sceAppMgrGetParam(-2, buffer);
_sceAppMgrGetParam(int id, char *buffer);
_sceAppMgrSendEvent
Version |
NID
|
1.69 |
0x5432E51D
|
3.60 |
NOT PRESENT
|
_sceAppMgrReleaseSoundOutExclusive3
Version |
NID
|
1.69 |
0x82C924AD
|
3.60 |
NOT PRESENT
|
sceAppMgrDestroyApp
Version |
NID
|
1.69 |
0xD18F8DDD
|
3.60 |
NOT PRESENT
|
sceAppMgrGetActivateApp
Version |
NID
|
1.69 |
0x4C1183C2
|
3.60 |
NOT PRESENT
|
sceAppMgrGrowMemory2
Version |
NID
|
1.69 |
0xE4CE2CB5
|
3.60 |
NOT PRESENT
|
sceAppMgrInfoBarClose
Version |
NID
|
1.69 |
0x9A60BED4
|
3.60 |
NOT PRESENT
|
sceAppMgrInfoBarOpen
Version |
NID
|
1.69 |
0x97B80C01
|
3.60 |
NOT PRESENT
|
sceAppMgrSetEnablePrioritizeSystemChat
Version |
NID
|
1.69 |
0xD4078CC0
|
3.60 |
NOT PRESENT
|
sceAppMgrSetInfobarStateForShellByPid
Version |
NID
|
1.69 |
0xA3314B2B
|
3.60 |
NOT PRESENT
|
SceSharedFb
_sceSharedFbOpen
Version |
NID
|
1.69 |
0xB358E1B6
|
3.60 |
0xB358E1B6
|
sceSharedFbBegin
Version |
NID
|
1.69 |
0x72067C6B
|
3.60 |
0x72067C6B
|
sceSharedFbClose
Version |
NID
|
1.69 |
0x33DA3428
|
3.60 |
0x33DA3428
|
sceSharedFbCreate
Version |
NID
|
1.69 |
0xD6C643B5
|
3.60 |
0xD6C643B5
|
sceSharedFbDelete
Version |
NID
|
1.69 |
0xBE5A1A81
|
3.60 |
0xBE5A1A81
|
sceSharedFbEnd
Version |
NID
|
1.69 |
0xFC5A62B6
|
3.60 |
0xFC5A62B6
|
sceSharedFbGetInfo
Version |
NID
|
1.69 |
0x819954FB
|
3.60 |
0x819954FB
|
sceSharedFbGetRenderingInfo
Version |
NID
|
1.69 |
0x61FEEDFA
|
3.60 |
0x61FEEDFA
|
sceSharedFbGetShellRenderPort
Version |
NID
|
1.69 |
0xAC49FC1D
|
3.60 |
0xAC49FC1D
|
sceSharedFbUpdateProcessBegin
Version |
NID
|
1.69 |
0xF9754AD9
|
3.60 |
0xF9754AD9
|
sceSharedFbUpdateProcessEnd
Version |
NID
|
1.69 |
0x565A9AB6
|
3.60 |
0x565A9AB6
|
sceSharedFbUpdateProcess
Version |
NID
|
1.69 |
0x3889ACF8
|
3.60 |
0x3889ACF8
|
sceSharedFbSetShellRenderPort
Version |
NID
|
1.69 |
0x0B81B10F
|
3.60 |
NOT PRESENT
|
sceSharedFbSetRenderingOrderForTest
Version |
NID
|
1.69 |
0x0D2B21AE
|
3.60 |
NOT PRESENT
|
SceSharedFbForDriver