Services: Difference between revisions

Ichfly (talk | contribs)
No edit summary
Line 28: Line 28:
| This returns the notificationID which was triggered, if any(see GetProcSemaphore).
| This returns the notificationID which was triggered, if any(see GetProcSemaphore).
|}
|}
==Service Manager Process-Manager Port "srv:pm"==
{| class="wikitable" border="1"
|-
!  Command Header, prior to [[7.0.0-13]]
!  Description
|-
| 0x04030082
| (u32 procid, u32 wordsz, <nowiki>((wordsz<<16) | 2)</nowiki>, serviceaccesscontrol*) Register.
|-
| 0x04040040
| (u32 procid) Unregister.
|}
The Register command registers a process with the service-manager, which includes registering the serviceaccesscontrol for the process which normally originates from the [[NCCH/Extended_Header|exheader]].
Prior to to [[7.0.0-13]], the commands listed for "srv:" were also accessible under this port with the same command-headers. Starting with [[7.0.0-13]], the commandIDs for these "srv:pm" commands were changed. "srv:pm" was originally vulnerable, this was fixed with [[7.0.0-13]], see [[3DS_exploits|here]]. Originally any process could use "srv:pm", however starting with [[7.0.0-13]] this was restricted to a maximum of 1 session. The only system title which uses "srv:pm" is the [[Process_Manager_Services|Process Manager]].


==Notifications==
==Notifications==