Сейчас на форуме: _MBK_, Magister Yoda (+5 невидимых)

 eXeL@B —› Основной форум —› Новый баг для OllyDbg 1.10
<< . 1 . 2 .
Посл.ответ Сообщение


Ранг: 67.4 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 12 января 2010 00:45 · Поправил: Sunzer
· Личное сообщение · #1

При анализе кода (Ctrl + A) оля намертво зависает.
Багу нашли мы с Flint еще полгода назад.
Т.к. она гниет у меня на харде решил выложить ее.

Code:
  1.  
  2. OLLY_BUG:array[1..21]of byte =
  3.  ($EB,$13,$E2,$07,$C9,$53,$C2,$00,
  4.   $00,$82,$6D,$F1,$77,$FE,$C5,$6B,
  5.   $E3,$70,$F6,$00,$00);


В атаче пример с багой.

profit

3df6_12.01.2010_CRACKLAB.rU.tgz - bug_.exe




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 13 января 2010 23:41
· Личное сообщение · #2

ToBad
Вообще не по теме. Т.е. баг, вроде, есть, но как я понимаю, пофиксен давно в фантике при использовании опции custom handler. Говориться про то, что оля не чистит TF-бит после того, как прервавшись на KiUserExceptionDispathcer, нам вдруг взбрело в голову его трейсить.

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 13 января 2010 23:57
· Личное сообщение · #3

_ruzmaz_ пишет:
Возможно об этом баге Крис говорил в Хакере от 06.2008 (№114)


Спасибо, гляну!

ARCHANGEL пишет:
Вообще не по теме.


Ага, понял....

А что-то для Иды подобное существует? Я имею ввиду, что бы она рушилась или пдвисала?... Или в принципе с ней это не возможно?



Ранг: 255.8 (наставник), 19thx
Активность: 0.150.01
Статус: Участник
vx

Создано: 14 января 2010 02:14
· Личное сообщение · #4

ToBad
Это не оли баг, это ядра баг. TF переносится не в сохранённый контекст, а в диспетчер исключений, в котором возникает трассировочное исключение. Выполните инструкцию которая приведёт к исключению, предварительно взведя TF - будут доставлены два сообщения, причём первое - трассировочный останов в диспетчере. Ось позволяет связывать фреймы для диспетчера, это и должно тут использоваться, но почемуто не фиксят, что некоторые проблемы доставляет. Хотя на семке мб уже поправили.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 14 января 2010 03:08
· Личное сообщение · #5

Clerk пишет:
Выполните инструкцию которая приведёт к исключению, предварительно взведя TF - будут доставлены два сообщения, причём первое - трассировочный останов в диспетчере.

Т.е. я так понял, предположим, в ринг3 нам встречается привелегированная инструкция, мы на ней в ольке жмём F7, попадаем в начало KiUserExceptionDispatcher, там смотрим структуру исключения, и видим что код исключения соответствует никакой не привилегированной инструкции, а нашему любимому трассировочному exception'у?

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 255.8 (наставник), 19thx
Активность: 0.150.01
Статус: Участник
vx

Создано: 14 января 2010 08:21 · Поправил: Clerk
· Личное сообщение · #6

ARCHANGEL
Отладчик не причём. Например регистрируем сех/вех и выполняем код:
Code:
  1. push 0x302
  2. popfd
  3. mov eax,dword ptr ds:[-1]

Потом понимаем что не тру ситуация и для решения необходим адрес останова знать заранее и каждый раз в своём обработчике сравнивать его с Eip, в случае совпадения сбрасывать TF и отпускать тред.


<< . 1 . 2 .
 eXeL@B —› Основной форум —› Новый баг для OllyDbg 1.10
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати