zoukankan      html  css  js  c++  java
  • /dev/mem

    [root@localhost ~]# cat /dev/mem
    cat: /dev/mem: No such file or directory
    [root@localhost ~]# dmidecode -s system-product-name
    TaiShan 200 (Model 2280)
    [root@localhost ~]#

    [root@localhost ~]# mknod -m 660 /dev/mem c 1 1
    [root@localhost ~]# cat /dev/mem
    cat: /dev/mem: No such device or address
    [root@localhost ~]# chown root:kmem /dev/mem
    [root@localhost ~]# cat /dev/mem
    cat: /dev/mem: No such device or address
    [root@localhost ~]# cat /boot/config-4.14.0-115.el7a.0.1.aarch64 | grep -Ee 'DEV(|K)MEM'
    # CONFIG_DEVMEM is not set
    CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
    [root@localhost ~]# 
    user@debian-macbook:~$ cat /boot/config-4.13.9 | grep -Ee 'DEV(|K)MEM'
    CONFIG_DEVMEM=y
    CONFIG_DEVKMEM=y
    CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
    # CONFIG_STRICT_DEVMEM is not set
    [root@localhost ~]# cat /dev/mem
    cat: /dev/mem: Bad address
    [root@localhost ~]# 
    [root@localhost ~]# cat /boot/config-4.19.90-9.10.aarch64 | grep -Ee 'DEV(|K)MEM'
    CONFIG_DEVMEM=y
    CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
    CONFIG_STRICT_DEVMEM=y
    CONFIG_IO_STRICT_DEVMEM=y
    [root@localhost ~]#
    [root@localhost ~]# ./mem 
    /dev/mem opened.
    [root@localhost ~]# cat mem.c 
    #include <stdio.h>
    #include <stdlib.h>
    #include <fcntl.h>
    #include <sys/mman.h>
      
    int main()
    {
        int memfd;
      
        memfd = open("/dev/mem", O_RDWR | O_SYNC);
            if (memfd == -1) {
            printf("Can't open /dev/mem.
    ");
            exit(0);
        }
        printf("/dev/mem opened.
    ");
        close(memfd);
    }
    [root@localhost ~]# 
  • 相关阅读:
    多线程交替打印示例
    单列集合框架体系Collection
    同域名下,两个网站通过cookie共享登录注册功能大概思路。
    CSS 隐藏滚动条
    Vue3--组件间传值
    TypeScript--类(class)
    TypeScript--泛型(generic)
    理解LDAP与LDAP注入
    CRLF injection 简单总结
    pigctf期末测评
  • 原文地址:https://www.cnblogs.com/dream397/p/13658804.html
Copyright © 2011-2022 走看看