从内存中读取指针位置的值
本文关键字:位置 指针 读取 内存 | 更新日期: 2023-09-27 18:05:40
我需要从内存位置0到3字节获取值,假设int使用4字节的数据,如果long使用8字节,我想读取0到7字节的长数据,看看它给出了什么值。谁能帮我写c#代码?
问候,波动率指数
这可能非常危险,如何获得地址以及如何评估它是否有效?不是每个地址都是有效的,尝试从其中的一些地址读取将导致异常。
但是你可以使用Marshal。Read*方法做这个
int intValue = Marshal.ReadInt32(addr);
long longValue = Marshal.ReadInt64(addr);
你还需要捕获AccessViolationException。
你还试图从虚拟地址或物理内存中读取。在c#中,你只能从进程的虚拟地址空间中读取。您必须使用内核模式驱动程序才能直接访问计算机上的物理内存。