Описание тега readprocessmemory
ReadProcessMemory() - это часто используемая функция Windows API при взаимодействии с памятью другого процесса, запущенного в той же системе.
BOOL ReadProcessMemory(
HANDLE hProcess,
LPCVOID lpBaseAddress,
LPVOID lpBuffer,
SIZE_T nSize,
SIZE_T *lpNumberOfBytesRead
);
Аргументы функции
hProcess - это дескриптор целевого процесса, обычно возвращаемое значение из вызова OpenProcess()
lpBaseAddress - это указатель на адрес, с которого вы хотите читать
lpBuffer - это указатель на ваш локальный буфер, в котором хранится считываемая память.
nSize - сколько байтов вы хотите прочитать
lpNumberOfBytesRead - указатель на SIZE_T, который будет хранить количество байтов, которые функция успешно прочитала.
Возвращаемое значение
- Если функция завершается успешно, возвращается ненулевое значение, в случае сбоя возвращается ноль.
Замечания
nSize должен быть того же размера, что и буфер, на который указывает lpBuffer.
lpNumberOfBytesRead является необязательным, вы можете передать ноль, но эта выходная переменная хороша для проверки ошибок
Запустите свою программу от имени администратора, чтобы убедиться, что у вас есть разрешения
Ваш дескриптор процесса должен иметь необходимые права доступа к процессу, в данном случае PROCESS_VM_READ
Используйте возвращаемое значение lpNumberofBytesRead и GetLastError(), чтобы помочь отладить ваши проблемы.