zoukankan      html  css  js  c++  java
  • ELF Format 笔记(一)—— 概述

    ilocker:关注 Android 安全(新手) QQ: 2597294287

    ELF Object files 参与程序的链接和执行,从这两个角度分别有两种视图:

                           

    ELF header 位于文件的最开始处,描述整个文件的组织结构。

    Program Header Table 告诉系统如何创建进程镜像,在执行程序时必须存在,在 relocatable files 中则不需要。每个 program header 分别描述一个 segment,包括 segment 在文件和内存中的大小及地址等等。

    执行视图中的 segment 其实是由很多个 section 组成。在一个进程镜像中通常具有 text segment 和 data segment 等等。

    section 中可以包含数据或代码,典型的 section 包括.data(存放初始化过的全局变量)、.text(包含程序指令代码)、.rodata(包含程序中的只读数据)、.symtab(存放符号表)等等。

    每个 section 都需在 section header table 中有一个对应的项,描述 section 的名字、大小、类型和属性等等。

    在 ELF Object files 中,只有 ELF header 的位置固定,sections 和 segments 的位置都不固定。在解析时,通过 ELF header 的相应成员可以定位到他们的位置。

    下面是在描述 ELF Object files 文件格式时经常使用的数据类型:

     

    ilocker:关注 Android 安全(新手) QQ: 2597294287
  • 相关阅读:
    Ubuntu 系统装机指南
    java读取配置文件属性
    反转单链表 递归与非递归
    迟到的2013年终总结
    2014年阅读资料总结
    程序人生的四个象限和两条主线
    查找单链表中倒数第k个结点
    技术人员应真正学会的第二课程
    Linux“七大蠢”收录
    postman测试方法,出现400错误码
  • 原文地址:https://www.cnblogs.com/ilocker/p/4541936.html
Copyright © 2011-2022 走看看