| 99 | } |
| 100 | |
| 101 | NTSTATUS read_virtual_memory(ULONG pid, PEPROCESS process, PVOID source_address, PVOID target_address, SIZE_T size) |
| 102 | { |
| 103 | SIZE_T bytes = 0; |
| 104 | |
| 105 | if (NT_SUCCESS(MmCopyVirtualMemory(process, source_address, PsGetCurrentProcess(), target_address, size, KernelMode, &bytes))) |
| 106 | return STATUS_SUCCESS; |
| 107 | |
| 108 | return STATUS_SUCCESS; |
| 109 | } |
| 110 | |
| 111 | template< typename T > |
| 112 | T readlocal(uintptr_t address) |