簡體   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