gpt4 book ai didi

linux -/boot/System.map* 中的符号地址与/proc/kallsyms 中的符号地址不同

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:47 25 4
gpt4 key购买 nike

/boot/System.map/proc/kallsyms 之间有一个固定的间隙。每次重启时差距都会改变。

有布局随机化之类的东西吗?

例如,

> cat /boot/System.map
ffffffff81d2b5f0 T x86_64_start_kernel
ffffffff81d2bb33 T start_kernel
ffffffff81d2ee1b T xen_start_kernel

> cat /proc/kallsyms | grep start_kernel
ffffffffa4d2b5f0 T x86_64_start_kernel
ffffffffa4d2bb33 T start_kernel
ffffffffa4d2ee1b T xen_start_kernel

最佳答案

是的,Linux 内核可以使用 ASLR(地址空间布局随机化),至少在 x86 上是这样。实际上,目前只能随机化基地址。

参见 CONFIG_RANDOMIZE_BASE in arch/x86/Kconfig 的描述在内核源代码中获取详细信息。

如果不了解 Linux 上的类型以及内核的配置方式,就很难猜测您的系统上发生了什么。

看看是否CONFIG_RANDOMIZE_BASE在该内核的配置文件中设置(通常 - /boot/config-<something>)。

关于linux -/boot/System.map* 中的符号地址与/proc/kallsyms 中的符号地址不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31854883/

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