ELF(Executable and Linkable Format)可执行和可链接格式是一种对象文件格式,分为三种类型:

a.可重定位目标文件:包含了适合用来链接其他目标文件的代码和数据,从而创建出可执行或可共享的目标文件

b.可执行目标文件:包含用于执行的程序,该文件规定了exec如何创建一个程序的进程映像

c.共享目标文件:包含用来在两个上下文之间链接的代码和数据

注:可重定位目标文件和共享目标文件用于程序链接,可执行目标文件用于程序执行

因为对于目标文件两种用途,因此目标文件的组织结构有两种:一种是用于链接的链接格式,另一种是用于执行的执行格式.

在详解这两种格式之前,先列出ELF文件中常用的数据类型(格式)

这两种格式中,ELF头部都位于文件的开始部分,位置固定,描述了该文件的组织情况,下面是它的具体内容

elf32_hdr(一个52个字节):

下面详细描述其中的内容(不加说明,值全是16进制):

1. e_ident,ident估计是identity的缩写,身份识别的意思.

这是一个总大小为16字节的数据,每个元素是占一个字节的unsigned char

2. e_type:表示文件属于下面的哪一种类型

3. e_machine:表示体系结构

4. e_version:目前版本

5. e_entry:程序入口地址

6. e_phoff:程序头部表的文件偏移,00000000表示没有程序头部表

7. e_shoff:节区头部表的文件偏移

8. e_flags:处理器特定标记

9. e_ehsize:elf头部长度,值是0034,表示十进制52

10.e_phentsize:程序头部表(段头部表)一个表项的大小

11.e_phnum:程序头部表表项数量

12.e_shentsize:节区头部表一个表项的大小

13.e_shnum:节区头部表表项数量

14.e_shstrndx:保存着节名字的节(section)对应的表项在节区头部表中的索引

linux下的elf结构,ELF结构详细分析(1)---elf32_hdr相关推荐

  1. Linux下各文件夹的结构说明及用途介绍(转载)

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录 ...

  2. Linux 下各文件夹的结构说明及用途介绍

    点击上方公众号,可快速关注) 来源:小宁哥 www.cnblogs.com/xningge/p/8331631.html linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /d ...

  3. Linux 下各文件夹的结构说明及用途介绍,看完这篇就秒入门了

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录 ...

  4. 【dubbo-2.5.x】Linux下dubbo-admin监控/管理平台部署详细教程

    前言 Dubbo-Admin是Dubbo控制台管理的工具,是Dubbo组件之一,需要Dubbo-Admin管理平台来实时对服务调用情况进行调整,比如控制分布式服务的调用权重等,通过调整调整调用权重来控 ...

  5. Linux下电骡aMule Kademlia网络构建分析2

    读代码读到现在,补充一点关于Kademlia网络的理论知识. Kademlia网络的基本原理 Kademlia 是一种结构化的覆盖网络(Structured Overlay Network).所谓覆盖 ...

  6. Linux下电骡aMule Kademlia网络构建分析5 —— 资源的发布

    资源发布请求消息的发送 在aMule中,主要用CSharedFileList class来管理共享给其它节点的文件.如我们前面在 Linux下电骡aMule Kademlia网络构建分析3 一文中分析 ...

  7. Linux下电骡aMule Kademlia网络构建分析4

    aMule中联系人的管理 aMule中主要通过CContact,CRoutingBin和CRoutingZone这样几个类来管理它的联系人. CContact表示一个联系人,它包含了与一个联系人有关的 ...

  8. Linux下使用Iptraf进行网络流量的分析

    Linux下使用Iptraf进行网络流量的分析 Posted on 2011/06/15 下面的教程我个人安装的时候,总是失败,在/usr/local/bin目录里没有iptraf这个文件,没有办法直 ...

  9. Linux下电骡aMule Kademlia网络构建分析3

    将本节点加入Kademlia网络 连接请求的发起 aMule在启动的时候,会起一些定时器,以便于定期的执行一些任务.其中比较重要的就是core_timer,相关code如下(amule-2.3.1/s ...

  10. Linux下C/C++实现(网络流量分析-NTA)

    网络流量分析(NTA - Network Traffic Analysis) 就是捕捉网络中流动的数据包,并通过查看包内部数据以及进行相关的协议.流量.分析.统计等,协助发现网络运行过程中出现的问题. ...

最新文章

  1. 【原创】多台电脑如何公用一个键盘鼠标进行操作 - Mouse with Borders 软件
  2. mupdf不支持x64_ARM版Win10用户狂喜 微软全新补丁让应用不再不兼容
  3. MySQL表最大能达到多少?
  4. 《FPGA全程进阶---实战演练》第二十一章 电源常用类型:LDO和 DCDC
  5. linux文件的查看指令-cat-more-less
  6. OpenGl文章 Android OpenGL ES 简明开发教程
  7. HDU2027 统计元音【文本处理】
  8. Ruby on Rails -跑起来吧hello World!
  9. (转)GridView固定表头
  10. Spark与Pandas中DataFrame的详细对比
  11. Atitit cs计算机科学概论 艾提拉解读版 2. 第二部分 信息层 4 5. 第三部分 硬件层 5 8. 第四部分 程序设计层 7 13. 第五部分 操作系统层 10 16. 第六部分 应
  12. 傲腾readyboost_Vista和ReadyBoost
  13. 【转】中控系统的概念、特点及功能
  14. Python 预测基因变异是否具有相互冲突的临床分类问题
  15. 初中计算机初识word教学设计,《初识Word》教学设计
  16. 初始Ext.net(二)
  17. 为何概述(翻译)CS229这个系列
  18. [BZOJ1067][SCOI2007]降雨量(线段树)
  19. 【机器学习系列】【模型评价】【ROC曲线、约登指数最佳阈值】一个函数中实现约登指数计算并集成到ROC图中,给出默认阈值及最佳阈值下的混淆矩阵
  20. 备受关注的无人便利店代理前景如何?

热门文章

  1. 2019校招面经大汇总
  2. 未知病毒提交的分析方法
  3. android dolphin 手柄,使用安卓手机充当PC上WII模拟器手柄
  4. 结合FME利用倾斜三维模型数据成果生成DSM等数据产品
  5. ios重签名shell脚本_03:双层签名和重签名流程以及shell脚本重签名
  6. 【GNSS】抗差估计(稳健估计)原理及程序实现
  7. 符合Chrome58的证书制作
  8. 如何更高效、系统地学习3D视觉?
  9. 瑞数FSSBBIl1UgzbN7N443T分析
  10. (Note)神经网络中的特征融合方式(add/concate)