Similar presentations:
Структура исполняемого 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 файла .