Как с помощью OllyDbg поправить релоки в dll? В документации сказано "OllyDbg will automatically correct fixups". Загружаю dll, делаю изменения, некоторый код попадает в середину релоков, записываю, получаю предупреждение, что код может работать неверно. Смотрю - и правда, релоки остались на месте. Что я делаю не так? И если OllyDbg не может, есть ли плагин/скрипт для правки релоков? Надоело вручную править.
Grom_PE Имхо оля вообще не правит релоки, да и плагинов таких нет. Что вы имеете ввиду по правкой релоков Олей?
Osen Например, есть такой код: Код (Text): 10011680 > FF15 A4120610 call [100612A4] Мне нужно исправить его на Код (Text): 10011680 > E8 6BF80400 call 10060EF0 10011685 90 nop и чтобы релокация по адресу 10011682 убралась. В другом месте мне наоборот, нужно вставить call dword [x] и добавить соответствующую релокацию.
Автоматически Olly этого не делает. Но можно сделать руками с помощью HEX-редактора в той же Olly. Править нужно саму секцию reloc'ов (обычно она так и называется '.reloc'). Ее формат описан, например, здесь: http://msdn.microsoft.com/en-us/magazine/ms809762.aspx