(抱歉我的英语不好)
如何在c#中从指针读取值地址?
的例子:我知道我的指针,但值在应用程序启动时改变。
1)开始(Pointer) 0x0018F36C = ( Value) 0x0342AD68
2)重启(Pointer) 0x0018F36C = ( Value Changed ) 0x0342AE20
实际上我有一个基地地址0x0018F36C但是需要从指针读取值并保存在long
中的例子:
long addr_base = 0x0018F36C;
long address; //Obviously I do not know the Address
现在我需要从addr_base中读取长值并将值(long)放入地址
例子addr_base = memory.ReadAddress(addr_base)
有人知道如何读取存储在变量addr_base中的地址吗?
如果您有一个类似0x0018F36C
的地址,您可以:
IntPtr ptr = (IntPtr)0x0018F36C;
long longValue = Marshal.ReadInt64(ptr);
如果你需要从一个地址读取另一个地址,有另一个Marshal
方法:
IntPtr ptr = (IntPtr)0x0018F36C;
IntPtr ptr2 = Marshal.ReadIntPtr(ptr);