Библиотека дескрипторов двоичных файлов GNU Binutils - пример формата - PullRequest
3 голосов
/ 23 сентября 2011

Как в заголовке.Я попытался прочитать код ELF BFD, но это не легкое чтение.Я также пытался получить что-то из документации, но мне нужен пример, чтобы увидеть, как это работает.Может ли кто-нибудь показать мне более простой пример для меня, чтобы узнать, как определить исполняемый формат?

Редактировать : Похоже, я не сформулировал вопрос правильно.Я спрашиваю не «как создать собственную спецификацию исполняемого формата?», Ни «где хорошая документация ELF?», Но «как я могу реализовать свой собственный исполняемый формат с использованием GNU BFD?».

Ответы [ 3 ]

4 голосов
/ 02 октября 2011

Вы смотрели здесь http://sourceware.org/binutils/docs-2.21/bfd/index.html и здесь http://sourceware.org/binutils/binutils-porting-guide.txt?

Также изучает реализацию MMO бэкэнда BFD, как упомянуто здесь http://sourceware.org/binutils/docs-2.21/bfd/mmo.html#mmo (источник: http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/mmo.c?cvsroot=src) может быть менее сложным, чем запуск с ELF ...; -)

2 голосов
/ 30 сентября 2011

Я согласен, что документация BFD несколько отсутствует. Вот несколько лучших источников:

Вот несколько читаемых введений:

И некоторые примеры, которые не используют libbfd:

1 голос
/ 23 сентября 2011

Файл DOS COM является самым простым форматом.

Загрузка до 64 КБ менее 256 байтов в сегменте: 0100h, установите DS, ES, SS = seg, SP = FFFFh и перейдите к сегменту: 0100h

...