Доступ запрещен для функции WriteProcessMemory - PullRequest
0 голосов
/ 11 апреля 2019

Когда вызывается функция WriteProcessMemory, она вызывает код системной ошибки - 5.

Я пробовал PROCESS_VM_OPERATION и PROCESS_VM_WRITE оба, но это все равно не работает.

Вот код:

int intToWrite = 123;

HANDLE hProcess = OpenProcess(PROCESS_VM_WRITE, FALSE, /*ProcessId*/);

if (WriteProcessMemory(hProcess, (LPVOID)0x..., &intToWrite, 4, 0) != 0)
{  
 std::cout << "Everything is fine. \n";
} 
else
{
  std::cout << "The problem " << GetLastError() << " is in WPM function. \n";
}

Вывод в консоли:

The problem 5 is in WPM function

Итак, где моя ошибка именно в доступе?

1 Ответ

0 голосов
/ 11 апреля 2019

Открытие процесса с доступом для записи недостаточно, вы также должны убедиться, что записываемая память доступна для записи ( VirtualProtectEx () ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...