一般的 ELF 文件包括三个索引表:
3)Section header table :包含了描述文件节区的信息,每个节区在表中都有一项,每一项给出诸如节区名称、节区大小这类信息。用于链接的目标文件必须包含节区头部表,其他目标文件可以有,也可以没有这个表
分析方式:https://www.cnblogs.com/20135223heweiqin/p/5554922.html
Section header table:包含了描述文件节区的信息,每个节区在表中都有一项,每一项给出诸如节区名称、节区大小这类信息。用于链接的目标文件必须包含节区头部表,其他目标文件可以有,也可以没有这个表。
https://www.cnblogs.com/20135223heweiqin/p/5554922.html
这篇博客讲的不错。
静态结构,编译完,直接链接静态库,需要用到的代码全部包含在 elf 文件中,程序运行时候,直接把elf代码区装载了运行。
动态程序,编译完生成地址无关代码,elf 本身不含库代码。运行时候,装载代码,加载电脑上的库代码,不是 elf 自带库代码。动态就是运行时动态装载库
ELF文件内容有两个平行的视角:一个是程序连接角度,另一个是程序运行角度。
网上有很多资料参考
这个有点复杂,一句两句说不清,请移步
https://www.cnblogs.com/zl1991/p/6925001.html