1) Не могу понять Функции таблицы директорий (_IMAGE_DATA_DIRECTORY) и таблицы разделов (_IMAGE_SECTION_HEADER). Вернее, я понимаю, что они как бы описывают разные по назначению части файла (например часть кода, данных и т.д.), но в чем разница м/у массивом из _IMAGE_DATA_DIRECTORY и массивом из _IMAGE_SECTION_HEADER? Нельзя было обойтись чем нибудь одним? Ведь вроде они описывают одно и тоже... 2) Язык Assembler оперирует сегментами. В PE-файле секции — это сегменты? Как сегменты выглядят в PE-файле?
Критика должна быть конструктивной? Несешь ты околесицу, начни с iczelion'a, купи книгу по ассемблему, и самое главное - никому не верь, все перепроверяй И еще совет: задавай вопросы правильно, а то скоро бить будут, возможно даже ногами, сейчас тяжелая ситуация на форуме.
Ладно поставим вопрос по другому: В чем назначение таблицы директорий (массив элементов _IMAGE_DATA_DIRECTORY) и таблицы разделов (массив элементов _IMAGE_SECTION_HEADER)? (Они ведь очень похожи, например есть секция ".edata" и есть элемент массива из элементов типа IMAGE_DATA_DIRECTORY под индексом 0 - IMAGE_DIRECTORY_ENTRY_EXPORT. По сути они описывают одно и тоже - раздел экспорта. Я не понимаю зачем одновременно нужны и таблица директорий и таблица разделов? Можно было бы в PE-файле обойтись и чем нибудь одним. В чем предназначение вышеописанных таблиц?)
1)Читайте: Wasm.ru - Статьи - Исследование программ - Об упаковщиках в последний раз: Часть первая от Volodya / HI-TECH и NEOx / UINC.RU Всё подробно расписано. "IMAGE_SECTION_HEADER Заметьте, этот заголовок также описывает секции, но IMAGE_DATA_DIRECTORY и IMAGE_SECTION_HEADER - это разные вещи! Например, директория импорта может лежать и в секции .data. В этом случае IMAGE_SECTION_HEADER опишет нам атрибуты .data, а указатель на директорию импорта, которая лежит ВНУТРИ .data мы возьмём из IMAGE_DATA_DIRECTORY" "Не путайте понятие "Секция" (section) и "Директория" (directory). Директории (импорта, экспорта, ресурсов, исключений или чего-то еще) находятся ВНУТРИ секций. Заметьте, секция определяет разбиение PE-файла на части, но секции глубоко все равно, какой тип данных будет находится внутри нее. Для того, чтобы охарактеризовать тип, у нас есть директории! Директории характеризуют данные, содержащиеся в PE, по их типу и функциональности. Таким образом, можно говорить, что секция является физическим разбиением PE файла на состовляющие, а директория - логическим." 2)"В PE-файле секции — это сегменты?" Нет. Секции - это секции. А про сегменты читайте цикл статей "Защищенный режим / Процессор Intel в защищенном режиме" от Broken Sword. Поиск по сайту для чего существует?