Как найти диалоговую процедуру?

Тема в разделе "WASM.BEGINNERS", создана пользователем NeutronMass, 18 дек 2005.

  1. NeutronMass

    NeutronMass New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2005
    Сообщения:
    87
    Привет, Спецы!

    Тут понадобилось найти адрес диалоговой процедуры. Использовал Spy+ он мне нашел процедуру диалога тока она почему-то лежит в модуле MFC40, но я так полагаю, что это какой-то крюк и настоящяя процедура лежит в моем экзешнике. Не так ли? Как же найти настоящюю процедуру? Я так разумею, что процедура диалогового окна никак не может лежать в стандартной

    библиотеке MFC40.DLL. Потому как это значит изменение самой этой длл, что в принципе возможно, но только не стандартными средствами. Отсюда и умозаключение, что это всего лишь, что-то вроде заглушки. Или я чего-то недопонимаю.

    Помогите, Спецы.
     
  2. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Я пользуюсь таким простым трюком: в main первой строкой ставлю:

    __asm { lea eax, WndProc }

    Загружаю прогу в Olly, и перая же инструкция от entry point загружает в eax адрес.



    А если надо посмотреть в чужом приложении, то найди вызов функции, которая создавала диалог (DialogBoxIndirect, DialogBoxParam или что там ещё), и посмотри её параметры. Адрес среди параметров обязательно есть.
     
  3. NeutronMass

    NeutronMass New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2005
    Сообщения:
    87
    Спасибо.