Структура файлов ELF во FreeBSD и Linux - PullRequest
3 голосов
/ 13 июня 2011

В PE (для окон) можно прочитать заголовки / разделы этой структуры по #include<windows.h> и использовать структуру PIMAGE_DOS_HEADER, например, для чтения заголовка dos в любом файле PE.

Как я могу сделать это для ELF-заголовка во FreeBSD / Linux?Какой тип препроцессора нужно добавить в начало кода C / C ++?Есть ли какая-то разница между FreeBSD и Linux с точки зрения структуры ELF?

Ответы [ 4 ]

5 голосов
/ 13 июня 2011

Вы ищете libelf .

2 голосов
/ 13 июня 2011

Вот несколько советов, которые должны вам помочь:

2 голосов
/ 13 июня 2011

Посмотрите на источники Readelf.Или просто Google.Например, это http://www.scribd.com/doc/7027807/ELF-Format выглядит многообещающе.

Если вам нужен только существующий код, попробуйте http://www.linux.com/learn/docs/man/2838-elf5.

1 голос
/ 13 июня 2011

Я не могу поручиться за 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 Tiny Executable Проход.Я уверен, что многие из методов устарели (и никогда не были хорошей идеей), но они очень хорошо объясняли вещи.

...