据我所知,每个用户进程都有一个虚拟地址空间,可以转储.但有没有办法转储物理地址空间?假设我有32位系统和4GB内存,我可以写一个程序来打印每个物理内存位置.
我理解它违反了内存保护等但是如果它可能如何将其转换为内核进程或更低级别的进程以允许我访问整个内存..?
我想知道如何在Windows / Linux平台(或内核)上编写这样的代码(如果可能的话).或者,如果我要使用Assembly或类似的东西,如何转移到该权限级别.
最佳答案 在Linux中,您可以打开并映射设备文件/ dev / mem(如果您具有读取权限).这对应于物理内存.