ost*_*sta 16 memory windows linux
有什么办法可以看到RAM内存的内容吗?从第一个字节到最后一个字节。我想查看操作系统及其上运行的所有进程在 RAM 中的位置。这可能吗?
在 Windows 上,可以通过对象管理器\Device\PhysicalMemory中的对象访问物理内存的内容。这需要对系统进行内核级访问,这意味着您需要安装一个程序(很可能是内核模式驱动程序)来访问此对象。
在 Linux 上,物理内存的内容可以通过读取/dev/mem为二进制数据直接访问root。请参阅什么是 /dev/mem?以及mem(4)更多详细信息的手册页。
我不确定为什么你需要确定操作系统和进程在物理内存中的位置,但是......
您可以使用内核调试器,它允许“原始”内存访问,例如SoftICE for Windows。您还可以将 GDB 配置为充当Linux 内核的调试器。如果虚拟机是一个选项,一些虚拟化软件支持将机器的状态(包括 RAM)保存到磁盘,然后可以进一步分析。然而,应该注意的是,大多数“现代”操作系统都使用地址空间布局随机化(ASLR)。系统的真实物理内存映射被故意分割,以帮助缓解各种安全问题和漏洞利用(即堆栈/堆缓冲区溢出)。
然而,对于在现代操作系统中运行的给定程序,您可以获得给定进程/线程的逻辑内存映射 - 只要您有适当的调试符号和调试器。如果您想要一个整体视图,如果软件/硬件使用虚拟内存,情况就会变得更加复杂。再次,虽然,如果你从字面上想要的是刚刚的RAM,看到的第一个段落。
| 归档时间: |
|
| 查看次数: |
32764 次 |
| 最近记录: |