2011-06-13 31 views
3

在PE(对于Windows)中,可以通过#include<windows.h>来读取该结构的头/节,并且可以使用结构PIMAGE_DOS_HEADER来读取任何PE文件中的dos头。FreeBSD&Linux中的ELF文件结构

如何在FreeBSD/Linux中为ELF标题做这件事?在C/C++代码的头部需要添加哪种预处理器? 从ELF的结构来看,FreeBSD和Linux有什么区别吗?

+0

ELF结构将使用简单的Google搜索为您提供。我相信你可以轻松找到关于如何阅读标题的信息。你有没有尝试过? – 2011-06-13 08:16:49

+1

是的,我试图搜索,但由于英语不好,我无法轻松地看到答案。 – Ahmed 2011-06-13 08:19:01

+1

是的,但要求lib读取Linux中的ELF文件并不比其他许多其他人在本网站上回答的问题更糟糕。 – 2011-06-13 08:23:13

回答

5

您正在寻找libelf

+0

非常有用。 thanx – Ahmed 2011-06-13 08:49:08

+0

或者你可以使用elf.h,如果你想要的话,它定义了相关的数据结构。 – ysdx 2015-09-03 07:10:45

1

我不能保证为FreeBSD ,b UT在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 Tiny Executable步行通过更加有用。我相信许多技术都过时了(并且从来都不是一个好主意),但他们解释得很好。

+0

谢谢sarnold。 – Ahmed 2011-06-13 08:48:27

+0

啊,是的。 MuppetLabs的东西真的很好。 +1 – 2011-06-13 08:49:36