gpt4 book ai didi

linux - 访问未通过 EXPORT_SYMBOL* 导出的 Linux 内核符号

转载 作者:IT王子 更新时间:2023-10-29 01:12:19 26 4
gpt4 key购买 nike

我们需要访问 net/ipv4/af_inet.c 中的内核全局变量,这些变量未从可加载内核模块中显式导出。我们目前使用的是2.6.18内核。

kallsyms_lookup_name 似乎不再可用(未导出)

__symbol_get 返回 NULL(进一步阅读后,symbol_get/__symbol_get 会查看内核和仅包含导出符号的现有模块的符号表,并确保导出符号的模块实际已加载)

有没有办法访问不是从内核模块导出的符号?

经过大量阅读和查看人们提供的答案后,似乎很难在许多内核版本中找到一种方法,因为 kAPI 随着时间的推移发生了显着变化。

最佳答案

您可以通过从/proc/kallsyms 获取它来使用您之前提到的方法,或者只使用 System.map 中给出的地址(这是同一件事),这可能看起来很老套,但这是我所看到的它以前做过(从来没有真正需要自己做)。无论是这个还是您都可以构建自己的自定义内核,您实际上可以在其中对要导出的任何内容执行 EXPORT_SYMBOL 但这不是可移植的。

关于linux - 访问未通过 EXPORT_SYMBOL* 导出的 Linux 内核符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9951516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com