relocations

Discussion in 'WASM.ASSEMBLER' started by K10, Dec 27, 2008.

  1. K10

    K10 New Member

    Blog Posts:
    0
    Joined:
    Oct 3, 2008
    Messages:
    1,590
    Подскажите, как найти релоки в DLL?
    DLL линкуется с опцией /MERGE:.reloc=.text , т.е. релоки размещаются в секции .text.
    Я правильно понимаю, что это подряд идущие DWORD'ы смещений?
     
  2. AndreyMust19

    AndreyMust19 New Member

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

    _basmp_ New Member

    Blog Posts:
    0
    Joined:
    Jul 10, 2005
    Messages:
    2,939
    IMAGE_DATA_DIRECTORY --> base_reloc_table
    кроме того каждая секция может иметь свою релок таблицу.

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

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

    блочок_2:
    ...