(对不起,我的英语不好 )
如何从C#中的指针读取值地址?
例:
我知道我的指针,但是在应用程序启动时值会改变。
1)开始
(Pointer) 0x0018F36C = ( Value) 0x0342AD68
2)重新启动
(Pointer) 0x0018F36C = ( Value Changed ) 0x0342AE20
其实我有一个基址0x0018F36C
但需要从指针读取值并保存很长时间
例:
long addr_base = 0x0018F36C;
long address; //Obviously I do not know the Address
现在我需要从addr_base读取long值并将值(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);
关于c# - C#读取指针地址值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30476131/