Кто знает как обрабатывать прерывания?

Тема в разделе "WASM.RESEARCH", создана пользователем Godness, 2 сен 2005.

  1. Godness

    Godness Мёртвый дзена

    Публикаций:
    0
    Регистрация:
    27 ноя 2002
    Сообщения:
    90
    выполняется следующий код на IRQL = DISPATCH_LEVEL и ниже, это я точно проверял командой !irql



    nop <-нахожусь здесь и задаю трейсеру проехать 6 команд

    nop

    mov eax, dword ptr [0]

    nop

    nop

    nop



    _BC_

    да нет, команда все же 4-х байтовая



    Ms Rem



    Не пользуйся отладчиком. Софтайс плохо совместим с трассировщиками хукающими int 1



    :) как раз такой трейсер под айс, я сейчас и пишу :)

    Очень скоро будет первый релиз!
     
  2. Godness

    Godness Мёртвый дзена

    Публикаций:
    0
    Регистрация:
    27 ноя 2002
    Сообщения:
    90
    Вот тут еще есть очень интересные два момента! Кто знает как в айсе реализована, команда F10 - выполняющая call не заходя во внутрь?



    Я подумал что может он ставит бряк 0хСС после call, но вроде нет я проверял


    Код (Text):
    1.   nop
    2.   nop
    3.   call  temp
    4. mmm:
    5.   nop
    6.   nop
    7. temp:
    8.   cmp   byte [mmm], 0xCC
    9.   je    m1
    10.   mov   eax, 0
    11.   ret
    12. m1:
    13.   mov   eax, 1
    14.   ret
    И отладочные регистры он тоже врядле может использовать, т.к. в тот момент я их могу все использовать.



    А еще интересно как реализовано F12 - выход из процедуры. Неужели он сканит код на наличие команды возврата ret?! Туповато как-то. У интела про это ничего не написано.
     
  3. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    Тогда надо позаботиться о корректном вызове старых обработчиков.





    Если DISPATCH_LEVEL все равно нельзя к подкачиваемой памяти обращаться, можно если только ниже.
     
  4. Godness

    Godness Мёртвый дзена

    Публикаций:
    0
    Регистрация:
    27 ноя 2002
    Сообщения:
    90
    Оказывается Тurbo Debagger использует бряк 0xCC после call! А вот айс - черт разберет
     
  5. Tiamat

    Tiamat New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    6
    (ВС)

    Я конечно не по теме. Но хотел узнать, это не ты случайно создал прогу которая эмулирует IDE и другие порты.