尝试访问 RAM /dev/mem...显示“操作不允许”

尝试访问 RAM /dev/mem...显示“操作不允许”

我正在使用 Ubuntu 12.04

我阅读了以下有关如何在 Linux 中访问 RAM 内容的教程......

http://www.rootninja.com/using-dd-to-search-for-strings-in-memory-or-devices/

代码:

dd if=/dev/mem | hexdump -C | grep “string to search for”

因此,我运行代码......

代码:

sudo dd if=/dev/mem | hexdump -C > NAMEOFOUTPUTFILEHERE.txt

然后...它开始输出十六进制代码,几秒钟后,它显示:

dd: reading `/dev/mem': Operation not permitted
2056+0 records in 
2056+0 records out
1052672 bytes (1.1 MB) copied, 0.44834 s, 2.3 MB/s

所以基本上..我能够获得大约 3.3 MB 的 RAM 转储内容 - 直到程序停止,并显示“操作不允许”

所以我想知道为什么我不能转储 RAM 的全部内容?这是 Ubuntu 的故意限制,以阻止恶意黑客吗?还是有其他原因?有人知道吗?谢谢

答案1

您的 Ubuntu 安装中的 Linux 内核有一个设置*,它将 RAM 提取限制为 1 MB。

如果您不希望这样做,您可以重新编译没有它的内核(明显的警告:您正在降低安全性!)或者您可以下载并安装取证内核模块 fmem 来解决这个问题。这提供了一个没有任何安全性的 /dev/fmem 设备。

正如 Opello 所说:您也可以strict-devmem=0在内核命令行中使用。


*:(STRICT_DEVMEM=y例如参见/boot/config-KERNELVERSION)

相关内容