基本上这并没有返回我要求的所有字节。
// 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);
关于为什么这不起作用的任何想法以及我将如何修复它?
答案 0 :(得分:0)
我仍然没有找到原因,为什么这不起作用,但我重新启动我的电脑,现在它工作正常。 Windows无论出于何种原因都必须采取行动。
答案 1 :(得分:0)
我认为你做错了。我使用的VB.NET代码就像这样
ReadProcessMemory(_targetProcessHandle, _mbi.BaseAddress, _byteBuff, _mbi.RegionSize, 0)
而且我认为你没有问正确的金额