参考这个主题:Access memory address in c#,我试图了解如何通过知道其十六进制段:offset来寻址内存位置并提取数据。另外,我相信尺寸可以变化。关于继续这一点,我将不胜感激。
答案 0 :(得分:2)
好吧,如果你想要麻烦......
int bufSize = 12;
IntPtr ptr = (IntPtr) (0xffff *16U + 5);
byte[] data = new byte[bufSize];
Marshal.Copy(ptr, data, 0, bufSize);
答案 1 :(得分:1)
托管应用程序在具有线性地址空间的平台上运行。没有段,没有偏移。只有地址,您可以通过Marshal.Copy
在任何地址进行读写。