Ida Pro и windows сообщения.

Тема в разделе "WASM.RESEARCH", создана пользователем ParkeT, 2 фев 2012.

  1. ParkeT

    ParkeT New Member

    Публикаций:
    0
    Регистрация:
    1 фев 2012
    Сообщения:
    4
    Никак не могу понять, как в отладчике ida поставить брекпойнт на сообщение. К примеру я хочу отловить нажатие определенной кнопки, и определить куда передается управление.
     
  2. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    ParkeT
    Найди адрес оконной процедуры, в ней найти участок который отвечает за обработку нужного сообщения и ставь брекпоинт.
     
  3. ParkeT

    ParkeT New Member

    Публикаций:
    0
    Регистрация:
    1 фев 2012
    Сообщения:
    4
    wasm.ru/article.php?article=ollydbg12
    Вот тут написано как то что мне надо делается олей. Руками искать обработчик - как-то муторновато. нельзя поставить бряки на ВСЕ входящие сообщения определенного типа? Либо, еще лучше, на все входящие сообщения определенного типа посланные элементом с номером *номер элемента*. Сам номер можно определить любым редактором ресурсов.
     
  4. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Скорее всего нужен спец. плагин для Ida Pro.
    Поставь бряк на регистрацию оконных классов, там указывает функция обработчик сообщений.
     
  5. ParkeT

    ParkeT New Member

    Публикаций:
    0
    Регистрация:
    1 фев 2012
    Сообщения:
    4
    Кстати, обратите внимание на то, что BMSG - это всего лишь условная точка останова, условием которой является значение параметра [ESP+8] - оно должно равняться 202, т.е. WM_LBUTTONUP.

    Надо было внимательней читать. Это уже что-то. Вопрос еще открыт, если у кого есть предложения - рад выслушать.
     
  6. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    ParkeT
    Это ты о чем?

    В ollydbg можно показать список контролов в процессе и показать адреса обработчиков. ида этого не умеет без плагинов.
     
  7. ParkeT

    ParkeT New Member

    Публикаций:
    0
    Регистрация:
    1 фев 2012
    Сообщения:
    4
    Да, я понял. Это я о том, что в той статье, которую я кидал выше написано, что "код BMSG - это всего лишь условная точка останова, условием которой является значение параметра [ESP+8]". И уже можно отследить хоть что-то. А вообще, религия мне не запрещает использовать олю, поэтому так и сделаю :)