Общая структура РЕмодуля
Общая структура РЕ-модуля.
Начало заголовка ЕХЕ-файлов в 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, т.е. страницы образов.