Ассемблер для Windows


Секция экспорта ( edata) Общая структура



Секция экспорта (.edata). Общая структура

1Таблица собственно экспорта   Export Directory Table

2   Адресная таблица   Export Address Table

3   Таблица указателей на имена   Export Name Table Pointers

4   Таблица номеров   Export Ordinal Table

5   Таблица самих имен   Export Name Table

1. Таблица экспорта

Смещение

Длина поля

Название поля

Описание поля

00h

DWORD

Flags

Зарезервировано, должно быть равно нулю.

04h

DWORD

Time/Date Stamp

Время и дата создания экспортных данных.

08h

WORD

Major Version

Старший номер версии таблицы экспорта. Не используется.

0Ah

DWORD

Minor Version

Младший номер версии таблицы экспорта, также не используется.

0Ch

DWORD

Name RVA

Относительный адрес строки, указывающей на имя нашей библиотеки.

10h

DWORD

Ordinal Base

Начальный номер экспорта, для функций, экспортируемых данным модулем.

14h

DWORD

Num of Functions

Количество функций экспортируемых данным модулем, является числом элементов массива Address Table (см.ниже).

18h

DWORD

Num of Name Pointers

Число указателей на имена, обычно равно числу функций, но это не так, если у нас есть функции, экспортируемые только по номеру.

1Ch

DWORD

Address Table RVA

Указатель на таблицу относительных адресов экспортируемых функций.

20h

DWORD

Name Pointers RVA

Указатель на таблицу указателей на имена экспортируемых функций данного модуля.

24h

DWORD

Ordinal Table RVA

Указатель на таблицу номеров экспорта, данный массив по индексам параллелен Name Pointers, элементами являются слова.

2. Таблица адресов экспорта. Эта структура данных содержит адреса экспортируемых функций (их точки входа) в формате DWORD (по 4 байта на элемент). Для доступа к данным используется номер функции с коррекцией на базу номеров (Ordinal Base).

3. Таблица указателей на имена. Данная структура содержит указатели на имена экспортируемых функций, указатели отсортированы в лексическом порядке для обеспечения возможности бинарного поиска. Каждый указатель занимает 4 байта. Имена функций обычно лежат в секции экспорта.




- Начало -  - Назад -  - Вперед -