научите прыгать

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

  1. La_plaza

    La_plaza New Member

    Публикаций:
    0
    Регистрация:
    20 авг 2008
    Сообщения:
    95
    зная адресс куда нужно прыгнуть, перезаписать другой прыжок на свой. Вручную(например в winHEX) перезаписать эти самые пять байт

    формула нужна
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Из целевого адреса вычитаешь адрес изменяемой инструкции (адрес в образе, а не смещение в файле) + 5 байт (это размер call 0xXXXXXXXX).

    Например, целевой адрес будет 0x401000. Инструкция находится по адресу 0x401010. 0x401010 + 5 = 0x401015. 0x401000 - 0x401015 = -0x15.

    -0x15 == 0xFFFFFFEB. Это и есть наше смещение.

    Проверка:
    0x401015 + 0xFFFFFFEB = 0x401000. Значит, все верно.
     
  3. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    La_plaza
    Лучше на формулы не полагайся, а на свою голову. По себе знаю, если влом одолеет, то пиши пропало (
     
  4. wcools

    wcools New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2008
    Сообщения:
    89
    Вопросик, не ругайте, если глупый.
    можно-ли прыгнуть не в метку, а например так
    cmp ...
    jz
    и сразу здесь писать код.
     
  5. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    wcools
    ну создай условие так, чтобы jz не отработал
     
  6. wcools

    wcools New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2008
    Сообщения:
    89
    Я не это имел ввиду, допустим там не jz будет, а другой любой j..
     
  7. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    NOPами забить?
     
  8. wcools

    wcools New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2008
    Сообщения:
    89
    Например так
    cmp .....
    jne Metka1 ;или любой другой
    Metka1:
    ..... ;код
    .....
    .....
     
  9. oxcc

    oxcc New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2008
    Сообщения:
    51
    wcools, да..%)
     
  10. La_plaza

    La_plaza New Member

    Публикаций:
    0
    Регистрация:
    20 авг 2008
    Сообщения:
    95
    а где бы почитать про то, как вендозный загрузчик запускает PE файл ?
    т.е не вода, а именно пошаговая работа, чтобы глубже понять что где находится