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

 eXeL@B —› Вопросы новичков —› Как правильно ставить бряк Conditional log (Ollydbg 2.x)
Посл.ответ Сообщение

Ранг: 1.0 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 07 апреля 2011 11:56 · Поправил: Jeka911
· Личное сообщение · #1

В стеке следующее:
Code:
  1. 0018FDA4  pMsg = 0018FDA4 -> MSGA {hWnd=0037052A, class = Button, text = OK, Msg=WM_LBUTTONUP, wParam=0, lParam== 48., Y = 23., time=3908261., pt_X=315., pt_Y=368.}

Breackpoint -> Conditional log
Пишу [[ESP]+4]==WM_LBUTTONUP ничего не ловится, как же Msg правильно ловить?




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 07 апреля 2011 13:00
· Личное сообщение · #2

Врядли Олька знает WM_LBUTTONUP . Пиши числовое значение - 202h.

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 1.0 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 07 апреля 2011 13:41
· Личное сообщение · #3

Знает, по крайней мере в документации к 2.0 есть пример с хардваре бряком, на 20 странице.
Но он у меня почему то не срабатывает.

4335_07.04.2011_EXELAB.rU.tgz - help.pdf



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 07 апреля 2011 15:04
· Личное сообщение · #4

вообще то так должно быть [[esp+4]]



Ранг: 1.0 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 07 апреля 2011 15:35 · Поправил: Jeka911
· Личное сообщение · #5

Ничего не меняется, бряк не происходит. Вижу только в логе как мимо проскакивает WM_LBUTTONUP (как в первом посте).
http://img16.imageshack.us/i/20110407153256.png/



Ранг: 17.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 07 апреля 2011 18:24
· Личное сообщение · #6

А может у тебя отладочные регистры прога стёрла.



Ранг: 1.0 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 07 апреля 2011 19:44 · Поправил: Jeka911
· Личное сообщение · #7

Usulgurt
Я в этом пока не шарю. Можно подробней.

Хотя думаю сам начну, вот что я делаю, а Вы возможно скажите что не так.

Использую ollydbg 2.01 alpha 2 Win 7 x64
Открыл CRACKME (от Круехеда), ставлю бряк на &USER32.TranslateMessage вида [[ESP]+4]==WM_LBUTTONUP
жду останова на отпускание кнопки мыши, в логе проскакивают msg: wm_keyup, wm_systimer... и тд.



Ранг: 87.8 (постоянный), 10thx
Активность: 0.070
Статус: Участник

Создано: 07 апреля 2011 23:21 · Поправил: gena-m
· Личное сообщение · #8

Usulgurt пишет:
А может у тебя отладочные регистры прога стёрла.

Отладочные регистры не нужны в этом случае.

Jeka911

Что то здесь не то, я так понимаю нужно в начале вычислить адрес TranslateMessage поставить на него бряк F2 (он срабатывает?), дальше зайти в Conditional log и там скорректировать условия остановки.

Вижу только в логе как мимо проскакивает WM_LBUTTONUP

Больше похоже, что не выставлен Pause program на пункт On condition.

-----
Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше




Ранг: 1.0 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 08 апреля 2011 00:27 · Поправил: Jeka911
· Личное сообщение · #9

gena-m
Ставлю бряк TranslateMessage непосредственно на вход процедуры MOV EDI,EDI (F2)
он срабатывает (но почему то стек пустой, только точка возврата, или так и должно быть... непомню)

Далее ставлю Conditional log: [[ESP]+4]==WM_LBUTTONUP Pause: On condition, остальное Always
Проскакал log:
Code:
  1. Log data, item 125
  2.   Addres =
  3.   Messag =   0018FB04  pMsg = 0018FB04 -> MSGA {hWnd=00270536, class = Button, text = ОК, Msg=WM_LBUTTONUP, wParam=0, lParam== 42., Y = 4, time=4567163., pt_X=773., pt_Y=504.}




Ранг: 87.8 (постоянный), 10thx
Активность: 0.070
Статус: Участник

Создано: 08 апреля 2011 10:17 · Поправил: gena-m
· Личное сообщение · #10

он срабатывает (но почему то стек пустой, только точка возврата, или так и должно быть... непомню)

Да, действительно попробовал во второй Олли в стеке хрень какая то, но если нравиться работать во второй Олли то продолжай, попутно понял, что неправильно условие сделано поскольку в стеке по адресу ESP+4 содержится адрес структуры, а структура не может быть равна WM_LBUTTONUP, поэтому условие должно быть MSG==WM_LBUTTONUP.

-----
Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше


| Сообщение посчитали полезным: Jeka911


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

Создано: 08 апреля 2011 10:29
· Личное сообщение · #11

Тёмные вы люди. [ESP+4] хранит адрес структуры MSG. Соответственно, если вы хотите выставить условный бряк на --> TranslateMessage <--, то это примерно так будет выглядеть:

Жмём Shift+F2 и вписываем [[ESP+4]+8] == WM_LBUTTONUP.

Аппаратники тут действительно ни при чём. Да, кстати, 1.10 поддерживает WM_LBUTTONUP, и не требуется вписывать численные значения констант.

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


| Сообщение посчитали полезным: Jeka911, Bad_guy, Anti_Tip, kondornya

Ранг: 1.0 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 08 апреля 2011 10:47 · Поправил: Jeka911
· Личное сообщение · #12

gena-m, ARCHANGEL спасибо за помощь!!!

Действительно условие должно выглядеть так [[ESP+4]+8] только не 8 а 4, в MSGA первый идет hWnd, второй Msg.
Теперь я хоть понял смысл записи стольких скобок.
Спасибо ещё раз!

| Сообщение посчитали полезным: Anti_Tip


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

Создано: 08 апреля 2011 13:59
· Личное сообщение · #13

Jeka911
Да, точно 4 - очепяточка вышла.

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


| Сообщение посчитали полезным: delog
 eXeL@B —› Вопросы новичков —› Как правильно ставить бряк Conditional log (Ollydbg 2.x)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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