| 64 | } |
| 65 | |
| 66 | void GetBase() { |
| 67 | if (NT_SUCCESS(PsLookupProcessByProcessId((HANDLE)process::target_pid, &process::target_process))) { |
| 68 | ULONG64 base = (ULONG64)PsGetProcessSectionBaseAddress(process::target_process); |
| 69 | ULONG64 StructAddress = readlocal<ULONG64>(process::STRUCT_OFFSET_ADDRESS); //no double because direct writing |
| 70 | writelocal<ULONG64>(&base, (PVOID)StructAddress); |
| 71 | status::SUCESSFUL(); |
| 72 | } |
| 73 | else { |
| 74 | status::ERROR(); |
| 75 | } |
| 76 | } |
| 77 | |
| 78 | void Read() { |
| 79 | readd StructAddress = {}; |
no test coverage detected