Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以使用 c 中的动态加载(DL)库来检索库第一条指令的地址?换句话说,我想知道加载库的地址。
有几种方法可以做到:
使用 glibc 扩展 dladdr 从共享对象中获取有关任何导出函数的信息。不过,您需要拥有导出符号的名称才能执行此操作。它返回一个 Dl_info 结构,其中包含加载对象的基地址。有关详细信息,请参阅“man dladdr”。
读取并解析 /proc/self/maps,查找您的库并注意设置了可执行位(权限中的“x”)的段的起始地址。