SceProcessmgr: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
Line 734: Line 734:
|-
|-
| 0.990 || 0xCF71D9DD
| 0.990 || 0xCF71D9DD
|}
=== sceKernelSetProcessSelfAuthInfoForKernel ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.990 || 0x5ABA2772
|}
|}



Revision as of 23:39, 11 February 2019

Module

Known NIDs

Version Name World Privilege NID
1.69 SceProcessmgr Non-secure Kernel 0xF019E1DA
3.57 SceProcessmgr Non-secure Kernel 0x19A9C477
3.60 SceProcessmgr Non-secure Kernel 0x8B8A6263

Libraries

Known NIDs

Version Name World Visibility NID
1.69-3.60 SceProcessmgr Non-secure User 0x2DD91812
1.69-3.60 SceProcessmgrForDriver Non-secure Kernel 0x746EC971
1.69-3.60 SceProcessmgrForKernel Non-secure Kernel 0x7A69DE86

Types

Budget types:

  • 0x2010001 : mini application process
  • 0x10030103: kernel process

SceProcessmgr

sceKernelLibcTime

Version NID
1.69 0x0039BE45
3.60 0x0039BE45

sceKernelGetProcessTitleId

Version NID
1.69 0x03A48771
3.60 0x03A48771

sceKernelGetProcessName

Version NID
1.69 0x10C52C95
3.60 0x10C52C95

sceKernelIsCDialogAvailable

Version NID
1.69 0x143BC4D6
3.60 0x143BC4D6

sceKernelPowerTick

Version NID
1.69 0x2252890C
3.60 0x2252890C

sceKernelGetProcessParam

Version NID
1.69 0x2BE3E066
3.60 0x2BE3E066

_sceKernelGetTimer5Reg

Version NID
1.69 0x2F73D72F
3.60 0x2F73D72F

sceKernelPowerUnlock

Version NID
1.69 0x466C0CBD
3.60 0x466C0CBD

sceKernelLibcGettimeofday

Version NID
1.69 0x4B879059
3.60 0x4B879059

_sceKernelRegisterLibkernelAddresses

Version NID
1.69 0x56C2E8FF
3.60 0x56C2E8FF

sceKernelRegisterProcessTerminationCallback

Version NID
1.69 0x5EC77870
3.60 0x5EC77870

sceKernelPowerLock

Version NID
1.69 0x7AA73378
3.60 0x7AA73378

sceKernelGetProcessTimeWideCore

Version NID
1.69 0x89DA0967
3.60 0x89DA0967

sceKernelUnregisterProcessTerminationCallback

Version NID
1.69 0x973A4527
3.60 0x973A4527

sceKernelLibcClock

Version NID
1.69 0x9E45DA09
3.60 0x9E45DA09

_sceKernelExitProcessForUser

Version NID
1.69 0xC053DC6B
3.60 0xC053DC6B

sceKernelGetStdin

Version NID
1.69 0xC1727F59
3.60 0xC1727F59

sceKernelGetCurrentProcess

Version NID
1.69 0xCD248267
3.60 0xCD248267

Wrapper to sceKernelGetProcessIdForDriver.

Returns the process ID.

SceUID sceKernelGetCurrentProcess(void);

sceKernelIsGameBudget

Version NID
1.69 0xCE0F02F0
3.60 0xCE0F02F0

sceKernelGetProcessTimeCore

Version NID
1.69 0xD37A8437
3.60 0xD37A8437

sceKernelGetStdout

Version NID
1.69 0xE5AA625C
3.60 0xE5AA625C

sceKernelGetRemoteProcessTime

Version NID
1.69 0xE6E9FCA3
3.60 0xE6E9FCA3

sceKernelCallAbortHandler

Version NID
1.69 0xEB6E50BB
3.60 0xEB6E50BB

sceKernelGetProcessTimeLowCore

Version NID
1.69 0xF5D0D4C6
3.60 0xF5D0D4C6

sceKernelGetStderr

