Секция экспорта ( 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 байта. Имена функций обычно лежат в секции экспорта.
Содержание Назад Вперед