首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Android 逆向】ELF 文件格式 ( ELF 程序入口大小 | ELF 程序入口个数 | ELF 文件节区入口大小 | ELF 文件节区入口个数 | 字符表序号 )

文章目录 一、ELF 程序入口大小 二、ELF 程序入口个数 三、ELF 文件节区入口大小 四、ELF 文件节区入口个数 五、字符表序号 一、ELF 程序入口大小 ---- ELF 文件头 第...42 ~ 43 字节 : ELF 程序入口大小 ; 一般是 32 字节 ; 20 00 小端格式 , 低位在低地址 , 值为 32 ; 如下图所示 , 程序是由 7 个入口组成 , 每个入口大小是...32 字节 ; 二、ELF 程序入口个数 ---- ELF 文件头 第 44 ~ 45 字节 : ELF 程序入口个数 ; 这里是 7 个 ; 07 00 小端格式 , 低位在低地址 , 值为...; 一般是 40 个字节 ; 28 00 小端格式 , 低位在低地址 , 值为 40 ; 下图选中的部分 , 就是一个节区入口的大小 , 有 21 个节区入口 , 每个节区入口大小 40 字节...; 四、ELF 文件节区入口个数 ---- ELF 文件头 第 48 ~ 49 字节 : ELF 文件节区入口个数 ; 这里是 21 个 ; 15 00 小端格式 , 低位在低地址 , 值为 21

