Как отловить событие?

Тема в разделе "WASM.WIN32", создана пользователем jfx, 30 авг 2004.

  1. jfx

    jfx New Member

    Публикаций:
    0
    Регистрация:
    17 июн 2004
    Сообщения:
    30
    Адрес:
    Russia
    Уважаемые, есть вопрос:

    Есть программа написаная с помощью MFC71, есть там PUSH BUTTONS GROUP. Мне нужно как-то отловить или найти обработчик события нажатия на кнопку в этой группе. В C++ я не силен, поэтому с разбором событий я закопался... Копаю с помощью IDA. Какие есть варианты? Может есть какаянибудь стандартная сигнатура на начало в обработчике событий или что-то еще?
     
  2. zzzyab

    zzzyab New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    115
    Там же есть все это - не надо копать. Обработчик ставится сразу в редакторе (ALT+W в MFC 2.5 и MSVC 1 не уверен насчет MFC71). Потом двойной клац мышкой и можеш вводить уже сам код обработчика.
     
  3. jfx

    jfx New Member

    Публикаций:
    0
    Регистрация:
    17 июн 2004
    Сообщения:
    30
    Адрес:
    Russia
    :) Я наверное не совсем правильно выразился. Программа написана и ОТКОМПИЛИРОВАНА. Исходников у меня нет. Я ее дизасемблировал с помощью IDA. И мне нужно найти обработчик события нажатия на кнопки в PUSH BUTTONS GROUP. Собственно речь идет о программе Agendus для Palm (т.е. о ее десктопной части. Это органайзер). Разработчики не хотят ее руссифицировать и на предложение о помощи в руссификации отказываются (ну не интересен им наш рынок). Так вот, руссифицировать можно руками и самому (слава богу там все ресурсы хранятся в отдельной DLL). Есть там та самая PUSH BUTTONS GROUP с кнопочками с буквами алфавита, нажимая на которые фильтруется содержимое списка (грубо говоря нажимая на кнопку с буквой получаеш список на эту букву). Так вот в предыдущих версиях была возможность задавать не одну букву, например А, а группу, например А-Г, нажимая на которую получаеш группу со всеми буквами в списке. Это было удобно: выставлял все буквы русского алфавита и английские задавал как A-Z. Но в последней версии эту возможность убрали - это неправельно и нужно исправить. Для этого и нужен обработчик который я немогу найти.
     
  4. zzzyab

    zzzyab New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    115
    Если есть совместимость с обычным Windows то обработчик можно найти с помощью чегото типо Софтайс а потом в hiew подредактировать.
     
  5. jfx

    jfx New Member

    Публикаций:
    0
    Регистрация:
    17 июн 2004
    Сообщения:
    30
    Адрес:
    Russia
    Это все мне известно... Но вопрос ставился КАК НАЙТИ? Я плохо знаю С++, я закопался с системой обработки сообщений. Я нашел инициализацию этого элемента но не нашел обработчик... КАК, по каким сигнатурам его можно откопать? По действиям пользователя или установкой BPX на какието API-ные вызовы мне отловить ни чего не удалось. Действие которое происходит по нажатию на одну из кнопок - фильтруется содержание с главном окне. Все. Больше ни каких действий. Я спрашиваю: можно ли найти обработчик не в процессе отладки а может по какимто признакам непосредственно в коде? Ну например обработчик события начинается с какихто стандартных процедур, вызовов стандартных функций? Вот что меня имтересует...

    Спасибо.
     
  6. rsrc

    rsrc New Member

    Публикаций:
    0
    Регистрация:
    4 май 2004
    Сообщения:
    24
    Адрес:
    Russia
    Ставь бряк:

    bpx 7C1746C9 - это для MFC71.dll v7.10.3077.0, она загружена у меня по 0x7C140000