我正在使用 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
Run Code Online (Sandbox Code Playgroud)
所以基本上..我能够获得大约 3.3 MB 的 RAM 转储内容——直到程序停止,说“不允许操作”
所以我想知道为什么我不能转储 RAM 的全部内容?这是在 Ubuntu 中故意限制以阻止恶意黑客吗?或者是别的什么?有人知道吗?谢谢
Ubuntu 安装中的 Linux 内核附带一个设置*,该设置将 RAM 提取限制为 1 MB。
如果您不希望在没有它的情况下重新编译内核(明显的警告:您正在降低安全性!),或者您可以下载并安装取证内核模块 fmem 来解决此问题。这提供了一个没有任何安全性的 /dev/fmem 设备。
strict-devmem=0正如 Opello 所提到的:您还可以在内核命令行中使用。
* : STRICT_DEVMEM=y(参见 /boot/config-KERNELVERSION)
| 归档时间: |
|
| 查看次数: |
14197 次 |
| 最近记录: |