gpt4 book ai didi

c - 如何找到共享库符号的绝对地址?

转载 作者:太空狗 更新时间:2023-10-29 15:06:35 26 4
gpt4 key购买 nike

我想写一个小函数的跟踪器。我使用 ptrace。

当我看到 CALL 指令时,我想显示与地址调用等效的函数名称。

我的跟踪器使用具有绝对地址的符号(符号在主二进制文件中定义)。但是我不知道如何获取共享库函数在虚拟内存中的绝对地址。例如,检测对 libc 函数的调用。

我注意到共享库中函数的地址是相对于文件的。

下面的方程式好吗?

Absolute address of symbol = address of the shared library in virtual memory +
relative address of the symbol.

如何从共享库中获取符号的绝对地址?

最佳答案

我认为您想了解动态链接的工作原理,特别是全局偏移表。 http://www.gentoo.org/proj/en/hardened/pic-guide.xml这只是一个开始,但让它跨系统可靠地工作可能很棘手。

关于c - 如何找到共享库符号的绝对地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2225765/

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