Structure

  •  Programme header
  • Section
  • Symbol table

Programme header

  • An executable or shared object file's program header table is an array of structures.
  • each describing a segment or other information the system needs to prepare the program for execution.
  • An object file segment contains one or more sections.
  • Program headers are meaningful only for executable and shared object files.
  • A file specifies its own program header size with the ELF header's e_phentsize and e_phnum members.
  • typedef struct {

    • Elf32_Word p_type;//tells what kind of segment this array element describes or how to interpret the array element's information.
    • Elf32_Off p_offset;//gives the offset from the beginning of the file at which the first byte of the segment resides.
    • Elf32_Addr p_vaddr;//gives the virtual address at which the first byte of the segment resides in memory.
    • Elf32_Addr p_paddr; //On systems for which physical addressing is relevant, this member is reserved for the segment's physical address.
    • Elf32_Word p_filesz; //This member gives the number of bytes in the file image of the segment; it may be zero.
    • Elf32_Word p_memsz; //This member gives the number of bytes in the memory image of the segment; it may be zero.
    • Elf32_Word p_flags; //This member gives flags relevant to the segment.
    • Elf32_Word p_align; //This member gives the value to which the segments are aligned in memory and in the file.
  • } Elf32_Phdr;
  • p_type

      • Name             Value             meaning
      • PT_NULL        0                          The array element is unused
      • PT_LOAD        1                           The array element specifies a loadable segment
      • PT_DYNAMIC      2                           The array element specifies dynamic linking information
      • PT_INTERP       3                           The array element specifies the location and size of a null- terminated path name to invoke as an interpreter
      • PT_NOTE       4                      The array element specifies the location and size of auxiliary information
      • PT_SHLIB         5                             This segment type is reserved, has unspecified semantics
      • PT_PHDR         6                             specifies the location and size of the program header table itself
      • PT_LOPROC         0x70000000         reserved for processor-specific semantics
      • PT_HIPROC       0x7fffffff

SYM File的更多相关文章

  1. Android dump .so 文件crash log

    众所周知,在android系统上,有时候我们遇到so文件的crash仅仅能打log,可是非常多时候并不知道crash在什么地方,幸运的是crash后,一般能够产生一个.dmp文件. 我们能够依据这个文 ...

  2. vxworks固件分析

    前言 vxworks 的固件分析流程 1.用binwalk查看固件基本信息并解压固件 2.获取固件相关信息, cpu架构,大小端 3.确定固件的加载地址 4.用IDA加载固件,并修复符号表 5. 分析 ...

  3. Schematic - "DesignEntry 30 ERROR Instance referencing symbol is out of date"

    Schematic - "DesignEntry 30 ERROR Instance referencing symbol is out of date"     Descript ...

  4. objcopy使用

    objcopy - copy and translate object files:用于二进制文件的拷贝和翻译(转化) objcopy的man文件如下所示: objcopy [-F bfdname|- ...

  5. make file教程(转)

    最近在学习Linux下的C编程,买了一本叫<Linux环境下的C编程指南>读到makefile就越看越迷糊,可能是我的理解能不行. 于是google到了以下这篇文章.通俗易懂.然后把它贴出 ...

  6. Keil AGDI Header File

    #ifndef __AGDI__INCED___ #define __AGDI__INCED___ //---Revision History: --------------------------- ...

  7. windbg Symbol file path

    SOS是一个调试器扩展,用于调试.NET应用程序.它提供了一组非常丰富的命令,这些命令使开发人员可以对CLR进行深入分析,并且有助于找出应用程序中各种复杂错误的原因.   由于SOS能够提供CLR内部 ...

  8. WARNING: Can not get binary dependencies for file...

    环境: window7 64bit python 3.5 pyinstaller 3.2 用pyinstaller 将python文件打包成exe文件的过程中,出现了如下的错误 C:\Users\ca ...

  9. ERROR: Symbol file could not be found 寒江孤钓<<windows 内核安全编程>> 学习笔记

    手动下载了Symbols,设置好了Symbols File Path,串口连接上了以后,出现ERROR: Symbol file could not be found, 并且会一直不停的出现windb ...

随机推荐

  1. linux防火墙设置常用命令

    1.永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2.即时生效,重启后复原 开启: service iptabl ...

  2. IIS Express服务器遇到400/503/IIS Express Error的解决办法

    目前脑子比较乱.下午想让室友从局域网中它的主机访问我电脑上自己部署的一个网站,可是接二连三遇到了400,503,...等问题,弄得有点头大.还好现在解决了.下面记录一下遇到的问题: (不知道为什么图片 ...

  3. Checked Exceptions

    记得当年在程序员杂志上看出这次访谈,10多年过去了, 这件事儿最近被重提了, 原因是 Kotlin. 1.对Checked Exceptions特性持保留态度 (译者注:在写一段程序时,如果没有用tr ...

  4. 新增和编辑clob字段

    #region 新的数据新增和修改方法 /// <summary> /// 添加信息 /// </summary> /// <returns></return ...

  5. c#获取url请求的返回值

    /// <summary> /// 获取url的返回值 /// </summary> /// <param name="url">eg:http ...

  6. 如何让浏览器直接输出HTML代码而不解析

    方法一: 将HTML代码嵌入到<script type='text/html' style='display:block'></scipt>中 <script type= ...

  7. 解决Ubuntu19.04下网易云音乐打不开的问题

    Ubuntu19.04下打开网易云音乐的v18.04版会出现以下错误: opt/netease/netease-cloud-music/netease-cloud-music: symbol look ...

  8. 微信小程序之跳转、请求、带参数请求小例子

    wx.request(OBJECT) wx.request发起的是 HTTPS 请求.一个微信小程序,同时只能有5个网络请求连接. 具体参数说明参看微信小程序官方文档-发起请求. 例: //当页面加载 ...

  9. Java基于opencv—归一化

    Opencv中提供了resize函数,可以把图像调整到相同大小 Java中resize函数的声明,内部调用的都是native方法 public static void resize(Mat src, ...

  10. angular6 导出json数据到excal表

    1 首先使用npm下载插件依赖的安装包   npm install file-saver --save   npm install xlsx --save   2 引入项目中的ts文件中   impo ...