如何在内存中读取变量的值,如二进制,我在C#中有指针地址?
答案 0 :(得分:4)
本文介绍如何使用Win32 ReadProcessMemory
函数执行此操作。请注意,使用unsafe
关键字是不够的,因为它无法指定显式内存位置。
如何使用C#编写内存扫描仪
http://www.codeproject.com/KB/cs/sojaner_memory_scanner.aspx
要查看相关代码,您需要下载项目源,并检查MemoryScanner.cs
类。
答案 1 :(得分:2)
你也可以使用像Marshal.ReadInt32()这样的Marshal.Read *函数。将指针值转换为IntPtr并使用Marshall类中的辅助方法来获取数据。
答案 2 :(得分:1)
答案 3 :(得分:0)
查看unsafe
关键字。这允许您直接访问内存,就像在C ++中一样。