ReadProcessMemory转换成字节数组

C++ ReadProcessMemory into byte array

本文关键字:字节数 数组 字节 转换 ReadProcessMemory      更新时间:2023-10-16

我试图使用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;
}

应该是

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

?如果您将缓冲区指针地址作为输入参数,则ReadProcessMemory将其复制到缓冲区指针所在的位置(不是缓冲区,而是缓冲区指针变量)—并且由于它位于堆栈上,因此堆栈会损坏。