98720
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    elf格式分析

    近期研究了一下elf文件格式,发现好多资料写的都比較繁琐,可能会严重打击学习者的热情,我把自己研究的结果和大家分享,希望我的描写叙述可以简洁一些。...一、基础知识 elf是一种文件格式,用于存储Linux程序. 它内部都有一些什么信息呢?...所以说想明确elf格式,我们应该了解一下计算机运行程序须要那些信息。所以这一节,我们补充一些计算机系统的基础知识。...进程的创建和执行进程的创建和执行: 大致经历了下面步骤 1.用户请求执行程序时,操作系统会读取存储在磁盘上的可执行文件,在linux系统上这个文件就是我们的elf格式文件,为用户分配...设置该内存的权限是RE(可读,可运行),这一段的内容正好是elf,segments table,和代码段。

    81121

    ELF文件格式

    文章目录 源码到可执行文件 ELF文件格式 ELF File header Program header Section header 工具 Symbol Table 源码到可执行文件 linux中四类文件使用...https://man7.org/linux/man-pages/man5/elf.5.html 1999年86open项目选择ELF作为x86处理器上Unix和类Unix系统的标准二进制文件格式。...使用ELF的原因包括:灵活性、可扩展性、对不同字节序格式支持、跨平台支持地址size。...例如这些扩展名的文件一般都是elf格式:.axf, .bin, .elf, .o, .prx, .puff, .ko, .so, and .mod ELF文件格式 引用wiki的一张图: https...Section包含目标文件除了ELF文件头、程序表、section表的所有信息,而且目标文件section满足几个条件: 目标文件中的每个section都只有一个section头项描述,可以存在不指示任何

    1.6K30

    ELF 64 格式详解

    本篇介绍 本篇详细介绍下ELF 64的文件格式。..., 包含代码和数据,是可以执行运行的程序,代码和数据都有固定的地址 ELF文件内容 一个ELF文件需要包含以下部分: elf文件头,必须出现在elf文件的开头 节表(Section header table...,符号表等 节表和段表其实分别是链接和加载的视图,结构大致如下: image.png ELF 64的数据类型定义如下: image.png ELF文件头格式 文件头格式如下: image.png...ELF的大小,单位是字节 e_phentsize 程序段表项的大小,单位是字节 e_phnum 程序段表项的数量 e_shentsize 节表项的大小,单位是字节 e_shnum 节表项的数量...ELF节 节包含了ELF文件中除了文件头,程序段表,节表之外的所有内容。

    1.1K31

    【Android 逆向】ELF 文件格式 ( ELF 文件头 | ELF 文件头标志 | ELF 文件位数 | ELF 文件大小端格式 )

    文章目录 一、ELF 文件简介 二、ELF 文件头 三、ELF 文件头标志 四、ELF 文件位数 五、ELF 文件大小端格式 一、ELF 文件简介 ---- 在上一篇博客 【Android 逆向】ELF...文件格式 ( 安装 010 Editor 二进制查看工具的 ELF.bt 插件模板 | 安装 ELF.bt 模板 | 打开 ELF 文件 ) 中 , 准备 ELF 文件解析环境 , 在 010 Editor...文件是 32 位 文件 ; 五、ELF 文件大小端格式 ---- 5 字节 : 表示 有效位 格式 , 取值 LSB / MSB ; 此处值为 1 , LSB 格式 ; 这个值由编译器决定 ; 有些...CPU 加载 LSB 值快 , 有些 CPU 加载 MSB 值快 ; 大部分 程序 使用 LSB 格式 ; LSB 表示最低有效位 ( 小端格式 ) , MSB 表示最高有效位 ( 大端格式 ) ;...注意与 大端格式 / 小端格式 区分 , 概念不同 ; LSB 最低有效位 , 某种程度上等效于 小端格式 ;

    1K10

    【Android 逆向】ELF 文件格式 ( ELF 文件简介 | ELF 文件结构 )

    文章目录 一、ELF 文件简介 二、ELF 文件结构 一、ELF 文件简介 ---- ELF 文件是 Executable and Linkable Format ( 可执行 和 可链接 格式 ) 的文件...| 编译器指示字 ) 博客 ; ELF 文件 对应的 Linux 中的目标文件格式有 : 库文件 , 可执行文件 , 编译中间文件 ; 编译中间文件有 .a , .o , .s 文件 ; 库文件 ,...可执行文件 , 编译中间文件 , 都是 ELF 格式的文件 ; 在 Android 应用运行时 , ELF 文件的大部分内容 , 会被 映射到内存中 ; 这就意味着 Android 应用内存中的很多数据..., 会遵循 ELF 文件格式的规范 ; ELF 文件格式最常见的形式就是 .so 动态库 ; ELF 文件的特点 : ELF 文件是以 7F 45 4C 46 开头 , 其中 7F 是一个二进制标志..., 45 4C 46 是 ELF 字符对应的 ASCII 码 ; 二、ELF 文件结构 ---- ELF 文件由以下四部分组成 : ELF 文件头 ELF 程序 : ELF 程序 会告知 节区头部表的位置

    1.2K30

    ELF文件格式解析

    参考资料 ELF文件格式解析 《Android软件安全权威指南》8.4-原生程序文件格式 Android平台感染ELF文件实现模块注入 elf文件类型六 Dynamic Section(动态section...) 简单粗暴的so加解密实现   上边的资料对ELF文件格式的分析非常详细,这边主要记录一下自己感觉比较重要和掌握的不是很清楚的部分,增加一些自己的理解,也方便后续查阅。...中,这边我更倾向于将Sections独立出来,于是ELF被分为如下四部分: ELF Header:文件头 Program Header Table:程序表,包含多个Program Header Sections...:程序节区,ELF文件的主要内容存放与此 Section Header Table:节区表,包含多个Section Header   如图展示了ELF文件四个部分的空间上的组成,同时展示了ELF的两个视图...ELF Header   所有ELF文件首先都以一个64字节大小的ELF作为开头,其包含内容可以用readelf -h xxx.so或者拖入010Editor中用模板查看,如下图所示: 其中比较重要的就是它记录了

    2.5K40

    ELF文件格式的详解

    ELF文件格式的详解 1.说明 2.elf文件的基本格式 3.elf文件的头部信息 4.elf文件的节区(Section) 4.1 节区的作用 4.2 节区的组成 5.elf文件的段(Segment)...Binary Interface)接口的一部分,也是Linux的主要可执行文件格式。...2.elf文件的基本格式 elf文件是有一定的格式的,从文件的格式上来说,分为汇编器的链接视角与程序的执行视角两种去分析ELF文件。 ?...根据定义,elf32的结构体定义,在Linux上可以在/usr/include/elf.h中找到 #define EI_NIDENT (16) typedef struct { unsigned...e_phnum 目前取值为00 01,这里表示程序的个数当前只有一个程序,如果有多个程序表,那么会在elf头文件之后,也就是52个字节之后,依次向下排列。因为这里是1,所以只有1个程序

    6.3K54

    【Android 逆向】ELF 文件格式 ( 程序偏移量 | 节区偏移量 | 处理器特定标志 | ELF 文件头大小 )

    文章目录 一、程序偏移量 二、节区偏移量 三、处理器特定标志 四、ELF 文件头大小 一、程序偏移量 ---- ELF 文件头 第 28 ~ 31 字节 : 程序偏移量 ; 程序的位置 , 从整个...ELF 文件的第 0 字节开始计数 ; 34 00 00 00 小端格式 , 低位在低地址 , 值为 0x34 , 转为十进制为 52 ; 该值说明程序的起始位置是 ELF 文件的第 0x34 字节位置...; 二、节区偏移量 ---- ELF 文件头 第 32 ~ 35 字节 : 节区偏移量 ; 节区的位置 , 从整个 ELF 文件的第 0 字节开始计数 ; 0C 41 00 00 小端格式...36 ~ 39 字节 : 处理器特定标志 ; 默认为 0 ; 00 00 00 00 小端格式 , 低位在低地址 , 值为 0 ; 四、ELF 文件头大小 ---- ELF 文件头 第 40 ~ 41...字节 : ELF 文件头大小 ; 一般是 52 字节 ; 34 00 小端格式 , 低位在低地址 , 值为 52 ;

    34910

    PE格式:实现ELF结构解析工具

    ELF文件格式,是一个开放的可执行文件和链接文件格式,其主要工作在Linux系统上,是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件,ELF文件格式类似于PE格式,但比起PE结构来ELF...结构显得更加的简单,Linux文件结构相比于Windows结构来说简单一些.读取ELF: 首先需要先来编译一个简单的ELF文件,然后将文件编译并连接....|linux系统中的节头文件保存在/usr/include/elf.h我通过查找找到了ELF64所对应的结构数据typedef uint16_t Elf64_Half; 16typedef uint32...Elf64_Word e_version; /* ELF文件格式的版本 */ Elf64_Addr e_entry; /* 入口点虚拟地址...: 56ELF程序表计数: 9ELF表大小: 64ELF表计数: 31字符串表索引节: 30读取ELF节表: 首先打开elf.h头文件,找到这个声明处Elf64_Shdr.typedef uint32

    55500

    ELF格式及其常用的几个函数

    ELF 简介 ELF(Executable and Linkable Format)是一种可执行文件和可链接文件的标准格式,用于在Linux和Unix系统中存储程序和库文件。...它是一种二进制文件格式,包含程序的代码、数据、符号表、段表等信息。 ELF格式的文件由多个段(section)组成,每个段包含不同类型的信息,如代码段、数据段、符号表段等。...ELF格式的文件具有较好的可移植性和灵活性,可以在不同的操作系统和硬件平台上运行。它也支持动态链接和共享库,使得程序可以在运行时动态加载和链接库文件,提高了程序的灵活性和效率。...2 nm nm主要用于查看elf中的符号。 3 strip 用于删除elf文件中的符号信息和调试信息,用来减小elf文件的大小。 4 strings 用于查看elf文件中的字符串信息。...5 readelf 查看elf文件信息,功能强大。 6 objdump 另一个查看elf文件的工具。

    22210

    【Android 逆向】ELF 文件格式总结 ★★★

    ---- ELF 文件头 第 28 ~ 31 字节 : 程序偏移量 ; 程序的位置 , 从整个 ELF 文件的第 0 字节开始计数 ; 34 00 00 00 小端格式 , 低位在低地址 , 值为...; 节区的位置 , 从整个 ELF 文件的第 0 字节开始计数 ; 0C 41 00 00 小端格式 , 低位在低地址 , 值为 0x410C , 转为十进制为 16652 ; 该值说明节区的起始位置是..., 值为 52 ; 十四、ELF 程序入口大小 ---- ELF 文件头 第 42 ~ 43 字节 : ELF 程序入口大小 ; 一般是 32 字节 ; 20 00 小端格式 , 低位在低地址...; 这里是 7 个 ; 07 00 小端格式 , 低位在低地址 , 值为 7 ; 如下图所示 , 程序是由 7 个入口组成 , 每个入口大小是 32 字节 ; 十六、ELF 文件节区入口大小...---- ELF 文件头 第 46 ~ 47 字节 : ELF 文件节区入口大小字节数 ; 一般是 40 个字节 ; 28 00 小端格式 , 低位在低地址 , 值为 40 ; 下图选中的部分 ,

    55911

    【Android 逆向】ELF 文件格式 ( 安装 010 Editor 二进制查看工具的 ELF.bt 插件模板 | 安装 ELF.bt 模板 | 打开 ELF 文件 )

    文章目录 一、搜索并下载 ELF.bt 模板 二、安装 ELF.bt 模板 三、打开 ELF 文件 一、搜索并下载 ELF.bt 模板 ---- 进入 010 Editor 工具的插件模板下载页面 http.../010editor/repository/files/ELF.bt ; 可以在浏览器下载中 , 新建下载项 , 下载该 ELF.bt 文件 ; EXE.bt : 文件地址 https://www.sweetscape.com.../010editor/repository/files/DEX.bt 可以在浏览器下载中 , 新建下载项 , 下载该 ELF.bt 文件 ; 二、安装 ELF.bt 模板 ---- 选择 " 菜单栏.../ 模板 / 编辑模板列表 " 选项 , 在弹出的对话框中 , 新建一个模板 , 并指定模板对应文件 ; 三、打开 ELF 文件 ---- 选择打开 ELF 文件 : 打开文件后 , 选择 "...菜单栏 / 模板 / ELF 模板 " 选项 , 此时就可以在 模板结果 面板 , 看到 ELF 文件的四个组成部分 ;

    1.8K10

    链接加载原理及ELF文件格式

    linux环境下,链接和加载的机制最终有一个载体来承担,这个载体就是elf文件。所以从研究elf文件格式入手,是理解链接和加载原理的好方法。...elf文件 相关背景 Elf文件格式,是现有linux环境下最流行的可执行文件格式,在elf文件存储的信息之上,实现了相应的链接和加载特性。...Linux环境下可执行文件格式的发展历史是:a.out -> coff -> xcoff -> elf。...elf文件格式 Linux环境下,三种类型的执行文件都可以使用elf格式来表示:可重定位文件(即编译生成但是未连接的文件)、动态库文件、可执行文件。...整个文件的组织框图如上所示,ELF描述了section header table和program header table的起始位置、表项大小和个数。

    1.2K20
    领券