Version NID
1.69 0xFA5E3ADA
3.60 0xFA5E3ADA

sceKernelCDialogSessionClose

Version NID
3.60 0xDB4CC1D0

sceKernelCDialogSetLeaseLimit

Version NID
3.60 0xEC8DDAAD

sceKernelGetExtraTty

Version NID
3.60 0x2D635A00

sceKernelLibcGmtime_r

Version NID
3.60 0xBCA437CD

sceKernelLibcLocaltime_r

Version NID
3.60 0x94F041ED

sceKernelLibcMktime

Version NID
3.60 0x890BDC39

SceProcessmgrForDriver

sceKernelSetProcessStatusForDriver

Version NID
0.990-3.60 0x1D0F3185

sceKernelGetProcessInfoForDriver

Version NID
0.990-3.68 0x0AFF3EAE

Retrieves process info.

typedef struct SceKernelProcessInfo {
	SceSize size;           //!< size of this struct, make sure it's 0xE8
	SceUID pid;             //!< our process ID
	int unk1;
	int unk2;
	int unk3;
	SceUID ppid;            //!< parent process ID
	int unk[0xE8 / 4 - 6];  //!< the rest is unknown
} SceKernelProcessInfo;

int sceKernelGetProcessInfoForDriver(SceUID pid, SceKernelProcessInfo *info);

sceKernelGetProcessStatusForDriver

Version NID
0.990-3.60 0x65B120B8

This function queries the status of a given process. Davee is unsure what exactly the bits represent. It seems 0x10 is related to suspension status, but he's not confident in that assumption.

/**
 * @brief       Get the status of a given process.
 * @param[in]   pid The process ID to query.
 * @param[out]  status The bit field status of the process.
 * @return      Zero on success, < 0 on error.
 */
int sceKernelGetProcessStatusForDriver(SceUID pid, int *status);

sceKernelGetProcessTimeLowCoreForDriver

Version NID
3.60 0x02179E12

sceKernelGetProcessTimeWideCoreForDriver

Version NID
3.60 0x82D94BE9

sceKernelGetProcessTimeCoreForDriver

Version NID
3.60 0xEC283166

sceKernelRegisterKPLSForDriver

Version NID
0.940-3.60 0x3801D7D6

Temp name was sceKernelCreateProcessLocalStorageForDriver.

int sceKernelRegisterKPLSForDriver(const char *name, int size);

sceKernelGetProcessLocalStorageAddrForDriver

Version NID
3.60 0xEE694840
void *sceKernelGetProcessLocalStorageAddrForDriver(int key);

sceKernelGetRemoteKPLSForDriver

Version NID
0.940-3.68 0xAF80F39C

Temp name was sceKernelGetPidProcessLocalStorageAddrForDriver.

This functions gets Remote Kernel Process Local Storage.

int sceKernelGetRemoteKPLSForDriver(SceUID pid, int key, unsigned int *out_addr, int create_if_doesnt_exist);

sceKernelGetRemoteProcessTimeForDriver

Version NID
3.60 0xC074EB31

sceKernelIsCDialogAvailableForDriver

Version NID
3.60 0x2F6020B7

sceKernelIsGameBudgetForDriver

Version NID
3.60 0xF7A8BB25

SceProcessmgrForKernel

sceKernelCreateProcessForKernel

Version NID
0.990-3.60 0x71CF71FD

Temp name was sceKernelLaunchAppForKernel.

/**
 * @brief       Launch an application
 * @param[in]   titleid The TitleId of the app to open.
 * @param[in]   flags Some unknown flags.
 * @param[in]   path Path of the eboot.bin to launch.
 * @param[in]   unk Unknown.
 * @return      PID of the launched app on success, < 0 on error.
 */
SceUID sceKernelCreateProcessForKernel(char* titleid, uint32_t flags, char *path, uint32_t unk);

sceKernelGetProcessKernelBufForKernel

Version NID
3.60 0xB9E68092
void* sceKernelGetProcessKernelBufForKernel(int pid);

