elf文件资料格式(中文版)

合集下载

elf文件格式

elf文件格式

第1章文件格式1.1 Executable and Linking Format (ELF)1.1.1整体结构ELF对象格式用于目标文件(.o扩展名)和执行文件. 有些信息只出现在目标文件或执行文件中.ELF文件由下列部件构成. ELF header必须放在文件的开始;其他部件可以随便排放(ELF header给出了其他部件的偏移量).1.1.2ELF头[ELF Header]ELF头包含目标文件的一般信息;具有如下结构(from elf.h):#define EI_NIDENT 16typedef struct {unsigned char e_ident[EI_NIDENT];Elf32_Half e_e_type;Elf32_Half e_machine;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_Half e_shentsize;Elf32_Half e_shnum;Elf32_Half e_shstrndx;};ELF头域描述:1.1.3程序头[Program Header]程序头为一结构数组,每个元素描述执行文件的一个可载入段.元素结构如下(from elf.h):typedef struct {Elf32_Word p_type;Elf32_Off p_offset;Elf32_Addr p_vaddr;Elf32_Addr p_paddr;Elf32_Word p_filesz;Elf32_Word p_memsz;Elf32_Word p_flags;Elf32_Word p_align;} Elf32_Phdr;1.1.4Section HeadersELF文件中的每个section的都有激励[incitation]头; Section个数由ELF Header中的e_shnum域指明. Section headers结构如下(from elf.h):typedef struct {Elf32_Word sh_name;Elf32_Word sh_type;Elf32_Word sh_flags;Elf32_Addr sh_addr;Elf32_Off sh_offset;Elf32_Word sh_size;Elf32_Word sh_link;Elf32_Word sh_info;Elf32_Word sh_addralign;Elf32_Word sh_entsize;} Elf32_Shdr;1.1.5Special Sections1.1.6重定位信息[Relocation Information]重定位信息section包含关于非确定引用[unresolved references]的信息.因为编译器[compilers]和汇编器[assemblers]不知道符号将分配的绝对内存地址,和别的文件的符号定义;所以对符号的每个引用都将创建一个重定位条目. 该条目指向地址(where the reference is being made), 和指向包含被引用符号的符号表. 连接器[linker]给所有符号分配地址之后, 将使用重定位信息添入正确的地址. 执行文件没有重定位section.例如: 汇编表示符号加上偏移:move.l var+16,d0偏移量存储在r_addend域,这样,符号真实地址加上该地址域将产生一个正确的引用.重定位条目有如下结构(from elf.h):typedef struct {Elf32_Addr r_offset;Elf32_Word r_info;Elf32_Sword r_addend;} Elf32_Rel;1.1.7符号表符号表section .symtab为一数组,数组元素包含关于被ELF文件引用的符号的信息.符号表条目有如下结构(from elf.h):typedef struct {ELF32_Word st_name;ELF32_Addr st_value;ELF32_Word st_size;unsigned char st_info;unsigned char st_other;Elf32_Half sth_shndx;} Elf32_Sym;1.1.8串表串表sections( .strtab和.shstrtab)包含符号表中符号名和section名.名都以null结束. 这些符号通过偏移指向[point into]串表. 串表的第一字节总是零, 其后所有串顺序存放.。

elf格式文件解析

elf格式文件解析

ELF可执行文件的解析与加载ELF文件格式简介1.1前言ELF-可执行链接格式最初是由UNIX系统实验室(USL)作为应用程序二进制接口(ABI)开发和发行。

工具接口标准委员会TIS已经将ELF作为运行在Intel32位架构之上的各类型操作系统的可导出对象文件格式标准。

ELF标准为开发者提供了一组横跨多运行环境的二进制接口定义来组织软件开发。

1.2对象文件1.2.1 介绍本部分描述了ABI对象文件格式,也称之为ELF。

有三种主要类型的对象文件:1. 可重组(relocatable)文件包含了适合用来链接其他对象文件的代码和数据,从而创建出可执行或可共享的对象文件;2. 可执行(executable)文件包含了用于执行的程序,该文件规定了exec如何创建一个程序的进程映像;3. 可共享对象(shared object)文件包含了用来在两个上下文之间链接的代码和数据。

