fbpx
维基百科

动态链接器

动态链接器(Dynamic linker)是操作系统的一部分,负责按照可执行程序运行时的需要装入与链接共享库。装入是指把共享库在永久存储上的内容复制到内存,链接是指填充跳转表(jump table)与重定位指针。

Windows操作系统 编辑

类Unix操作系统 编辑

ld.soUnix类Unix系统上的动态链接器,针对ELF文件格式

加载顺序 编辑

应用程序需要使用动态链接库里的函数时,由ld.so负责加载。搜索动态链接库的顺序依此是

  • 环境变量LD_AOUT_LIBRARY_PATH(dbg版本)、LD_LIBRARY_PATH(release版本);在Linux中,LD_PRELOAD指定的目录具有最高优先权[1]
  • 缓存文件/etc/ld.so.cache。此为上述环境变量指定目录的二进制索引文件。更新缓存的命令是ldconfig。
  • 默认目录,先在/lib中寻找,再到/usr/lib中寻找。

安全性 编辑

骇客可以通过GOT覆写英语Global offset table,让具有特权的应用程序加载恶意动态链接库,从而导致攻击行为。所以,对于与setuid或setgid相关的应用程序,动态链接器只被允许在默认目录中寻找合法动态链接库

参考文献 编辑

  1. ^ David A. Wheeler. 找出并保护程序的入口. IBM. 2004年2月10日 [2009年3月21日]. (原始内容于2020年9月14日) (中文). 

动态链接器, dynamic, linker, 是操作系统的一部分, 负责按照可执行程序运行时的需要装入与链接共享库, 装入是指把共享库在永久存储上的内容复制到内存, 链接是指填充跳转表, jump, table, 与重定位指针, 目录, windows操作系统, 类unix操作系统, 加载顺序, 安全性, 参考文献windows操作系统, 编辑类unix操作系统, 编辑ld, so是unix或类unix系统上的, 针对elf文件格式, 加载顺序, 编辑, 当应用程序需要使用动态链接库里的函数时, 由ld, so负. 动态链接器 Dynamic linker 是操作系统的一部分 负责按照可执行程序运行时的需要装入与链接共享库 装入是指把共享库在永久存储上的内容复制到内存 链接是指填充跳转表 jump table 与重定位指针 目录 1 Windows操作系统 2 类Unix操作系统 2 1 加载顺序 2 2 安全性 3 参考文献Windows操作系统 编辑类Unix操作系统 编辑ld so是Unix或类Unix系统上的动态链接器 针对ELF文件格式 加载顺序 编辑 当应用程序需要使用动态链接库里的函数时 由ld so负责加载 搜索动态链接库的顺序依此是 环境变量LD AOUT LIBRARY PATH dbg版本 LD LIBRARY PATH release版本 在Linux中 LD PRELOAD指定的目录具有最高优先权 1 缓存文件 etc ld so cache 此为上述环境变量指定目录的二进制索引文件 更新缓存的命令是ldconfig 默认目录 先在 lib中寻找 再到 usr lib中寻找 安全性 编辑 骇客可以通过GOT覆写 英语 Global offset table 让具有特权的应用程序加载恶意动态链接库 从而导致攻击行为 所以 对于与setuid或setgid相关的应用程序 动态链接器只被允许在默认目录中寻找合法动态链接库 参考文献 编辑 David A Wheeler 找出并保护程序的入口 IBM 2004年2月10日 2009年3月21日 原始内容存档于2020年9月14日 中文 取自 https zh wikipedia org w index php title 动态链接器 amp oldid 79975496, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。