Сейчас на форуме: (+7 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Каким образом реализованы hardware breakpoints в OllyDbg |
Посл.ответ | Сообщение |
|
Создано: 17 сентября 2014 13:59 · Личное сообщение · #1 Приветствую. Каким образом реализованы hardware breakpoints в OllyDbg? Сначала я думал, что алгоритм аналогичен тому, что Вот, что я ожидал -- установив бряк на каком-либо месте в памяти, его адрес окажется в одном из debug registers (DR0-DR7), и приложение, встретив на своём пути попытку чтения / записи / выполнения инструкции по данному адресу, выбросит исключение, передав управление отладчику. Однако на деле в DR0-DR7 не оказывается никакого адреса. Почему? Что я делаю не так? Заранее благодарю за возможные ответы. Добавлено спустя 10 минут Всё, понял: http://winappdbg.sourceforge.net/HowBreakpointsWork.html "Hardware breakpoints are implemented by writing to the debug registers (DR0-DR7) of a given thread, causing a single step exception to be generated when the given address is accessed anywhere in the code for that thread only. It’s important to remember the debug registers have different values for each thread, so this can’t be done global to the process (you can set the same breakpoint in all the threads, though)" ![]() |
|
Создано: 17 сентября 2014 14:55 · Личное сообщение · #2 |
![]() |
eXeL@B —› Вопросы новичков —› Каким образом реализованы hardware breakpoints в OllyDbg |
Эта тема закрыта. Ответы больше не принимаются. |