Чем можно отредактировать релоки в DLL?

Тема в разделе "WASM.RESEARCH", создана пользователем Quantum, 29 апр 2006.

  1. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    После патчинга одной DLL захотелось отключить пару десятков релоков, которые перекрывают мой патч на случай, если эта DLL вдруг загрузится не по preferred базовому адресу и затрёт мой патч... Ситуация стандартная, вроде, но никакой утилиты я для этого не нашёл. PE Editor показывает релоки, но не позволяет их индивидуально редактировать/удалять. "Обойти" релоки почти также сложно как исправить их в хекс-редакторе из-за специфики этой DLL.



    ЗЫ: Не надо советовать выпрямлять руки. Я и сам знаю, что хаккир из меня хреновый ;)
     
  2. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    почему нельзя сделать позиционно независимый патч,

    просто даже интересно?
     
  3. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Asterix

    Так релоки не в патче, а в оригинальном коде. Они почти в каждой инструкции. Компилятор постарался :) Можно, конечно, патчить все модули, которые используют эту DLL. Можно перехватывать вызовы и патчить "на лету" тоже можно, но неужели нет утилиты для редактирования релоков? Написать такую не сложно, IMHO.
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    нет, ты не понял, почему нельзя патчить код после того

    как модуль уже загружен?
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Можно, конечно, но зачем так извращаться?
     
  6. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    потому что нет тулзы для правки релоков, только для их создания, с нуля, есть
     
  7. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Жаль :dntknw: Пока что заюзал rebase чтобы максимально снизить вероятность релокации и кильнул все релоки разом. Вопрос исчерпан.
     
  8. Bill_Prisoner

    Bill_Prisoner New Member

    Публикаций:
    0
    Регистрация:
    4 май 2005
    Сообщения:
    238
    Quantum

    Может взять универсальную утилиту - hex-редактор?
     
  9. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Bill_Prisoner

    Этот вариант был высказан и отклонен топикстартером в первом посте :)
     
  10. Bill_Prisoner

    Bill_Prisoner New Member

    Публикаций:
    0
    Регистрация:
    4 май 2005
    Сообщения:
    238
    Quantum

    Сорри не внимательно прочитал.
     
  11. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Подведём итог. Меня уже убедили, что утиля для поставленной задачи нет. Возможно, никому кроме меня такой утиль и не нужен. Ну, раз так, будем считать тему закрытой.
     
  12. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Quantum





    если только ты не решишься написать этот утиль :)
     
  13. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Quantum

    Я и сам знаю, что хаккир из меня хреновый



    Поправочка - не хаккир, а краккир.
     
  14. PE_Kill

    PE_Kill New Member

    Публикаций:
    0
    Регистрация:
    16 янв 2006
    Сообщения:
    107
    Тулзу накидать под конкретную задачу - 15 минут максимум. По крайней мере у меня в свё время столько ушло...
     
  15. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    да, я тоже когда-то искал-искал а потом за столько же минут написал процедуру

    не суть проблема
     
  16. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Asterix



    У тебя больше опыта в написании плагинов для Оли ;)
     
  17. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    думаю лучше сделать отдельной тулзой, для удобства можно и дизассемблер прикрутить
     
  18. GrayFace

    GrayFace New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    11
    Адрес:
    Russia
    Повторюсь здесь. LordPE может редактировать релоки. Правда он может еще некоторый мусор добавить в exe-шку. Например, при добавлении моего импорта, он написал [LordPE] где-то в начале файла. Еще добавил новую секцию под именем ".Silvana", но это ожидаемо.