首先,链接器ld将该文件和其他的可重组文件或可共享对象文件进行处理后,创建出新对象文件,其次,动态链接器将该新对象文件与可执行文件或共享对象组合,来共同创建一个进程映像;经过汇编器以及链接器创建成的对象文件,其是在处理器上可直接执行的程序的二进制代表。

本部分主要描述文件格式以及其如何用来构建程序。

后一部分也描述了对象文件,集中在程序执行所必须的信息上。

1.2.1.1 文件格式在程序链接和程序执行过程都涉及到对象文件。

出于方便和效率,对象文件格式图从链接和运行两个视角来展示文件的内容。

ELF header位于文件的开始处,其用来描述文件的组织结构。

Section包含了大量的对象文件信息,从链接的视角来看就是指令、数据、符号表、重组信息等等。

Segment和Program是从程序执行视角来观看的,这将在下部分讲解。

如果存在Program Header table的话,其将告诉操作系统如何创建进程映像。

用来创建进程映像(执行程序)的文件必须包含program header table。

elf文件格式(中文版)

elf文件格式(中文版)

序言1. OBJECT文件导言ELF头(ELF Header)SectionsString表(String Table)Symbol表(Symbol Table)重定位(Relocation)2. 程序装载与动态连接导言Program头(Program Header)Program装载(Program Loading)Dynamic连接(Dynamic Linking)3. C LIBRARYC Library________________________________________________________________导言________________________________________________________________ ELF: 可执行连接格式可执行连接格式是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface(ABI)而开发和发布的。

工具接口标准委员会(TIS)选择了正在发展中的ELF标准作为工作在32位INTEL体系上不同操作系统之间可移植的二进制文件格式。

假定开发者定义了一个二进制接口集合,ELF标准用它来支持流线型的软件发展。

应该减少不同执行接口的数量。

因此可以减少重新编程重新编译的代码。

关于这篇文档这篇文档是为那些想创建目标文件或者在不同的操作系统上执行文件的开发着准备的。

它分以下三个部分:* 第一部分, “目标文件Object Files”描述了ELF目标文件格式三种主要的类型。

* 第二部分, “程序转载和动态连接”描述了目标文件的信息和系统在创建运行时程序的行为。

* 第三部分, “C 语言库”列出了所有包含在libsys中的符号,标准的ANSI C和libc的运行程序,还有libc运行程序所需的全局的数据符号。

注意: 参考的X86体系已经被改成了Intel体系。

________________________________________________________________1. 目标文件(Object file)________________________________________________________________========================= 序言=========================第一部分描述了iABI的object文件的格式, 被称为ELF(Executableand Linking Format). 在object文件中有三种主要的类型。

ELF文件格式

ELF文件格式

ELF文件格式在介绍ELF格式之前,先简单说明一下可执行文件的生成流程:1)编写C源文件,或汇编源文件;2)准备共享库格式的目标文件(shared object file),如数学库、标准库;2)用编译器(compiler)将C编译成可重定位格式的目标文件(relocatable object file),用汇编器(assembler)将汇编源文件编译成可重定位格式的目标文件;3)用连接器(linker)将第二步的共享个库文件和第三步生成的目标文件链接生成可执行文件(executable file)。

ELF(excutable and linking format)是一种可执行可链接格式的二进制文件,它可以用来表示relocatable file、executable file或者shared object file,这三者都是目标文件(object file)。

所谓“可执行”指可以被调入内存供CPU直接运行;“可链接”指多个ELF格式的目标文件可以被链接在一起形成一个可执行文件。

下图左边是可链接格式的ELF文件格式,右边是可执行格式的ELF文件格式。

无论是linking view还是execution view的ELF文件,他们都包含一个ELF Header,它包含文件的基本信息。

ELF自定义了一些类型,并强制规定了他们所占的字节个数,以实现跨平台,如Elf32_Half占2字节、Elf32_Word占4字节、Elf32_Off占4字节等。

