C ++ ReadProcessMemory转换为字节数组

时间:2011-10-07 14:12:13

标签: c++ arrays byte readprocessmemory

我正在尝试使用ReadProcessMemory将动态数量的字节读入数组,然后返回它。我根本无法让它正常工作。我目前的代码是......

byte *Application::readMemory(DWORD address, int length) {
    byte *buffer = new byte[length];
    SIZE_T bytesRead;
    ReadProcessMemory(piProcessInfo.hProcess, (void *)address, &buffer, length, &bytesRead);
    return buffer;
}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:4)

不应该是

   ReadProcessMemory(piProcessInfo.hProcess, (void *)address, buffer, length, &bytesRead);

?如果你给缓冲区指针地址作为输入参数,那么ReadProcessMemory将它复制到缓冲区指针所在的位置(不是缓冲区,而是复制到缓冲区指针中的空间) - 并且它在堆栈上,堆栈被破坏。