Патчи минимальной длины

Discussion in 'WASM.RESEARCH' started by katrus, Nov 26, 2009.

  1. katrus

    katrus New Member

    Blog Posts:
    0
    Возник теоретический спор, какой существует наиболее работоспособный способ установки патча на начало функции? Ограничением является длина "трамплина" который должен быть короче 5 байтов. То есть jmp far ... не подходит. Пока, что сошлись на двух вариантах:
    1. привеллигированная инструкция плюс обработчик исключения. Длина трамплина один байт, но достаточно муторная реализация.
    2. вызов прерывания, с драйвером который "шаманит" адрес возврата в стеке для перехода по нужному адресу. Трамплин - два байта (или один в случае int3). Недостаток - любой антивирус должен "сходить с ума" от такой модификации кода.
     
  2. spa

    spa Active Member

    Blog Posts:
    0
    Раз спор _теоритический_ то подходят оба варианта, еще и хардварные бряки
     
  3. katrus

    katrus New Member

    Blog Posts:
    0
    Теория имеет свойство получать практическое применение

    Их всего 4 штуки.
     
  4. spa

    spa Active Member

    Blog Posts:
    0
    katrus
    Устремите n на практике в бесконечность (в случае с бряками согласен, это так я от делать нечего)

    а где в условиях задачи это?