我正在从内存中读取字符串
byte[] array =
reader.ReadProcessMemory((IntPtr)address, (uint)255, out bytesReadSize);
然后我将此数组转换为字符串。
我现在遇到了一个问题,因为在程序内存中的地址 003A53D4 下有一个指针,它指向一个字符串。如何获取字符串的地址?谢谢 :)
这就是我尝试过的:
IntPtr pointers_address = new IntPtr(module_base_address + 3822548);
byte[] pointer_arrays =
reader.ReadProcessMemory(pointers_address, (uint)16, out bytesReadSize2);
IntPtr pointer_for_string = new IntPtr();
Marshal.Copy(pointers_array, 0, pointer_for_string, 16);
它说(大约第 4 行):
值不能为空。参数名称:目的地
当我将 new IntPtr()更改 为 new IntPtr(1) 它说
尝试读取或写入受保护的内存。这通常表明其他内存已损坏。