OllyDbg, правка релоков в dll

Тема в разделе "WASM.BEGINNERS", создана пользователем Grom_PE, 1 дек 2008.

  1. Grom_PE

    Grom_PE New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2008
    Сообщения:
    8
    Как с помощью OllyDbg поправить релоки в dll?

    В документации сказано "OllyDbg will automatically correct fixups".
    Загружаю dll, делаю изменения, некоторый код попадает в середину релоков, записываю, получаю предупреждение, что код может работать неверно.
    Смотрю - и правда, релоки остались на месте.
    Что я делаю не так?

    И если OllyDbg не может, есть ли плагин/скрипт для правки релоков?
    Надоело вручную править.
     
  2. Grom_PE

    Grom_PE New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2008
    Сообщения:
    8
    Может, я не в тот раздел тему поместил?
     
  3. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    Grom_PE
    Имхо оля вообще не правит релоки, да и плагинов таких нет. Что вы имеете ввиду по правкой релоков Олей?
     
  4. Grom_PE

    Grom_PE New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2008
    Сообщения:
    8
    Osen
    Например, есть такой код:
    Код (Text):
    1. 10011680 >    FF15 A4120610 call    [100612A4]
    Мне нужно исправить его на
    Код (Text):
    1. 10011680 >    E8 6BF80400   call    10060EF0
    2. 10011685      90            nop
    и чтобы релокация по адресу 10011682 убралась.

    В другом месте мне наоборот, нужно вставить call dword [x]
    и добавить соответствующую релокацию.
     
  5. Grom_PE

    Grom_PE New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2008
    Сообщения:
    8
    Подниму-ка я темку.
     
  6. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    это не релоки.
    как иы получил адрес 10060EF0 ?
     
  7. Grom_PE

    Grom_PE New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2008
    Сообщения:
    8
    n0name
    А что по-твоему?
    Это просто пример. Здесь — пустое место, где я вставил свой код.
     
  8. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Автоматически Olly этого не делает. Но можно сделать руками с помощью HEX-редактора в той же Olly. Править нужно саму секцию reloc'ов (обычно она так и называется '.reloc'). Ее формат описан, например, здесь: http://msdn.microsoft.com/en-us/magazine/ms809762.aspx