我正在寻找一种很好的方法来枚举当前二进制文件和当前进程可能加载的所有共享对象的所有ELF部分及其地址。
我知道dl_iterate_phdr()的存在,它为我提供了一个易于使用的ELF段列表,但是我正在寻找ELF部分,所以它不是我的正确调用。
我不关心可移植性,只要它在Linux上与ELF一起工作,我就很高兴!
任何暗示都很感激!
发布于 2012-02-01 23:44:53
我假设您正在尝试以编程方式从C/C++程序中访问这些信息。我怀疑您应该能够使用GNU二进制文件描述符库 (BFD)做您想做的事情,它用于实现GNU链接器、objdump等(它还有一个维基百科文章)。特别是参阅手册的第2.6节,它都是关于章节的。BFD创建一个"部分“链接列表,通过结构bfd的”节“成员访问。我认为您应该能够在argv上使用fopen打开当前的二进制文件。BFD船与二值。
https://stackoverflow.com/questions/9104694
复制相似问题