relocations

Тема в разделе "WASM.ASSEMBLER", создана пользователем K10, 27 дек 2008.

  1. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Подскажите, как найти релоки в DLL?
    DLL линкуется с опцией /MERGE:.reloc=.text , т.е. релоки размещаются в секции .text.
    Я правильно понимаю, что это подряд идущие DWORD'ы смещений?
     
  2. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    Не, там все релоки разбиты на части (т. е. частично упакованы). И еще в них тип перемещения должен быть написан. Почитай статьи - на сайте их навалом.
     
  3. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    IMAGE_DATA_DIRECTORY --> base_reloc_table
    кроме того каждая секция может иметь свою релок таблицу.

    релоки организованы так

    блочок_1:
    rva начала dd
    размер этого блочка dd
    {
    релок_1 dw ; используется только 12 бит, те 0 - fffh
    ..
    релок_( (размер_блочка - 8) / 2) dw
    }

    блочок_2:
    ...