Как можно получить строку из диалоговогого(млять) окна

Тема в разделе "WASM.RESEARCH", создана пользователем SammIk, 20 окт 2004.

  1. SammIk

    SammIk Member

    Публикаций:
    0
    Регистрация:
    11 янв 2004
    Сообщения:
    90
    Адрес:
    Russia
    УПС, Я был бы очень презнателен, еслибы эту ветку перенисли в ресер

    Доброго времени, господа.

    Пытаюсь подсмотреть у одной прожки, как она создает

    ключи(вернее проверяет).

    Ключ вводится в диалоговом окне.

    Нашел я значит где она получает текст из окна при помощи

    GetDlgItemText. Обрадывался как ребенок, но после

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

    не хочет обращатся, за исключением нескольких инструкции,

    которые проверяют строку на наличие 0Dh и 0Ah(типа перенос строки).

    Но дальше по коду, вот тут самое интересное, подгружается либа(есесно динамически) получается, значит, адрес ф-ии,

    захожу в нее, а там, млять, есть команда

    mov eax,[12??2008] ;Где ?? - значение от болды

    И по этому адресу лежит расшифрованный ключ, от шока я долбанулся головой об монитор(вернее он меня долбанул, или я?).

    Деиствия которые я предпринемал:

    - ставил bpmd на полученую строку

    - Отлавливал сообщение WM_GETTEXT(кстати не разу не вылетело)

    - По началу пытался ставить bpm на [12??2008], но вы сами понимаете.

    - Ставил bpm на саму команду mov, но потом выяснил, что и адрес этои мув меняется.

    Про прогу:

    Достает эту самую либу из ресурсов

    Либа Упакована ASpack 2.12(PEiD & PE Tools), но как я прочитал, ASProtect распознается как ASpack 2.12.

    И как я понял перед вызовом(в самом начале ф-и)

    GetDlgItemText ставится SEH обработчик, который в свою очередь вызывает __CxxFrameHandler

    __________________

    Собсно сам вопрос:

    Как можно получить иным способом строку из диалога?

    PS: У меня больше нет никаких(пока) предположений, как можно расшифровать строку не читая ее.

    PPS:Извеняюсь, конечно, за столь длинное повествование, но из-за этои **** ни ем уже 2 суток.

    Так затянуло, бывает же.
     
  2. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    GetWindowText
     
  3. Julius

    Julius New Member

    Публикаций:
    0
    Регистрация:
    31 окт 2003
    Сообщения:
    42
    А еще, можно непосредственно вызвать функцию окна того кантрола, чей текст необходимо получить.
     
  4. SammIk

    SammIk Member

    Публикаций:
    0
    Регистрация:
    11 янв 2004
    Сообщения:
    90
    Адрес:
    Russia
    to SteelRat - Да, как-то об этом язабыл.

    to Julius - А дальше что? Она же тоже, ведь, должна получить строку темеже ф-ми. Или есть что-то другое?

    Кстати, адрес ф-ии окна не определяется Spy++, а саис

    виснет, если получать весь список окон для процесса(говорит, что мол стек переполнился), правдо он

    показывает адрес.

    ---------------

    А вот как получается так, что загружаемая либа уже имеет

    адрес на расшифрованный ключ, до того как процесс вызывает из нее ф-ию?
     
  5. Julius

    Julius New Member

    Публикаций:
    0
    Регистрация:
    31 окт 2003
    Сообщения:
    42
    А дальше что? Она же тоже, ведь, должна получить строку темеже ф-ми. Или есть что-то другое?

    Отнюдь нет. Я имею ввиду оконную процедуру кантрола, а не диалогового окна.

    А она возвращает строку по сообщению WM_GETTEXT (Могут быть и какие другие, это все от кантрола зависит, особенно если это самопальный кантрол).

    Точку останова можно поставить на процедуру окна кантрола, по условию, что она вызывается с этим сообщением.
     
  6. SammIk

    SammIk Member

    Публикаций:
    0
    Регистрация:
    11 янв 2004
    Сообщения:
    90
    Адрес:
    Russia
    Попробую
     
  7. vovan

    vovan New Member

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

    GetDlgItemText

    GetDlgItemTextA



    сорри, плохо читал subj :dntknw:
     
  8. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    GetDlgItemTextA - убейте меня я нескажу никому!
     
  9. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    А GetDlgItemText юзает GetWindowText. ха-ха.