svc: Enable svcQueryProcessMemory
svcQueryProcessMemory is trivial to implement, given all the behavior necessary for it is present, it just needs a handler for it.
This commit is contained in:
parent
09a219d5b4
commit
b79f086613
2 changed files with 6 additions and 1 deletions
|
@ -1912,7 +1912,7 @@ static const FunctionDef SVC_Table[] = {
|
||||||
{0x73, nullptr, "SetProcessMemoryPermission"},
|
{0x73, nullptr, "SetProcessMemoryPermission"},
|
||||||
{0x74, nullptr, "MapProcessMemory"},
|
{0x74, nullptr, "MapProcessMemory"},
|
||||||
{0x75, nullptr, "UnmapProcessMemory"},
|
{0x75, nullptr, "UnmapProcessMemory"},
|
||||||
{0x76, nullptr, "QueryProcessMemory"},
|
{0x76, SvcWrap<QueryProcessMemory>, "QueryProcessMemory"},
|
||||||
{0x77, nullptr, "MapProcessCodeMemory"},
|
{0x77, nullptr, "MapProcessCodeMemory"},
|
||||||
{0x78, nullptr, "UnmapProcessCodeMemory"},
|
{0x78, nullptr, "UnmapProcessCodeMemory"},
|
||||||
{0x79, nullptr, "CreateProcess"},
|
{0x79, nullptr, "CreateProcess"},
|
||||||
|
|
|
@ -130,6 +130,11 @@ void SvcWrap() {
|
||||||
func(Param(0), Param(1), static_cast<u32>(Param(3)), static_cast<u32>(Param(3))).raw);
|
func(Param(0), Param(1), static_cast<u32>(Param(3)), static_cast<u32>(Param(3))).raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <ResultCode func(u64, u64, u32, u64)>
|
||||||
|
void SvcWrap() {
|
||||||
|
FuncReturn(func(Param(0), Param(1), static_cast<u32>(Param(2)), Param(3)).raw);
|
||||||
|
}
|
||||||
|
|
||||||
template <ResultCode func(u32, u64, u32)>
|
template <ResultCode func(u32, u64, u32)>
|
||||||
void SvcWrap() {
|
void SvcWrap() {
|
||||||
FuncReturn(func(static_cast<u32>(Param(0)), Param(1), static_cast<u32>(Param(2))).raw);
|
FuncReturn(func(static_cast<u32>(Param(0)), Param(1), static_cast<u32>(Param(2))).raw);
|
||||||
|
|
Loading…
Reference in a new issue