Заголовок ре файла.
Заголовок – это набор полей, которые определяют, как будет выглядеть остальная часть файла.
Несколько сотен байт РЕ файлов заняты под заглушку (‘This program must be run under Windows’). В DOS MZ заголовке находится указатель RVA на заголовок РЕ файла. База данных модуля начинается с сигнатуры, с помощью которой определяется тип файла.
РЕ - исполняемый Win32
NE - исполняемый Win16
LE - драйверы
LX - исполняемый OS/2
В базе данных модуля содержатся следующие поля:
Тип процессора для которого предназначен файл.
Время, когда файл был создан компоновщиком (ехе) или компилятором (obj). В этом поле указывается количество секунд, прошедших с 16:00 31 декабря 1969 года.
Версия компоновщика, который создал данный файл в формате minor/major, то есть х.х.
Суммарный размер программных секций, округлённых к верхней границе. Обычно это одна секция. Верхняя граница составляет 4 Кб.
Общий размер всех секций, состоящий из инициализированных данных, то есть глобальные переменные и константы, начальные значения которых определены.
Адрес, с которого начинается выполнение программного кода.
R VA, с которого начинаются программные секции файла. RVA обычно равен для ехе файлов 1000h.
RVA, с которого начинается секция данных.
Адрес, с которого файл должен отображаться в виртуальное адресное пространство. Для Windows 95,98 это 400000h, для Windows NT/2000 – это 010000h.
Самая старая версия ОС, которая может использовать данный файл в формате х.х.
Размер заголовка РЕ файла и таблица секций.
Объём виртуальной памяти, которая резервируется под начальный стек потока.
Количество памяти, которое изначально выделяется под стек потока.
Объём виртуальной памяти, резервируемый под кучу процесса по умолчанию.
Объём физической памяти, который выделяется под кучу и другие поля.
После заголовка идёт таблица секций. Она содержит информацию о каждой секции файла. Записи в таблице секций упорядочиваются по стартовому адресу. Каждая запись в таблице секций состоит из следующих полей:
8 байтовое имя секции в стандарте ASCII. Имена секций присваиваются обычно компилятором. Мы можем и сами создать секцию (надо уметь использовать ASM).
Если имя секции занимает 8 байт, то отсутствует завершающий нуль.
RVA, когда загрузчик должен отобразить секцию.
Размер секции, выровненный на ближайшую верхнюю границу размера файла. Файл делится на области, кратные 512 байт.
- Средства аппаратной поддержки управления памятью в микропроцессорах Intel.
- 0000 Смещение
- Стек потока под управлением Windows nt (2000).
- Кучи. Кучи в Windows nt (2000).
- 5. Файлы, проецируемые в память.
- 6.Объекты ядра. Процессы, потоки и модули в Win32.
- Структура modref.
- Основные функции для работы с потоками.
- 7. Распределение времени между потоками. Классы приоритета. Уровни приоритета. Относительный уровень приоритета потока.
- Классы и уровни приоритета.
- Функции Win32 связанные с планированием.
- 8. Учет квантов времени в Windows. Управление величиной кванта. Сценарии планирования процессорного времени.
- Сценарий планирования.
- Поток простоя.
- 9. Динамическое повышение приоритета потока.
- 10 Синхронизация потоков.
- 11. Динамически подключаемые библиотеки (dll). Явная и неявная загрузка dll.
- 12. Обработка сообщения в ос Window.
- 13. Системная очередь аппаратного ввода сообщений.
- 14. Работа с окнами в ос Windows. Классы окон. Z-порядок окон. Описание окон в ос Windows.
- 15. Существующие форматы исполняемых файлов. Формат pe-файла.
- Особенности ре формата:
- Заголовок ре файла.
- Основные секции исполняемого файла.
- Прикладная программа
- 16. Методы отслеживания изменений файловой системы
- 17. Файловая система fat. Структура системной области и области данных в fat.
- Загрузочный сектор.
- 18. Файловая система ntfs. Структура главной файловой таблицы (mft). Атрибуты файла ntfs. Резидентные и нерезидентные атрибуты.
- Особенности ntfs.
- Структура ntfs на диске.
- Атрибуты файла.
- 19. Структура больших файлов и каталогов в ntfs. Индексация файлов в ntfs.
- 20. Восстанавливаемость ntfs. Протоколирование транзакций. Журнал транзакций. Восстановление данных в ntfs.
- Журнал транзакций.
- Восстановление данных в ntfs.