我正在使用进程基址+基指针+偏移的组合从内存中读取数据。到目前为止,它的作用是针对5个案例中的4个。
我的第5次尝试抛出以下异常。是因为address
参数值吗?
OverflowExceptption:算术运算导致溢出
public static int ReadInt(long address)
{
byte[] buffer = new byte[sizeof(int)];
ReadProcessMemory(PHandle, (UIntPtr)address, buffer,
(UIntPtr)4, IntPtr.Zero);
//(UIntPtr)address: -1482250587
return BitConverter.ToInt32(buffer, 0);
}
答案 0 :(得分:1)
这是失败的,因为address
的值为负值。
哪个进程基址+基址指针+偏移量给出了这个值?