1typedef struct2{3unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */ 4Elf32_Half e_type; /*目标文件类型 */5Elf32_Half e_machine; /*Architecture */6Elf32_Word e_version; /* Object file version */7Elf32_Addr e_entry; /*入口地址 */8Elf32_Off e_phoff; /* Program header table文件偏移 */ 9Elf32_Off e_shoff; /* Section header table 文件偏移 */ 10Elf32_Word e_flags; /* Processor-specific flags */11Elf32_Half e_ehsize; /* ELF header 大小 */12Elf32_Half e_phentsize; /*每个Program header大小 */13Elf32_Half e_phnum; /*一共多少个Program header */14Elf32_Half e_shentsize; /* 每个Section header大小 */15Elf32_Half e_shnum; /*一共多少个 Section header */16Elf32_Half e_shstrndx; /*Section的字符表在section header table的索引值 */17} Elf32_Ehdr;18e_ident[EI_NIDENT]是一个有16个字节的数组,e_ident[0]=0x7f,e_ident[1]=”E”,e_ident[2]=”L”,e_ident[3]=”F”,e_ident[4]指示ELFCLASS(0:ELFCLASSNONE;1:ELFCLASS32;2:ELFCLASS64),e_ident[5]指示程序中的数据格式(0:无效;1:小端;2:大端),e_ident[6]指示版本固定为0x1,e_ident[7]到e_ident[14]固定为0,e_ident[15]固定为16用于指示e_ident[]数组有16个元素。

Android平台ELF文件格式

Android平台ELF文件格式

Android平台ELF⽂件格式ELF英⽂全程为:Executable Linkable Format,ELF属于Linux平台下可执⾏⽂件。

ELF⽂件格式与Windows下的PE(Portable Executable)⽂件格式相似,都是属于COFF(Common File Format)⽂件格式变种。

⾕歌的Android操作系统内核采⽤Linux内核框架实现,所以Android平台原⽣⽂件格式与Linux可执⾏⽂件格式完全相似,同属于ELF类型⽂件。

Android平台下游戏逻辑通常使⽤C、C++语⾔实现,编译之后的可执⾏⽂件属于ELF⽂件格式,ELF⽂件格式整体布局如下图所⽰:⾕歌的Android NDK提供⼯具⽅便开发者查看ELF⽂件格式,对应⼯具名为:arm-linux-androideabi-readelf,⼯具所在NDK 根⽬录的相对路径为:android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\,arm-linux-androideabi-readelf⼯具部分使⽤说明如下图所⽰:本章使⽤“libTest.so”⽂件作为实例介绍ELF格式信息。

下⾯将详细讲解ELF⽂件格式,以便让读者对Android平台原⽣程序的⽂件格式有较好理解。

1.1.1⽂件头信息ELF⽂件头描述⽂件基本属性信息,包括ELF⽂件版本号、⽬标机器型号、程序⼊⼝、段表描述信息等信息。

ELF⽂件头数据⼤⼩为0x34字节,实例⽂件的ELF⽂件头信息⼆进制数据如下所⽰:上图中标为蓝⾊的数据为ELF⽂件头⼆进制内存数据,最右边可明显看出有“ELF”字符串,读者也许已猜到数据对应ELF⽂件标志,即判断是否为ELF⽂件表⽰。

arm-linux-androideabi-readelf⼯具可⽅便查看ELF⽂件头信息。

利⽤arm-linux-androideabi-readelf⼯具查看ELF⽂件头信息命令如下:arm-linux-androideabi-readelf.exe -h libTest.so对应获取的⽂件头信息如下:上图重要信息解释如下:Magic:表⽰魔数标志信息,⽤来指明该⽂件是⼀个ELF⽬标⽂件,第⼀个字节固定为“7F”,后⾯三个字节为E、L、F字母的ASCII数值。

ELF文件格式

ELF文件格式

ELF文件格式•目标文件有三种类型:–可重定位文件(Relocatable File)包含适合于与其他目标文件链接来创建可执行文件或者共享目标文件的代码和数据。

–可执行文件(Executable File)包含适合于执行的一个程序,此文件规定了exec()如何创建一个程序的进程映像。

