读取指针地址值



(抱歉我的英语不好)

如何在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);

最新更新