Электронный учебник:


Курс лекций:


Дополнительно:

Практикум:



Наши хостеры:

Файлы

Формат PE файла.

            Фирма Microsoft разработала переносимый формат файла Portable Executable для использования во всех ОС. Эта же фирма разработала новый формат для объектных (obj) и для библиотечных (lib) файлов.

            В ОС UNIX же использовался другой формат. (VAX VMS).

            При разработке Windows NT в Microsoft перешли разработчики ОС UNIX. Они использовали привычные структуры. Форматы файлов, с которыми работали разработчики файлов назывались COFF (Common Object File Format).

            РЕ файлы явились усовершенствованием формата COFF. Этот формат назывался переносимым, потому что все реализации Windows NT в различных системах (MIPS, Alpha, Intel и т.д.) используют один и тот же формат файла.

            С вводом нового формата Microsoft использовала OMF (Object Module Format).

            В результате разработчики объектных и библиотечных файлов вынуждены были поставлять различные версии своих файлов.

Особенности РЕ формата:

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

2.      Использование относительного виртуального адреса (RVA – Relation Virtual Address). Многие поля в РЕ используют RVA. Смещение данного элемента по отношению к адресу, с которого начинается отображение файлов в память. Например, загрузчик Windows. Отобразим РЕ файл, начиная с адреса 400000h. Некоторая таблица начинается с адреса 40146h. Тогда RVA=1464h, то есть, чтобы перевести RVA в указатель нужно перевести RVA к базовому адресу.

3.      Понятие раздела или секции. Все exe файлы Windows 95 используют плоскую модель памяти, однако в них используется условное деление на секции и разделы. Каждая секция содержит или код или данные.

предыдущаяследующая