相关疑难解决方法(0)

你如何直接从物理内存中读取?

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

我已经知道API ReadProcessMemory,它从ram中读取(由大多数培训师使用),但它仅适用于特定的过程.

我在MSDN上搜索并发现Device\PhysicalMemory似乎提供了这种可能性,但我发现没有实际的例子,这个功能似乎已被Windows服务包关闭(以修复某些漏洞).

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

编辑:添加有关操作系统的信息.

c c++ memory windows readprocessmemory

23
推荐指数
4
解决办法
2万
查看次数

内存地址0x0是否可用?

我想知道......如果当你做一个新的,预订开始的地址是0x0?我想这不可能,但为什么呢?是为此准备的新运营商?是第一个字节的一部分不可用吗?操作系统启动时始终保留它?

谢谢!

c++ null pointers memory-management new-operator

5
推荐指数
1
解决办法
4113
查看次数