【发布时间】:2020-05-18 10:41:17
【问题描述】:
如何在 WSL 2 中读取物理内存 (/dev/mem)? (我想从 WSL 读取 Windows RAM) https://shanetully.com/2014/12/translating-virtual-addresses-to-physcial-addresses-in-user-space/ 我尝试了这个人所做的事情,但我没有写信,而是在那个地址阅读。读取函数没有返回-1,但我什么也没读。所以我尝试了如果我什至可以阅读 /dev/mem
cat /dev/mem | wc
cat: /dev/mem: Permission denied
0 0 0
似乎访问被拒绝,有什么想法可以实现我想要的吗?
【问题讨论】:
-
你可能需要以
sudo运行它 -
@RyanNerd 看起来像 sudo 一样运行它只会随着时间的推移增加 ram 使用量(每秒 30-40 mb)
-
看起来需要重新编译内核才能执行此操作:“Linux 通过 /dev/mem 块设备提供对系统内存的直接访问。但是,由于明显的安全隐患, 没有人可以读取,更不用说写入,这个文件,即使是 root。这是由于 CONFIG_STRICT_DEVMEM 内核配置选项。作为一个配置选项,它必须在编译时设置,所以要改变它,你会必须重新编译你的内核。”
标签: c++ linux memory windows-subsystem-for-linux wsl-2