linux获取系统函数地址


本文以获取内核函数 sys_open()的地址为例。
   1)从System.map文件中直接得到地址
      $ grep sys_open /usr/src/linux/System.map
  
   2)使用 nm 命令
      $ nm vmlinuz | grep sys_open
  
   3)从 /proc/kallsyms 文件获得地址
      $ cat /proc/kallsyms | grep sys_open
   
   4)使用 kallsyms_lookup_name() 函数
      是在kernel/kallsyms.c文件中定义的,要使用它必须启用CONFIG_KALLSYMS编译内核。
      kallsyms_lookup_name()接受一个字符串格式内核函数名,返回那个内核函数的地址。
        kallsyms_lookup_name("sys_open");

你可能感兴趣的:(linux获取系统函数地址)