Общая структура РЕмодуля
Общая структура РЕ-модуля.
Начало заголовка ЕХЕ-файлов в WIN32 представляет собой небольшую DOS-программу, основное предназначение которой заключается в том, чтобы при запуске в операционной системе MS DOS сделать сообщение о том, что данный модуль не предназначен для работы в MS DOS. Программа LINK.EXE (TLINK32.EXE) устанавливает свой вариант DOS-программы. Однако при желании Вы всегда можете поставить свою программу-заглушку (stub в переводе заглушка).
Рассмотрим общую структуру РЕ-заголовка.
00H | Обычный DOS-заголовок. |
1CH | Четыре байта до выравнивания до 20Н байт, т.е. выравнивание до двух параграфов. |
20H | Информация о программе, обычно отсутствующая. |
3CH | Смещение 32-битного РЕ-заголовка. |
40H | Таблица перемещения для программы-заглушки. У стандартных заглушек таблица, разумеется, пуста. Не смотря на это TablOff должен показывать именно сюда. |
40H+?? | Здесь начинается тело самой заглушки, которая начинается за таблицей перемещения. Естественно, в стандартных заглушках нет ничего, кроме сообщения о невозможности запуска программы. Однако заглушка может иметь и весьма разрушительные свойства. |
?? | Здесь начинается собственно PE-заголовок. Сюда показывает содержимое четырех байт по адресу 3CH. Начало должно быть выровнено по 8-байтной границе. |
?? | Таблица описаний секций файлов (Object Table). |
?? | Остальная информация: coff-символы, отладочная информация, таблица импорта и таблица экспорта, ресурсы и т.д. Данный раздел называется Image Pages, т.е. страницы образов. |