–共享目标文件(Shared Object File)包含可在两种上下文中链接的代码和数据。

首先链接编辑器可以将它和其它可重定位文件和共享目标文件一起处理,生成另外一个目标文件。

其次,动态链接器(Dynamic Linker)可能将它与某个可执行文件以及其它共享目标一起组合,创建进程映像。

•目标文件全部是程序的二进制表示,目的是直接在某种处理器上直接执行。

ELF格式文件目前是UNIX系统非常常见二进制文件格式,ELF文件格式主要3大部分,ELF 文件头,节区表,和节区。

对于可执行文件对应的是段表,段。

下面这3部分简单分布情况,上面这条横条可以看成ELF文件从头到尾。

对于ELF头,节区表,节区都对应分布在文件里面,通过偏移来表示其对应在文件的位置。

2、ELF头对应字段的意义简单用下图来说明,其他字段可以对应解析3、节区相关信息4、对于节区经常使用的两个信息字段sh_info,sh_link对应字段意义5、对于一个ELF目标文件,通常都会有以下几个节区,可以通readelf–S test.oSection Headers:[Nr]Name Type Addr Off Size ES Flg Lk Inf Al [0]NULL0000000000000000000000000[1].text PROGBITS0000000000003400001100AX004[2].data PROGBITS0000000000004800000000WA004[3].bss NOBITS0000000000004800000000WA004[4].comment PROGBITS0000000000004800002a00001[5].note.GNU-stack PROGBITS0000000000007200000000001[6].shstrtab STRTAB0000000000007200004500001[7].symtab SYMTAB0000000000022000008010874[8].strtab STRTAB000000000002a000000a00001符号表:对应于.symtab,它保存着目标文件中所有的符号信息字符串表:.strtab,保存字符窜信息。

ELF文件格式分析

ELF文件格式分析

ELF⽂件格式分析⼀般的 ELF ⽂件包括三个索引表:ELF header,Program header table,Section header table。

1)ELF header:在⽂件的开始,保存了路线图,描述了该⽂件的组织情况。

2)Program header table:告诉系统如何创建进程映像。

⽤来构造进程映像的⽬标⽂件必须具有程序头部表,可重定位⽂件不需要这个表。

3)Section header table :包含了描述⽂件节区的信息,每个节区在表中都有⼀项,每⼀项给出诸如节区名称、节区⼤⼩这类信息。

⽤于链接的⽬标⽂件必须包含节区头部表,其他⽬标⽂件可以有,也可以没有这个表。

⼀、分析ELF⽂件头vi /usr/include/elf.h查看elf头数据结构⽤readelf –h 1(可执⾏⽂件名)读取⼀个简单可执⾏⽂件的elf头可见elf头⼤⼩为52字节,⽤dump命令16进制读取前52个字节进⾏分析命令:hexdump –x 1 –n 52解析:第⼀⾏,对应e_ident[EI_NIDENT]。

⼩端法实际表⽰内容为7f454c46010101000000000000000000,前四个字节为elf固定开头7f454c46(0x45,0x4c,0x46是'e','l','f'对应的ascii编码),表⽰这是⼀个ELF对象。

接下来的⼀个字节01表⽰是⼀个32位对象,接下来的⼀个字节01表⽰是⼩端法表⽰,再接下来的⼀个字节01表⽰⽂件头版本。

剩下的默认都设置为0.第⼆⾏,e_type值为0x0002,表⽰是⼀个可执⾏⽂件。

e_machine值为0x0003,表⽰是intel80386处理器体系结构。

e_version值为0x00000001,表⽰是当前版本。

e_entry值为0x08048320,表⽰⼊⼝点。

e_phoff值为0x00000034,表⽰程序头表的偏移量为0x34即52个字节刚好是elf头⼤⼩。

ELF格式-中文

ELF格式-中文

