Сейчас на форуме: _MBK_, Magister Yoda (+5 невидимых) |
![]() |
eXeL@B —› Основной форум —› Новый баг для OllyDbg 1.10 |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 12 января 2010 00:45 · Поправил: Sunzer · Личное сообщение · #1 При анализе кода (Ctrl + A) оля намертво зависает. Багу нашли мы с Flint еще полгода назад. Т.к. она гниет у меня на харде решил выложить ее. Code:
В атаче пример с багой. profit ![]() ![]() |
|
Создано: 13 января 2010 23:41 · Личное сообщение · #2 ToBad Вообще не по теме. Т.е. баг, вроде, есть, но как я понимаю, пофиксен давно в фантике при использовании опции custom handler. Говориться про то, что оля не чистит TF-бит после того, как прервавшись на KiUserExceptionDispathcer, нам вдруг взбрело в голову его трейсить. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 13 января 2010 23:57 · Личное сообщение · #3 |
|
Создано: 14 января 2010 02:14 · Личное сообщение · #4 ToBad Это не оли баг, это ядра баг. TF переносится не в сохранённый контекст, а в диспетчер исключений, в котором возникает трассировочное исключение. Выполните инструкцию которая приведёт к исключению, предварительно взведя TF - будут доставлены два сообщения, причём первое - трассировочный останов в диспетчере. Ось позволяет связывать фреймы для диспетчера, это и должно тут использоваться, но почемуто не фиксят, что некоторые проблемы доставляет. Хотя на семке мб уже поправили. ![]() |
|
Создано: 14 января 2010 03:08 · Личное сообщение · #5 Clerk пишет: Выполните инструкцию которая приведёт к исключению, предварительно взведя TF - будут доставлены два сообщения, причём первое - трассировочный останов в диспетчере. Т.е. я так понял, предположим, в ринг3 нам встречается привелегированная инструкция, мы на ней в ольке жмём F7, попадаем в начало KiUserExceptionDispatcher, там смотрим структуру исключения, и видим что код исключения соответствует никакой не привилегированной инструкции, а нашему любимому трассировочному exception'у? ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 14 января 2010 08:21 · Поправил: Clerk · Личное сообщение · #6 ARCHANGEL Отладчик не причём. Например регистрируем сех/вех и выполняем код: Code:
Потом понимаем что не тру ситуация и для решения необходим адрес останова знать заранее и каждый раз в своём обработчике сравнивать его с Eip, в случае совпадения сбрасывать TF и отпускать тред. ![]() |
<< . 1 . 2 . |
![]() |
eXeL@B —› Основной форум —› Новый баг для OllyDbg 1.10 |