Строение PE-файла

Тема в разделе "WASM.BEGINNERS", создана пользователем FAIR, 30 окт 2005.

  1. FAIR

    FAIR New Member

    Публикаций:
    0
    Регистрация:
    10 сен 2005
    Сообщения:
    17
    1) Не могу понять Функции таблицы директорий (_IMAGE_DATA_DIRECTORY) и таблицы разделов (_IMAGE_SECTION_HEADER). Вернее, я понимаю, что они как бы описывают разные по назначению части файла (например часть кода, данных и т.д.), но в чем разница м/у массивом из _IMAGE_DATA_DIRECTORY и массивом из _IMAGE_SECTION_HEADER? Нельзя было обойтись чем нибудь одним? Ведь вроде они описывают одно и тоже...



    2) Язык Assembler оперирует сегментами. В PE-файле секции — это сегменты? Как сегменты выглядят в PE-файле?
     
  2. Saint German

    Saint German New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2003
    Сообщения:
    222
    Критика должна быть конструктивной? Несешь ты околесицу, начни с iczelion'a, купи книгу по ассемблему, и самое главное - никому не верь, все перепроверяй:) И еще совет:

    задавай вопросы правильно, а то скоро бить будут, возможно даже ногами:), сейчас тяжелая ситуация на форуме.
     
  3. FAIR

    FAIR New Member

    Публикаций:
    0
    Регистрация:
    10 сен 2005
    Сообщения:
    17
    Ладно поставим вопрос по другому:

    В чем назначение таблицы директорий (массив элементов _IMAGE_DATA_DIRECTORY) и таблицы разделов (массив элементов _IMAGE_SECTION_HEADER)? (Они ведь очень похожи, например есть секция ".edata" и есть элемент массива из элементов типа IMAGE_DATA_DIRECTORY под индексом 0 - IMAGE_DIRECTORY_ENTRY_EXPORT. По сути они описывают одно и тоже - раздел экспорта. Я не понимаю зачем одновременно нужны и таблица директорий и таблица разделов? Можно было бы в PE-файле обойтись и чем нибудь одним. В чем предназначение вышеописанных таблиц?)
     
  4. Azrael

    Azrael New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2005
    Сообщения:
    38
    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.

    Поиск по сайту для чего существует?
     
  5. FAIR

    FAIR New Member

    Публикаций:
    0
    Регистрация:
    10 сен 2005
    Сообщения:
    17
    спасибо за помощь