ELF文件结构
来源:互联网 发布:掌握淘宝模特动作技巧 编辑:程序博客网 时间:2024/05/16 02:21
32位文件头的结构定义如下所示,即Elf32_Ehdr结构:
typedef struct {unsigned char e_ident[16]; /* ELF魔数,ELF字长,字节序,ELF文件版本等 */Elf32_Half e_type; /*ELF文件类型,REL, 可执行文件,共享目标文件等 */Elf32_Half e_machine; /* ELF的CPU平台属性 */Elf32_Word e_version; /* ELF版本号 */Elf32_Addr e_entry; /* ELF程序的入口虚拟地址,REL一般没有入口地址为0 */Elf32_Off e_phoff; Elf32_Off e_shoff; /* 段表在文件中的偏移 */Elf32_Word e_flags; /* 用于标识ELF文件平台相关的属性 */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_type=1,表明它是重定位文件,连接视图;
如果e_type=2,表明它是可执行文件,装载运行;
如果e_type=3,表明它是共享动态库文件,装载运行;
如果e_type=4,表明它是中断状态文件,视图依赖于具体的实现。
接下来是程序头:
typedefstruct{Elf32_Wordp_type;/*段类型*/Elf32_Offp_offset;/*在文件中的偏移*/Elf32_Addrp_vaddr;/*执行时的虚地址*/Elf32_Addrp_paddr;/*执行时的物理地址*/Elf32_Wordp_filesz;/*在文件中的字节数*/Elf32_Wordp_memsz;/*在内存中的字节数*/Elf32_Wordp_flags;/*标志*/Elf32_Wordp_align;/*字节对齐*/}Elf32_Phdr;
许多个装载内容的节点头:
typedefstruct{Elf32_Wordsh_name;/*节名索引*/Elf32_Wordsh_type;/*节类型*/Elf32_Wordsh_flags;/*加载和读写标志*/Elf32_Addrsh_addr;/*执行时的虚地址*/Elf32_Offsh_offset;/*在文件中的偏移*/Elf32_Wordsh_size;/*字节大小*/Elf32_Wordsh_link;/*与其他节的关联*/Elf32_Wordsh_info;/*其他信息*/Elf32_Wordsh_addralign;/*字节对齐*/Elf32_Wordsh_entsize;/*如果由表项组成,每个表项的大小*/}Elf32_Shdr;
0 0
- ELF文件结构描述
- ELF文件结构
- elf文件结构描述
- ELF 文件结构
- ELF文件结构
- ELF文件结构
- ELF文件结构
- ELF文件结构
- ELF文件结构
- ELF文件结构描述
- ELF文件头结构
- ELF文件结构详解
- ELF文件结构
- ELF目标文件结构
- ELF 文件的结构01
- ELF(Executable and Linkable Format)文件结构
- Linux下ELF文件的基本结构
- Linux 可重定位文件 ELF结构
- 代价函数
- 前端学习-jQuery学习小笔记(1)——jQ基础以及各种选择器
- PHP 的检测 函数--关于变量类型、数据存在性、可用性 的检测函数
- 深度学习实践系列(2)- 搭建notMNIST的深度神经网络
- zend Studio快捷键
- ELF文件结构
- 网卡中断不均衡处理
- Lumen路由不正确问题
- 网页设计部分概念简述
- LeetCode | 5. Longest Palindromic Substring(回文串)
- Android音频焦点AudioFocus使用
- Android音频焦点
- spring-mvc 起不来
- Leetcode 380. Insert Delete GetRandom O(1)