【问题标题】:How to get address of function or global variable from its name in executable elf file for C?如何从 C 的可执行 elf 文件中的名称中获取函数或全局变量的地址?
【发布时间】:2017-07-11 10:30:38
【问题描述】:

如何从可执行elf文件中的名称获取函数或全局变量的地址? dlsym() 可以获取动态库文件中函数的地址。但它不适用于可执行的 elf 文件。在解析 ELF 文件之前,我想检查是否有一个库为可执行的 elf 文件提供相同的功能?然后我可以从函数名或全局变量的名称中获取地址。

【问题讨论】:

    标签: function variables elf dlsym


    【解决方案1】:

    如果您使用-Wl,-E(或者它的各种变体,例如-export-dynamic)编译可执行文件,那么链接器将为可执行文件生成一个动态部分,您可以使用dlsym 和@ 访问其符号987654324@句柄,如dlsym (NULL, "foo")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 2019-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-31
      • 2020-05-06
      相关资源
      最近更新 更多