Linux内核分析——ELF文件格式分析

面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>>   Linux内核分析——ELF文件格式分析

ELF文件(目标文件)格式主要三种:

1)可重定向文件:文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件。(目标文件或者静态库文件,即linux通常后缀为.a和.o的文件)

2)可执行文件:文件保存着一个用来执行的程序。(例如bash,gcc等)

3)共享目标文件:共享库。文件保存着代码和合适的数据,用来被下连接编辑器和动态链接器链接。(linux下后缀为.so的文件。)

一般的 ELF 文件包括三个索引表:

1)ELF  header:在文件的开始,保存了路线图,描述了该文件的组织情况。

2)Program  header  table:告诉系统如何创建进程映像。用来构造进程映像的目标文件必须具有程序头部表,可重定位文件不需要这个表。

3)Section  header  table :包含了描述文件节区的信息,每个节区在表中都有一项,每一项给出诸如节区名称、节区大小这类信息。用于链接的目标文件必须包含节区头部表,其他目标文件可以有,也可以没有这个表。

1、  分析ELF文件头(ELF  header)

进入终端输入: cd ../..

cd /usr/include/elf.h,查看ELF的文件头包含整个文件的控制结构

Linux内核分析——ELF文件格式分析

Linux内核分析——ELF文件格式分析