________________________________________________________________EXECUTABLE AND LINKABLE FORMAT (ELF)Portable Formats Specification, Version 1.1Tool Interface Standards (TIS)________________________________________________________________=========================== Contents 内容===========================序言1. OBJECT文件导言ELF头(ELF Header)SectionsString表(String Table)Symbol表(Symbol Table)重定位(Relocation)2. 程序装载与动态连接导言Program头(Program Header)Program装载(Program Loading)Dynamic连接(Dynamic Linking)3. C LIBRARYC Library________________________________________________________________导言________________________________________________________________ELF: 可执行连接格式可执行连接格式是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface(ABI)而开发和发布的。

工具接口标准委员会(TIS)选择了正在发展中的ELF标准作为工作在32位INTEL体系上不同操作系统之间可移植的二进制文件格式。

假定开发者定义了一个二进制接口集合,ELF标准用它来支持流线型的软件发展。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3. 页标题的容和文章的页脚已经在开始的时候被换掉了。

4. 文章的排版也已经修正过了。

5. 如果必要,不同的字体已经被忽略了。

大部分地方,这片文档能让你充分的理解。

然而,很小的地方,原始的文档使用了斜体字来指出文章中的字符变量。

在那种情况下,本文使用<尖括号>。

在原始的文档中没有出现尖括号。

6. 原始的文档有三个错误,如果你是不经意读它的话,是不会明显就能找出的。

但是在这里,明确的被鉴别出来了。

我很冒昧的纠正了那些错误。

在他们的位置用一个{*}做上了标记。

可能还有其他我没有看出来的的错误。

如果有如何其他的区别都是我的责任。

这样的错误请mailto:breadboxmuppetlabs..Brian Raiter[Last edited Fri Jul 23 1999]________________________________________________________________EXECUTABLE AND LINKABLE FORMAT (ELF)Portable Formats Specification, Version 1.1Tool Interface Standards (TIS)________________________________________________________________ =========================== Contents 容===========================序言1. OBJECT文件导言ELF头(ELF Header)SectionsString表(String Table)Symbol表(Symbol Table)重定位(Relocation)2. 程序装载与动态连接导言Program头(Program Header)Program装载(Program Loading)Dynamic连接(Dynamic Linking)3. C LIBRARYC Library________________________________________________________________导言________________________________________________________________ ELF: 可执行连接格式可执行连接格式是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface(ABI)而开发和发布的。

工具接口标准委员会(TIS)选择了正在发展中的ELF标准作为工作在32位INTEL体系上不同操作系统之间可移植的二进制文件格式。

假定开发者定义了一个二进制接口集合,ELF标准用它来支持流线型的软件发展。

应该减少不同执行接口的数量。

因此可以减少重新编程重新编译的代码。

关于这片文档这篇文档是为那些想创建目标文件或者在不同的操作系统上执行文件的开发着准备的。

它分以下三个部分:* 第一部分, “目标文件Object Files”描述了ELF目标文件格式三种主要的类型。

* 第二部分, “程序和动态连接”描述了目标文件的信息和系统在创建运行时程序的行为。

* 第三部分, “C 语言库”列出了所有包含在libsys中的符号,标准的ANSI C 和libc的运行程序,还有libc运行程序所需的全局的数据符号。

注意: 参考的X86体系已经被改成了Intel体系。

________________________________________________________________1. 目标文件(Object file)________________________________________________________________========================= 序言 =========================第一部分描述了iABI的object文件的格式, 被称为ELF(Executableand Linking Format). 在object文件中有三种主要的类型。

* 一个可重定位(relocatable)文件保存着代码和适当的数据,用来和其他的object文件一起来创建一个可执行文件或者是一个共享文件。

* 一个可执行(executable)文件保存着一个用来执行的程序;该文件指出了exec(BA_OS)如何来创建程序进程映象。

* 一个共享object文件保存着代码和合适的数据,用来被下面的两个器。

第一个是连接编辑器[请参看ld(SD_CMD)],可以和其他的可重定位和共享object文件来创建其他的object。

第二个是动态器,联合一个可执行文件和其他的共享object文件来创建一个进程映象。

一个object文件被汇编器和联接器创建, 想要在处理机上直接运行的object文件都是以二进制来存放的。

那些需要抽象机制的程序,比如象shell脚本,是不被接受的。

在介绍性的材料过后,第一部分主要围绕着文件的格式和关于如何建立程序。

