Уроки Iczelion'а




Урок 3. Файловый заголовок - часть 2


/p>

Вкратце. Только три параметра, более менее, полезны для нас: Machine, NumberOfSections и Characteristics. Как правило, вы не должны изменять значения Machine и Characteristics, но вы должны использовать это значение NumberOfSections, когда переходите к таблице секций.

Я опережаю события, но для того, чтобы проиллюстрировать использование NumberOfSections, я должен немного отвлечься на таблицу секций.

Таблица секций - это массив структур. Каждая структура содержит информацию о секции. То есть, если файл содержит три секции, будет 3 члена в этом массиве. Вам нужно значение параметра NumberOfSections, чтобы вы знали как много членов в этом массиве. За этим массивом следует pяд нулей, и Windows, по-моему мнению, использует этот факт, чтобы определять конец данного массива структур. Попробуйте установить значение NumberOfSections выше, чем на самом деле - Windows по-прежнему будет способен работать с файлом. Почему же мы не можем ингнорировать данный параметр? Существует несколько причин. Спецификация PE не указывает, что таблица секций должна кончаться структурой, состоящей из нулей. Может случиться ситуация, когда последний член массива вплотную прилегает к первой секции, без всякого свободного места. Другой причиной являются импорты. При компоновке в новом стиле информация следует непосредственно за последним членом таблицы секций. Вот почему вам нужен NumberOfSections.

[C] Iczelion, пер. Aquila.






Содержание  Назад  Вперед