ELF文件格式解析一

发布时间:2024年01月07日

一: 目标文件有三种类型:

  1. 可重定位文件(Relocatable File) 包含适合于与其他目标文件链接来创建可
    执行文件或者共享目标文件的代码和数据。
  2. 可执行文件(Executable File) 包含适合于执行的一个程序,此文件规定了
    exec() 如何创建一个程序的进程映像。
  3. 共享目标文件(Shared Object File) 包含可在两种上下文中链接的代码和数
    据。首先链接编辑器可以将它和其它可重定位文件和共享目标文件一起处理,
    生成另外一个目标文件。其次,动态链接器(Dynamic Linker)可能将它与某
    个可执行文件以及其它共享目标一起组合,创建进程映像。

目标文件全部是程序的二进制表示,目的是直接在某种处理器上直接执行。

二:ELF 中常用数据格式

在这里插入图片描述

三:目标文件格式
elf的文件类型有3种,可重定位文件和共享目标文件是为程序链接使用。 可执行文件参与程序执行。所以elf也提供了两种并行视图,链接视图和执行视图。
在这里插入图片描述

1.《ELF格式解析》(Understanding ELF):作者是美国著名程序员John R. Levine,这本书是对ELF文件格式最全面和最深入的讲解之一。2.《程序员的自我修养》:作者是俄罗斯程序员大牛俄罗斯程序员大牛陈皓,本书从程序员的基础能力入手,阐述了编程语言、编译原理、操作系统、网络协议等领域的知识。3.《Linux内核源代码情景分析》:本书的作者是一名国内的Linux内核专家,通过分析Linux内核的源代码,介绍了Linux操作系统的内部机制和实现方法,其中也包括了ELF文件格式的相关内容。

2.《程序员的自我修养》:作者是俄罗斯程序员大牛俄罗斯程序员大牛陈皓,本书从程序员的基础能力入手,阐述了编程语言、编译原理、操作系统、网络协议等领域的知识。

3.elf文件格式分析.pdf 滕启明

4.《Linux内核源代码情景分析》:本书的作者是一名国内的Linux内核专家,通过分析Linux内核的源代码,介绍了Linux操作系统的内部机制和实现方法,其中也包括了ELF文件格式的相关内容。

参考资料
总结
通过以上的定义以及示例讲解,相信大家已经对ELF的文件格式有所了解了,如果想要继续深挖ELF文件的细节,大家可以参考以下这些资料。

1.https://en.wikipedia.org/wiki/Executable_and_Linkable_Format
2.https://linux-audit.com/elf-binaries-on-linux-understanding-and-analysis/
3.https://refspecs.linuxfoundation.org/elf/elf.pdf
4.https://paper.seebug.org/papers/Archive/refs/elf/Understanding_ELF.pdf
5.https://learningos.cn/ucore_os_webdocs/
https://learningos.cn/ucore_os_webdocs/lab1/lab1_3_2_4_elf.html

6.https://blog.csdn.net/xuehuafeiwu123/article/details/72963229

7.https://blog.51cto.com/lyshark/5976731?articleABtest=1

8.https://hex-rays.com//ida-pro/

10.https://blog.csdn.net/vdigital/article/details/131333998

文章来源:https://blog.csdn.net/m0_37564426/article/details/135438711
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。