C语言的ELF文件格式学习】的更多相关文章

最近的lab里面有ELF文件相关的,所以成这个几乎,学点ELF的东西. ELF,是一种文件格式.暂时,只看可执行文件的ELF文件格式. 首先,给出文件的格式的布局图: 光看这个很难理解,所以写一个小的程序,用readelf来结合的看. 程序比较简单: #include <stdio.h> #include <stdlib.h> int data[100] ={0}; int bss[100]; int main() { int i=0; for(i=0; i<100; i++…
ELF文件格式学习总结 ELF文件格式学习总结1. 概述2. 目标文件结构3. ELF文件头3.1 魔数3.2 文件类型3.3 机器类型4. ELF文件内容4.1段表4.2字符串表(.**strtab)4.3符号表4.4重定位段(.rel.***) 1. 概述 ELF文件全称是Executable Linking Format(可执行连接格式),最初由unix系统实验室发布,它是应用程序二进制接口(Application Binary Interface,ABI)的一部分.在linux下,它是可…
ELF(Executable and Linking Format)文件格式是一个开放标准,各种UNIX系统的可执行文件都采用ELF格式,ELF是一种对象文件的格式,用于定义不同类型的对象文件(Object files)的内容是什么.以及都以怎样的格式去存放这些内容.它有三种不同的类型: 1.  可重定位的目标文件(Relocatable) 这是由汇编器汇编生成的 .o 文件.后面的链接器把一个或多个可重定位的目标文件作为输入,经链接处理后,生成一个可执行的对象文件 (Executable fi…
ELF(Executable and Linking Format)是一种对象文件的格式,用于定义不同类型的对象文件(Object files)中都放了什么东西.以及都以什么样的格式去放这些东西.它自最早在 System V 系统上出现后,被 xNIX 世界所广泛接受,作为缺省的二进制文件格式来使用.可以说,ELF是构成众多xNIX系统的基础之一,所以作为嵌入式Linux系统乃至内核驱动程序开发人员,你最好熟悉并掌握它. 其实,关于ELF这个主题,网络上已经有相当多的文章存在,但是其介绍的内容比…
一.ELF文件格式概述 1. ELF文件 ELF:Executable and Linking Format,是一种对象文件的格式,用于定义不同类型的对象文件(Object files)中都放了什么东西.以及都以什么样的格式去放这些东西. 2. 三种类型 (1)可重定位文件 编译器和汇编器创建 运行前需要被链接器处理 (2)可执行文件 完成了所有重定位工作和符号解析 除了运行时解析的共享库符号 (3)共享库文件 链接器需要的符号信息 运行时可以直接执行的代码 二.分析一个ELF文件 以一个最简单…
实践2.4 ELF文件格式分析 1.ELF文件头 查看/usr/include/elf.h文件: #define EI_NIDENT (16) typedef struct { unsigned char e_ident[EI_NIDENT]; /* 魔数和其他信息 */ Elf32_Half e_type; /* 目标文件类型 */ Elf32_Half e_machine; /* 硬件平台 */ Elf32_Word e_version; /* elf头部版本 */ Elf32_Addr e…
ELF--Linux下可执行文件格式   1.类型          常见的ELF格式文件包括:                                                                  ELF文件格式类型   2.常用工具        2.1 objdump --查看文件结构信息       2.2 nm --查看对象文件的符号信息         3.目标文件结构                                            …
摘要:本文主要讲解elf文件格式,通过readelf命令结合底层的相关数据结构,讲解相关内容,分析程序运行的基本原理. 本文来源:elf 文件格式探秘——程序运行背后的故事 http://blog.csdn.net/trochiluses/article/details/10373921 1.elf 文件格式概览 elf文件大体上由文件头和相关的section组成,而每个section由header和data组成. 2.elf文件头 文件头的数据结构: 1 typedef struct { un…
ELF文件格式,全称为Excutable and Linking Format,是一个开放的可执行文件和链接文件格式,在LINUX上很流行,跨平台软件的设计也多以ELF格式作为标准,其结构扩展性兼容性都很强. ELF结构分析起来主要有两种模式,一是编译时模式,另一个是运行时模式,同一个文件在不同的时期用不同的眼光看,数据虽然没变化,但是着重点是不同的,在编译器,文件以数据节的形式分区,在运行时期,文件以程序段的形式分区 基本结构如下 可以看到,段,其实就是由节组成的,这篇文章中我们仅仅讨论节,也…
2.4   ELF文件格式分析 20135318 刘浩晨 ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文件(目标文件)格式主要三种: 1)可重定向文件:文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件.(目标文件或者静态库文件,即linux通常后缀为.a和.o的文件) 2)可执行文件:文件保存着一个用来执行的程序.(例如bash,gcc等) 3)共享目标文件:共…