【问题标题】:How do I read physical memory in WSL 2?如何在 WSL 2 中读取物理内存?
【发布时间】: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


【解决方案1】:

您在没有 root 权限的情况下运行了该命令, 因此,为了获得语法 OK,您需要执行以下操作:

$ sudo cat /dev/mem |厕所

【讨论】:

    猜你喜欢
    • 2013-04-09
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 2010-12-05
    • 2012-12-25
    • 2021-05-02
    相关资源
    最近更新 更多