ReadProcessMemory 不工作

ReadProcessMemory not working

基本上这不会返回我要求它返回的所有字节。

// ReadBytes Method
byte[] ReadBytes(uint address, int len)
{
    int bytesread = 0;
    byte[] output = new byte[len];
    ReadProcessMemory(HO_Handle, (IntPtr)address, output, len, out bytesread);
    return ouput; // by the time we get here, bytesread == 0x0031E000
}

// Call
byte[] region = ReadBytes(0x0C000000, 0x08000000);

关于为什么这不起作用以及我将如何修复它有什么想法吗?

我仍然没有找到为什么这不起作用的原因,但我重新启动了我的电脑,现在它工作正常。 Windows 一定是出于某种原因在胡作非为。

我认为你做错了。我使用的 VB.NET 代码是这样的

ReadProcessMemory(_targetProcessHandle, _mbi.BaseAddress, _byteBuff, _mbi.RegionSize, 0)

而且我认为您要求的金额不正确