ошибка readelf: не эльф файл, неправильные магические байты в начале

Я пытаюсь изучить и использовать Elfreader, скомпилировав простую программу hello world в файл elf как-

gcc -o test test.c

Файл компилируется правильно и работает идеально. Но когда я пытаюсь запустить на нем ReadElf,

readelf -h test

он возвращается

readelf: Error: Not and ELF file - it has the wrong magic bytes at the start

Как вы думаете, что я делаю неправильно, или это проблема с моим скриптом компоновщика? Дайте мне знать, если вам нужна дополнительная информация от меня.


person Steve H    schedule 22.04.2013    source источник
comment
Это был довольно глупый вопрос с моей стороны. Ответ довольно прост (или я должен сказать, что в вопросе не указано, что я использую среду Windows-Cygwin). Я использовал cygwin в Windows. Созданный таким образом исполняемый файл был файлом формата .exe, а не файлом формата ELF. Очевидно, что readelf вернул эту ошибку, поскольку предпринятый файл не является допустимым ELF.   -  person Steve H    schedule 28.06.2013


Ответы (1)


Вы можете проверить тип формата файла следующим образом:

$ objdump -t hello.exe

hello.exe: формат файла pei-i386

Может быть, я предполагаю, что ваш файл не в формате эльфа.

person LinuxBeginner    schedule 10.04.2019