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

举报
韩曙亮 发表于 2022/01/13 23:05:48 2022/01/13
【摘要】 文章目录 一、ELF 文件简介二、ELF 文件结构 一、ELF 文件简介 ELF 文件是 Executable and Linkable Format ( 可执行 ...





一、ELF 文件简介



ELF 文件是 Executable and Linkable Format ( 可执行 和 可链接 格式 ) 的文件 ;

链接 一般是在编译阶段 , 执行 一般是在运行阶段 ; 在这两个阶段都会用到 ELF 格式的文件 ;

参考 【C 语言】编译过程 分析 ( 预处理 | 编译 | 汇编 | 链接 | 宏定义 | 条件编译 | 编译器指示字 ) 博客 ;

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 程序头 会告知 节区头部表的位置 ;
  • 节区或段
  • 节区头部表 : 节区头部表 会告知 ELF 文件中有多少个 节区 , 一般 节区头部表 一般都在 ELF 文件尾部 ;

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/120983153

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。