第二部分也描述了object文件的几个组成部分,集中在执行程序所必须的信息上。

文件格式Object文件参与程序的联接(创建一个程序)和程序的执行(运行一个程序)。

object 文件格式提供了一个方便有效的方法并行的视角看待文件的容,在他们的活动中,反映出不同的需要。

例 1-1图显示了一个object文件的组织图。

+ 图1-1: Object文件格式Linking 视角 Execution 视角============ ==============ELF header ELF headerProgram header table (optional) Program header tableSection 1 Segment 1... Segment 2Section n ...Section header table Section header table (optional)一个ELF头在文件的开始,保存了路线图(road map),描述了该文件的组织情况。

sections保存着object 文件的信息,从连接角度看:包括指令,数据,符号表,重定位信息等等。

特别sections的描述会出项在以后的第一部分。

第二部分讨论了段和从程序的执行角度看文件。

假如一个程序头表(program header table)存在,那么它告诉系统如何来创建一个进程的存映象。

被用来建立进程映象(执行一个程序)的文件必须要有一个程序头表(program header table);可重定位文件不需要这个头表。

一个section头表(section header table)包含了描述文件sections的信息。

每个section在这个表中有一个入口;每个入口给出了该section的名字,大小,等等信息。

在联接过程中的文件必须有一个section头表;其他object文件可要可不要这个section头表。

注意: 虽然图显示出程序头表立刻出现在一个ELF头后,section头表跟着其他section部分出现,事实是的文件是可以不同的。

此外,sections和段(segments) 没有特别的顺序。

只有ELF头(elf header)是在文件的固定位置。

数据表示object文件格式支持8位、32位不同的处理器。

不过,它试图努力的在更大或更小的体系上运行。

因此,object文件描绘一些控制数据需要用与机器无关的格式,使它尽可能的用一般的方法甄别object文件和描述他们的容。

在object文件中剩余的数据使用目标处理器的编码方式,不管文件是在哪台机子上创建的。

+ 图 1-2: 32-Bit Data TypesName Size Alignment Purpose==== ==== ========= =======Elf32_Addr 4 4 Unsigned program addressElf32_Half 2 2 Unsigned medium integerElf32_Off 4 4 Unsigned file offsetElf32_Sword 4 4 Signed large integerElf32_Word 4 4 Unsigned large integerunsigned char 1 1 Unsigned small integer所有的object文件格式定义的数据结构是自然大小(natural size),为相关的类型调整指针。

如果需要,数据结构中明确的包含了确保4字节对齐的填充字段。

来使结构大小是4的倍数。

数据从文件的开始也有适当的对齐。

例如,一个包含了Elf32_Addr成员的结构将会在文件对齐到4字节的边界上。

因为移植性的原因,ELF不使用位字段。

========================== ELF Header ==========================一些object文件的控制结构能够增长的,所以ELF头包含了他们目前的大小。

假如object文件格式改变,程序可能会碰到或大或小他们不希望的控制结构。

程序也有可能忽略额外(extra)的信息。

对待来历不明(missing)的信息依靠上下文来解释,假如扩展被定义,它们将会被指定。

+ 图 1-3: ELF Header#define EI_NIDENT 16typedef struct {unsigned char e_ident[EI_NIDENT];Elf32_Half e_type;Elf32_Half e_machine;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_Half e_shentsize;Elf32_Half e_shnum;Elf32_Half e_shstrndx;} Elf32_Ehdr;* e_ident这个最初的字段标示了该文件为一个object文件,提供了一个机器无关的数据,解释文件的容。

在下面的ELF的鉴别(ELF Identification)部分有更详细的信息。

* e_type该成员确定该object的类型。

Name Value Meaning==== ===== =======ET_NONE 0 No file typeET_REL 1 Relocatable fileET_EXEC 2 Executable fileET_DYN 3 Shared object fileET_CORE 4 Core fileET_LOPROC 0xff00 Processor-specificET_HIPROC 0xffff Processor-specific虽然CORE的文件容未被指明,类型ET_CORE是保留的。

相关文档
最新文档