FreeBSD 和 Linux 中的 ELF 文件结构
ELF file structure in FreeBSD & Linux
在PE(适用于windows)中,可以通过#include<windows.h>
读取该结构的头/节,也可以使用结构体PIMAGE_DOS_HEADER
读取任何PE文件中的dos头。
如何在FreeBSD/Linux中为ELF头执行此操作?在C/C++代码的开头需要添加什么类型的预处理器?FreeBSD和Linux在ELF的结构上有什么不同吗?
您正在寻找libelf。
查看readelf的来源。或者只是谷歌。例如http://www.scribd.com/doc/7027807/ELF-Format看起来很有希望。
如果您只想要现有的代码,请尝试http://www.linux.com/learn/docs/man/2838-elf5.
以下是一些可以帮助您的指针:
-
Oracle文章LibElf和GElf-一个操作ELf文件的库
-
GElf
-
Libelf主页
我不能担保FreeBSD,但在Linux上,elf(5)
手册页中有很多细节:
NAME
elf - format of Executable and Linking Format (ELF) files
SYNOPSIS
#include <elf.h>
DESCRIPTION
The header file <elf.h> defines the format of ELF executable
binary files. Amongst these files are normal executable
files, relocatable object files, core files and shared
libraries.
...
当我需要了解ELF时,我发现没有什么比MuppetLabs微型可执行程序更有用的了。我确信许多技术已经过时了(而且从来都不是一个好主意),但它们解释得很好。
相关文章:
- 在 elf 文件中查找全局变量的位置
- Windows 将标准的 C 文件结构注入到正在运行的进程中
- 是否有可能使用debug_info获取ELF文件的源代码?
- 如何读取/查询文件系统和文件结构
- 为什么我不能像C++中的小端序文件那样读取大端 ELF 文件?
- C++/Python 中对象和结构的二进制文件结构
- 在 C++ 和 C# 之间共享内存映射文件结构
- 在文件结构中使用字符串而不是带有 read() 和 write() 的字符数组
- C++ while 循环在自定义文件结构中
- QT C 读取自定义文件结构
- 编辑 ELF 文件中的变量值
- CPP 头文件结构错误
- 安卓rom文件结构和调试
- 强制将符号置于 ELF 文件的顶部
- 文件映射和文件结构
- 文件结构,以避免数据损坏
- 文件处理中给出奇怪值的流(指向文件结构的指针)
- 用于从堆栈转储和.elf文件中提取FreeRTOS/ARM/ c++堆栈跟踪的工具
- 程序c++程序的文件结构
- FreeBSD 和 Linux 中的 ELF 文件结构