写一个工具来了解ELF文件(一)

本文介绍了ELF文件的基本概念,包括其三种主要类型:可重定位文件、可执行文件和共享目标文件。详细讲解了ELF文件的结构,如ELF Header、Program Header Table和Section Header Table。通过理解这些内容,作者计划编写一个分析ELF文件的工具,以增强对ELF文件格式的理解。
摘要由CSDN通过智能技术生成

转载请注明出处。https://rhirufxmbcyj.gitlab.io

以前工作需要,研究了一段时间的ELF文件,后来用完了就放置了

最近突然想到当时分析ELF文件格式的时候没有类似专门的工具,windows下只能依靠010 Editor的模板和虚拟机里linux的readelf来分析

虽然这两者结合起来挺强大的,但是还是希望自己写一个分析工具,顺便重拾一下原来的知识

什么是ELF文件

ELF的英文全称是The Executable and Linking Format,最初是由UNIX系统实验室开发、发布的ABI(Application Binary Interface)接口的一部分,也是Linux的主要可执行文件格式。

ELF文件三种主要类型

  • 可重定位文件(ET_REL):包含了代码和数据,用于与其他目标文件经过链接,创建出可执行文件或共享目标文件(官方介绍)。通俗的来说,就是gcc加-c参数,只编译不链接创建出的文件,对应windows的obj文件。
  • 可执行文件(ET_EXEC):包含了程序创建进程映像所需要的信息。对应windows的exe文件。
  • 共享目标文件(ET_DYN):官方原话有些看不懂,貌似意思是可以被链接也可以执行,直接理解成动态库算了。

文件格式简介

ELF文件有两个视图,链接视图和执行视

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值