Gets the process privileged only buffer.

sceKernelGetProcessMainThreadForDebugger

Version NID
0.990-3.60 0x95F9ED94
/**
 * @brief       Get the main thread for a given process.
 * @param[in]   pid The process id to query for.
 * @return      The thread UID on success, else < 0 on error.
 */
SceUID sceKernelGetProcessMainThreadForDebugger(SceUID pid);

sceKernelSuspendProcessForKernel

Version NID
3.60 0x6AECE4CD
/**
 * @brief       Suspend a running process.
 * @param[in]   pid The process to suspend.
 * @return      Zero on success, < 0 on error.
 */
int sceKernelSuspendProcessForKernel(SceUID pid);

sceKernelProcessDebugResumeForKernel

Version NID
0.990-3.60 0x080CDC59

Temp name was sceKernelResumeProcessForKernel.

/**
 * @brief       Resume a suspended process.
 * @param[in]   pid The process to resume.
 * @return      Zero on success, < 0 on error.
 */
int sceKernelProcessDebugResumeForKernel(SceUID pid);

sceKernelExitProcessForKernel

Version NID
3.60 0x4CA7DC42
sceKernelExitProcessForKernel(SceUID maybe_pid_or_res);

sceKernelGetSelfAuthInfoForKernel

Version NID
3.60 0xE4C83B0D

SceSelfAuthInfo type is described in sceSysrootGetSelfAuthInfoForKernel.

Calling this function is one way to obtain klicensee and program-authority-id.

int sceKernelGetSelfAuthInfoForKernel(SceUID pid, SceSelfAuthInfo *self_auth_info);

sceKernelLibcTimeForKernel

Version NID
3.60 0x9E38C556

sceKernelLibcGettimeofdayForKernel

Version NID
3.60 0xDE8B8B5E

sceKernelGetClassForUidForKernel

Version NID
3.60 0xC6820972
SceClass* sceKernelGetClassForUidForKernel(SceUID pid);

sceKernelSpawnProcessExtForKernel

Version NID
0.990-3.60 0x8F320D2B

sceKernelGetBudgetInfoForDebugger

Version NID
0.990-3.60 0xF3C4A83B

sceKernelKillProcessForDebugger

Version NID
0.990-3.60 0x90C27779
int sceKernelKillProcessForDebugger(SceUID pid);

sceKernelKillProcessForKernel

Version NID
0.990-3.60 0xA1071106
int sceKernelKillProcessForKernel(SceUID pid, int unk_bool);

sceKernelGetMMUL1InfoForKernel

Version NID
0.990 0xC526C6F2

sceKernelWaitProcessEndForKernel

Version NID
0.990-3.60 0x0EE2658E

sceKernelGetPHWPForKernel

Version NID
0.990-3.60 0xC55BF6C3

sceKernelGetProcessAppForKernel

Version NID
0.990-3.60 0x34FA9645
int sceKernelGetProcessAppForKernel(SceUID pid, int a2, int a3, void *a4);

sceKernelGetProcessParentIdForKernel

Version NID
0.990-3.60 0x3C4D2889
// returns the parent process PID
int sceKernelGetProcessParentIdForKernel(SceUID pid);

sceKernelStartProcessExtForKernel

Version NID
0.990-3.60 0x36728B16

sceKernelSuspendProcessForDebugger

Version NID
0.990-3.60 0x234A80B6
int sceKernelSuspendProcessForDebugger(SceUID pid);

sceKernelSuspendProcessForKernel

Version NID
0.990-3.60 0xCF83C23B
int sceKernelSuspendProcessForKernel(SceUID pid, void* option);

sceKernelGetProcessImageForDebugger

Version NID
0.990 0xCF71D9DD

sceKernelSetProcessSelfAuthInfoForKernel

Version NID
0.990 0x5ABA2772

To find

  • sceKernelPermitProcEvent
  • sceKernelInhibitProcEvent