OllyDebugger

Тема в разделе "WASM.RESEARCH", создана пользователем Stamerlan, 1 июн 2008.

  1. Stamerlan

    Stamerlan New Member

    Публикаций:
    0
    Регистрация:
    10 июн 2007
    Сообщения:
    44
    В отладчике есть функция rClick->breakpoints->Hardware, on execution. Как она устроена? Я думал что ставится брякпоин в одном из отладочных регистров(собственно потому этих точек останова всего 4(DR0-3)), но тут до меня дошло: отладчик работает на 3-ем кольце привилегий и обращаться к ним от туда нельзя. Так как же оно работает?
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Недавно тока рассматривалось.
    http://www.wasm.ru/forum/viewtopic.php?id=27007
     
  3. Stamerlan

    Stamerlan New Member

    Публикаций:
    0
    Регистрация:
    10 июн 2007
    Сообщения:
    44
    Все это конечна интересна.
    Ну, если не секрет как же они там изменяются?(Судя по названию функций нахрена им вообще меняться?)
     
  4. blast

    blast New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2008
    Сообщения:
    170
    не секрет, смотри под отладчиком ntoskrnl.exe!PsGet/PsSetContextThread
     
  5. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Stamerlan
    А как по твоему отладчик читает или изменяет данные в обычных регистрах, например, в EAX ? Тупо вызывает mov eax,0 в своем потоке или внедряет свой код в отлаживаемый поток ? :)
    Контекст потока это состояние всех его регистров, включая отладочные. Соответственно функции Get\SetThreadContext позволяют читать\изменять состояние регистров потока, включая отладочные регистры. Т.е. в юзермоде запрещено напрямую вызывать команды чтения\записи drX, но читать\изменять их через контекст потока - пожалуйста, попроси ОС и она это сделает для тебя в ring0 :)
     
  6. Stamerlan

    Stamerlan New Member

    Публикаций:
    0
    Регистрация:
    10 июн 2007
    Сообщения:
    44
    Спс.
    Извините за туп вопрос