RO services: Difference between revisions
fixup ro command names |
|||
(One intermediate revision by one other user not shown) | |||
Line 12: | Line 12: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || [[# | | 0 || [[#MapManualLoadModuleMemory]] | ||
|- | |- | ||
| 1 || [[# | | 1 || [[#UnmapManualLoadModuleMemory]] | ||
|- | |- | ||
| 2 || [[#RegisterModuleInfo]] | | 2 || [[#RegisterModuleInfo]] | ||
Line 20: | Line 20: | ||
| 3 || [[#UnregisterModuleInfo]] | | 3 || [[#UnregisterModuleInfo]] | ||
|- | |- | ||
| 4 || [[# | | 4 || [[#RegisterProcessHandle]] | ||
|- | |- | ||
| 10 || [7.0.0+] [[# | | 10 || [7.0.0+] [[#RegisterModuleInfoWithUserProcessHandle]] | ||
|} | |} | ||
== | == MapManualLoadModuleMemory == | ||
Takes a PID-descriptor and 4 input u64s ('''nro_address''', '''nro_size''', '''bss_address''' and '''bss_size'''). Returns an output u64 ('''out_address'''). | Takes a PID-descriptor and 4 input u64s ('''nro_address''', '''nro_size''', '''bss_address''' and '''bss_size'''). Returns an output u64 ('''out_address'''). | ||
== | == UnmapManualLoadModuleMemory == | ||
Takes a PID-descriptor and an input u64 ('''nro_address'''). | Takes a PID-descriptor and an input u64 ('''nro_address'''). | ||
Line 39: | Line 39: | ||
Takes a PID-descriptor and an input u64s ('''nrr_address'''). | Takes a PID-descriptor and an input u64s ('''nrr_address'''). | ||
== | == RegisterProcessHandle == | ||
Takes PID-descriptor and a process handle. | Takes PID-descriptor and a process handle. | ||
== | == RegisterModuleInfoWithUserProcessHandle == | ||
Takes a PID-descriptor, a process handle and 2 input u64s ('''nrr_address''' and '''nrr_size'''). | Takes a PID-descriptor, a process handle and 2 input u64s ('''nrr_address''' and '''nrr_size'''). | ||
First, this validates that the pid descriptor matches the pid for the process handle sent to this->Initialize() earlier. Then, this calls the same function as | First, this validates that the pid descriptor matches the pid for the process handle sent to this->Initialize() earlier. Then, this calls the same function as [[#RegisterModuleInfo|RegisterModuleInfo]], except using the passed process handle instead of the one sent to Initialize. | ||
When called from an ro:1 session, [[NRR|NrrKind]] must be 1 (JitPlugin). When called from ldr:ro session, [[NRR|NrrKind]] must be 0 (User). | When called from an ro:1 session, [[NRR|NrrKind]] must be 1 (JitPlugin). When called from ldr:ro session, [[NRR|NrrKind]] must be 0 (User). |