欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]内功修炼之路—链接深入剖析

[原创]内功修炼之路—链接深入剖析

接着之前的文章,由于需要,对Linker这部分进行了比较深入的学习,主要是基于Linux ELF文件格式,本文参考了程序员的自我修养,深入理解计算机系统第七章链接,Linker & Loader, 和网上博客相关资源,Android Linker的源码版本是4.2.2. 在此与大家共享,也请大家多多指正~ (限于水平,难免会有错误、疏漏之处,请大家见谅)
下面是文章的目录架构:
Contents
一、        ELF文件格式        2
     1.        ELF Header        3
     2.        Section Header Table        4
     3.        ELF重定位表(.rel.data or .rel.text)        6
     4.        ELF符号表(.symtab)        7
二、静态链接基础        8
     1.        链接时重定位(Relocation)        9
     2.        重定位表(Relocation Table)        10
     3.        指令修正        11
三、动态链接基础        12
     1.        可执行文件的装载        12
     2.        动态链接之地址无关代码(PIC Position-independent Code)        15
     3.        动态链接之延迟绑定(PLT Procedure Linkage Table)        16
     4.        动态链接相关结构        18
     5.        动态链接的步骤与实现        20
四、Android Dynamic Linker(基于Android 4.2.2源码剖析)        21
     1.        初始启动代码:        21
     2.        Bootstrap:_linker_init        21
     3.        soinfo_link_image        25
     4.        加载依赖共享库        29
     5.        可执行映像的重定位操作        33
     6.        扫尾        35

上传的附件 17. 链接深度剖析.pdf

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功