Win32 в машинных кодах


           

Теперь рассмотрим все подробнее. Поскольку


Теперь рассмотрим все подробнее. Поскольку попытка запуска создаваемых нами программ под DOS маловероятна, можно без особых проблем обойтись без программы-заглушки DOS. PE-заголовок в этом случае будет следовать сразу за старым заголовком DOS, а именно - непосредственно после 4-байтного поля со смещением 3Ch, т.е. по смещению 40h (само поле 3Ch будет содержать в данном случае это же значение). Единственное, что нужно еще оставить в старом заголовке - это сигнатуру в виде 2 ASCII-символов 'MZ' в начале файла (байты 4Dh 5Ah). Остальные поля могут содержать нули - загрузчик Windows их не использует.

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

Таблица 1. PE-заголовок

СмещениеРазмер, байтПолеТипичное значение 04Сигнатура 'PE'50h 45h 00 00 42Тип процессора14Ch 62Число секций в образе программы- 84Время/дата создания файла- 0Ch4Указатель на таблицу символов0 10h4Количество отладочных символов0 14h2Размер дополнительного заголовкаE0h 16h2Тип файла10Fh 18h2"Магическое" значение10Bh 1Ah1Старшая версия компоновщика- 1Bh1Младшая версия компоновщика- 1Ch4Размер кода- 20h4Размер инициализированных данных- 24h4Размер неинициализированных данных- 28h4Смещение точки входа- 2Ch4Смещение секции кода в памяти- 30h4Смещение секции данных в памяти- 34h4Адрес загрузки образа в память400000h 38h4Выравнивание секций в памяти1000h 3Ch4Выравнивание в файле200h 40h2Старшая версия Windows4 42h2Младшая версия Windows0 44h2Старшая версия образа- 46h2Младшая версия образа-
Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий