Как прочитать конкретные байты из файла используя язык С?

У меня есть название исполняемого файла формата ELF. Мне нужно прочитать из заголовка адрес точки входа, который, согласно википедии, хранится с 24 по 28 байт. Если интересно само задание, вот - https://stepik.org/lesson/44344/step/13?unit=22153.
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
SagePtr
@SagePtr
Еда - это святое
Эти функции в помощь: fopen fseek fread fclose
Если это не поможет - то программирование явно не ваше - либо увольняйтесь, либо [вырезано роскомнадзором].
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Мне нужно прочитать из заголовка адрес точки входа

Обычно заводят структуру описывающую заголовок, читают в неё заголовок целиком, а потом достают интересующий член структуры. В частности, на linux для ELF определения заголовков Elf32_Ehdr и Elf64_Ehdr можно найти в /usr/include/linux/elf.h
Вместо чтения в память из файла можно замэпить часть файла в адресное пространство процесса, см. man mmap.
Ответ написан
Комментировать
CityCat4
@CityCat4 Куратор тега C
//COPY01 EXEC PGM=IEBGENER
man open
man seek
man read
man close

:D
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы