学习
实践
活动
专区
工具
TVP
写文章
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

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

    ELF文件程序表头和代码实现ELF文件加载

    前面章节我们了解了ELF文件的头部结构,这次我们深入了解另一个非常重要的数据结构,那就是程序表头。操作系统严重依赖该结构来加载ELF文件或是实现动态链接。 程序表头反映的是当ELF加载到内存后所形成的“视图”或结构,也就是说ELF文件存在硬盘上或者被加载到内存,它展现出来的形态不一致。 最后p_align表示内存对齐方式,它的取值为2的指数,同时p_vaddr必须等于(p_offset % p_align) 了解了ELF二进制内部原理后,我们需要实现手动加载ELF文件,实现这个目标,我们需要依赖一个库叫 Binary类用于对整个elf文件的抽象,通过它可以访问ELF文件相关信息,Section是对前面章节描述的段对象的抽象,Symbol是对前面章节符号表对象的抽象。 load_binary是来自libbfd库提供的函数,它将elf文件加载到内存中。

    54330

    ELF文件结构描述

    ELF目标文件格式最前部ELF文件头(ELF Header),它包含了描述了整个文件的基本属性,比如ELF文件版本、目标机器型号、程序入口地址等。 ELF文件头结构及相关常数被定义在“/usr/include/elf.h”,因为ELF文件在各种平台下都通用,ELF文件有32位版本和64位版本的ELF文件的文件头内容是一样的,只不过有些成员的大小不一样 Elf32_Word e_version; Elf32_Addr e_entry; Elf32_Off e_phoff; Elf32_Off e_shoff; Elf32 _Word e_flags; Elf32_Half e_ehsize; Elf32_Half e_phentsize; Elf32_Half e_phnum; Elf32 段表 段表就是保存ELF文件中各种各样段的基本属性的结构。段表是ELF除了文件以外的最重要结构体,它描述了ELF的各个段的信息,ELF文件的段结构就是由段表决定的。

    89550

    ELF 64 格式详解

    本篇介绍 本篇详细介绍下ELF 64的文件格式。 ELF文件分类 可重定位文件(.o),包含代码和数据,但是代码和数据都没有指定绝对地址,需要链接其他目标文件来生成可执行文件或共享目标文件 共享目标文件(.so),包含代码和数据,以供链接器使用 可执行文件 , 包含代码和数据,是可以执行运行的程序,代码和数据都有固定的地址 ELF文件内容 一个ELF文件需要包含以下部分: elf文件头,必须出现在elf文件的开头 节头表(Section header table ELF节 节包含了ELF文件中除了文件头,程序段头表,节头表之外的所有内容。 #define ELF64_R_SYM(i)((i) >> 32) #define ELF64_R_TYPE(i)((i) & 0xf f f f f f f f L) #define ELF64_R_INFO

    8620

    ELF文件格式的详解

    ELF文件格式的详解 1.说明 2.elf文件的基本格式 3.elf文件的头部信息 4.elf文件的节区(Section) 4.1 节区的作用 4.2 节区的组成 5.elf文件的段(Segment) 2.elf文件的基本格式 elf文件是有一定的格式的,从文件的格式上来说,分为汇编器的链接视角与程序的执行视角两种去分析ELF文件。 ? 为了彻底的弄清楚elf文件的内容,可以先从ELF文件的头部开始分析。 3.elf文件的头部信息 对于elf头部文件信息,首先可以可以查看一下内存的布局情况: ? EL_VERSION表示了elf的头部版本号码。 前面四个基本上确定的,内容第一个字符为7f,后面用ELF字符串表示该文件为ELF格式。 当程序执行的时候输入python elf_parse.py rtthread.elf就可以向下执行了。 第二步:校验elf 该函数的作用主要是校验elf文件,并且将相关的信息存到字典里面。

    3.8K54

    扒一扒ELF文件

    ELF文件格式 4.1 从编译和链接角度看ELF文件(可重定位目标文件) 4.2 从程序执行角度看ELF文件(可执行文件) 5.总结 1. ELF文件作用   ELF文件参与程序的连接(建立一个程序)和程序的执行(运行一个程序),所以可以从不同的角度来看待ELF格式的文件:   1.如果用于编译和链接(可重定位文件),则编译器和链接器将把 ELF文件格式 4.1 从编译和链接角度看ELF文件(可重定位目标文件) ? 从编译和链接角度看ELF文件 ELF头   每个ELF文件都必须存在一个ELF_He ader,这里存放了很多重要的信息用来描述整个文件的组织,如: 版本信息,入口信息,偏移信息等。 Elf32_Word sh_flags; //节标志:该节在虚拟空间中的访问属性 Elf32_Addr sh_addr; //虚拟地址:若可被加载,则对应虚拟地址 Elf32_Off

    23520

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 样本智能分析平台

      样本智能分析平台

      腾讯云样本智能分析平台 是一套恶意样本智能分析鉴定平台,依靠自研深度沙箱,实现自动化、智能化、可定制化的样本分析,从而精准高效地对现网中的恶意样本进行打击。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券