| 83 | |
| 84 | |
| 85 | bool Memory::ReadMemoryFromKernel(int processId, uint64_t address, void* buffer, size_t size) |
| 86 | { |
| 87 | size_t read = NULL; |
| 88 | Communication request = {}; |
| 89 | SecureZeroMemory(&request, sizeof(Communication)); |
| 90 | |
| 91 | request.request = Request::READPROCESSMEMORY; |
| 92 | request.key = COMMUNICATION_KEY; |
| 93 | request.address = address; |
| 94 | request.buffer = (uint64_t)buffer; |
| 95 | request.size = size; |
| 96 | request.processID = processId; |
| 97 | request.read = read; |
| 98 | |
| 99 | NtUserCloseWindowStation(&request); |
| 100 | return (buffer != NULL); |
| 101 | } |
| 102 | |
| 103 | bool Memory::WriteMemoryFromKernel(int processId, uint64_t address, void* buffer, size_t size) |
| 104 | { |
nothing calls this directly
no outgoing calls
no test coverage detected