繁体   English   中英

glibc-获取具有包含指定地址的符号的共享库的句柄

[英]glibc - get handle to shared library having symbol containing specified address

诸如dladdr之类的东西为我提供了共享库的动态库句柄,或者使我可以从共享库的基址获取句柄的方法。 包含共享库的文件可能已被移动或删除,所以不能,我不能dlopen()dladdr给定的文件名。

glibc的dlopen句柄基于link_map。 我可以迭代所有的link_map,看看是否有l_addr等于dladdr给出的l_addr。 该link_map的地址是句柄。

Dietlibc还使用link_map的句柄。

对于uClibc,还有另一个结构-dyn_elf。 它包含一个指向link_map的指针。 全局变量_dl_symbol_tables具有一个指向dyn_elf的链接列表的开头的指针。

bionic使用其自己的结构,该结构包含struct link_map作为成员(而不是指针)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM