从内存中读取数据时出现溢出异常

时间:2013-08-13 15:29:46

标签: c# winforms memory

我正在使用进程基址+基指针+偏移的组合从内存中读取数据。到目前为止,它的作用是针对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);
}

1 个答案:

答案 0 :(得分:1)

这是失败的,因为address的值为负值。

哪个进程基址+基址指针+偏移量给出了这个值?