如何在运行时计算二进制文件中动态符号的地址?

时间:2018-05-11 17:51:32

标签: c linker binary memory-address

我的一个程序遇到了困难。我需要能够判断何时执行CALL,以及调用地址链接到的函数符号。

我理解使用我自己的函数我需要解析我的elf二进制文件的.symtab部分,但链接到共享库的符号没有任何地址。

我还解析了.dyndsym .rela.dyn .rela.plt和.dynstr部分。有了这么多信息,我现在知道哪个函数与哪个库有关。

据我所知,共享对象中给出的函数地址与二进制文件中的函数地址不同。我的所有程序(用C编写)都使用选项" -fno-stack-protector"编译。

我的问题是:在执行二进制文件之前有没有办法计算动态符号的地址?

0 个答案:

没有答案