1.75M
Category: programmingprogramming

Структура исполняемого PE файла. Механизмы загрузки исполняемого кода

1.

Структура исполняемого PE файла
Механизмы загрузки исполняемого кода.
Структура исполняемого PE файла.

2.

Структура исполняемого PE файла
Любой исполняемый файл программы в операционной системе windows состоит
из двух основных частей:

3.

Любой исполняемый файл программы в операционной системе windows состоит
из двух основных частей:
1. Заголовка, содержащего всю необходимую служебную информацию
использующуюся операционной системой для корректной загрузки
программы в оперативную память и передачи ей управления (переход на так
называемую точку входа в программу Еentry point)

4.

Структура исполняемого PE файла
2.
Секций, число секций может быть разным но всегда присутствуют как
минимум три:
секция исполняемого машинного кода - где представлены коды команд
исполняемые в ходе выполнения программы
секция данных – секция в которой размещаются все константы
используемые в программе (в том числе и строковые)

5.

Структура исполняемого PE файла
2.
Секций, число секций может быть разным но всегда присутствуют как
минимум три:
• секция импорта – где прописываются используемые программой
сторонние (импортируемые) функции и указываются имена библиотек
в которых расположена реализация этих функций.

6.

Структура исполняемого PE файла
Вернемся к заголовку. Надо отметить что заголовок содержит достаточно
большой объем информации, подробный анализ его содержимого мы
разберем позднее. Сейчас остановимся лишь на общих моментах.

7.

Структура исполняемого PE файла
Заголовок состоит из пяти основных частей содержащих служебную
информацию.

8.

Структура исполняемого PE файла
Любой PE файл начинается с DOS заголовка, а тот в свою очередь с двух
«магических» чисел 0х4D 0x5A, эти числа соответствуют символам «MZ» инициалы разработчика формата исполняемого файла Марка Збиковски.
Таким образом любой фай начинающийся с этих двух символов, будет
восприниматься операционной системой как исполняемый файл!

9.

Структура исполняемого PE файла
Далее идет так называемая DOS заглушка – по сути микропрограмма
предназначенная для вывода одной единственной строчки на экран: «This
program cannot be run in DOS mode». Эта микропрограмма добавлена для
обратной совместимости и строчка появится при попытке запуска
исполняемого файла в очень очень старой операционной системе MSDOS.

10.

Структура исполняемого PE файла
Далее следует PE заголовок который начинается с символов «PE»= 0х50 0х45
и содержит некоторую служебную информацию:

11.

Структура исполняемого PE файла
Далее следует PE заголовок который начинается с символов «PE»= 0х50 0х45
и содержит некоторую служебную информацию: количество секций в файле,
тип процессора (используемая система команд), тип исполняемого файла
(.exe , .dll …)

12.

Структура исполняемого PE файла
После PE заголовка идет опциальный заголовок который начинается с кода
используемой платформы х86 (0х01 0х0B) или х64 и содержит некоторую
служебную информацию:

13.

Структура исполняемого PE файла
После PE заголовка идет опциальный заголовок который начинается с кода
используемой платформы х86 (0х01 0х0B) или х64 и содержит некоторую
служебную информацию: адрес точки входа в программу (адрес первой
команды программного кода), предпочтительный адрес загрузки программы
(куда грузить в ОЗУ программу), версия Windows под которую написана
программа, необходимый для загрузки объем оперативной памяти, тип
подсистемы драйверов (консольное или оконное приложение) и.т.д…

14.

Структура исполняемого PE файла
Итого мы рассмотрели основы структуры PE файла .
English     Русский Rules