Лабораторная работа 1. Структура PE

advertisement
Лабораторная работа 1. Структура PE-файлов
Лабораторная работа посвящена изучению структуры PE-файлов.
Portable Executable — (PE — переносимый исполняемый) — формат исполняемых файлов,
объектного кода и динамических библиотек, используемый в 32- и 64-битных версиях
операционной системы Microsoft Windows. Формат PE представляет собой структуру данных,
содержащую всю информацию, необходимую PE загрузчику для проецирования файла в память.
Исполняемый код включает в себя ссылки для связывания динамически загружаемых библиотек,
таблицы экспорта и импорта API функций, данные для управления ресурсами и данные локальной
памяти потока (TLS). В операционных системах Windows формат PE используется для EXE, DLL, SYS
(драйверов устройств), и других типов исполняемых файлов.
PE файл состоит из следующих частей:
1. Заголовок MS-DOS
2. Исполняемая секция MS-DOS
3. Заголовок PE
4. Заголовки секций
5. Содержимое секций
Ниже перечислены основные секции PE файлов:

bss – неинициализированные данные

data – инициализированные данные

edata – таблица экспорта

idata – таблица импорта

rdata – данные только для чтения

rsrc – ресурсы

text – исполняемый код
Названия секций не стандартизированы, поэтому данные одного и того же вида (например,
таблица импорта) могут находиться в разных секциях у файлов, созданных разными
компиляторами. Чтобы правильно определить в какой именно секции искать нужные данные,
необходимо анализировать заголовок исполняемого файла.
Задание
Написать программу, разбирающую переданный ей в качестве параметра PE файл, и выводящую
требуемую информацию о нем. Вид выводимой информации определяется индивидуальным
заданием.
Содержание отчета
1. Текст задания
2. Описание разбираемой секции файла
3. Текст программы
4. Результаты тестирования программы
Контрольные вопросы
1. Что содержит секция .data?
2. Какие данные хранятся в секции .text?
3. Для чего используются таблицы импорта?
4. Какова роль таблицы экспорта?
Список литературы
1. http://www.csn.ul.ie/~caolan/publink/winresdump/winresdump/doc/pefile2.html
2. http://www.wasm.ru/article.php?article=green2red02
Download