本文以获取内核函数 sys_open()的地址为例。
1)从System.map文件中直接得到地址:
$ grep "sys_open" System.map
2) 使用 nm 命令:
$ nm vmlinux | 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");
获取内核函数地址的方法
于 2024-01-17 11:39:02 首次发布
本文详细介绍了在Linux系统中获取内核函数sys_open地址的不同途径,包括从System.map、使用nm命令、/proc/kallsyms文件以及通过kallsyms_lookup_name函数,后者的使用需内核支持CONFIG_KALLSYMS。
摘要由CSDN通过智能技术生成