首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何直接从物理内存中读取数据?

如何直接从物理内存中读取数据?
EN

Stack Overflow用户
提问于 2011-12-07 00:48:36
回答 6查看 32.1K关注 0票数 27

在C或C++ (windows)中,如何通过给出物理(而非虚拟)地址来读取内存?这意味着不需要通过虚拟内存系统(mmu表),并且特定于一个进程。

我已经知道API ReadProcessMemory,它从ram读取(大多数训练者使用),但它只用于特定的过程。

我在MSDN上搜索,发现Device\PhysicalMemory似乎提供了这样的可能性,但我没有找到实际的例子,而且这个功能似乎已经被Windows service pack关闭(为了修复一些漏洞)。

我知道这是可能的,因为WinHex做到了(如果你选择“工具”>“打开内存”>“物理内存”)。然后,它将显示内存内容从0x00000000到your_ram_size,就像你打开一个传统的文件一样。它需要管理员权限,但没有要安装的驱动程序(这意味着WinHex在用户模式下安装)。

编辑:添加os的相关信息。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8403610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档