获得内核函数地址的四种方法
获得内核函数地址的四种方法
本文以获取内核函数 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");
【作者】sky
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.