Перехват WM_GETTEXT и модификация текста.

Тема в разделе "WASM.BEGINNERS", создана пользователем Enterado, 31 авг 2010.

  1. Enterado

    Enterado New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    99
    Задача: скормить фейковые данные, а именно -- заголовок активного окна (GetForegroundWindow, напр.) злобной программке внешнего мониторинга. Установить глобальный хук? -- ну саму строку легко получить, как подменить её именно для целевого процесса (допустим его pid мы можем определить)?

    hччp://www.ucancode.net/Visual_C_Control/Window-hook-GetWindowHookEx-WM_GETTEXT-Password-VC-Example.htm -- это пока лучшее, что я нашёл по теме.
     
  2. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
  3. Enterado

    Enterado New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    99
    Mission accomplished! Решение оказалось очень простым. И никаких велосипедов не понадобилось. 1. Пишем на плюсах обычную длл-ку. Подключаем либу detours, которая на ура с пол-пинка хучит апи-функции. Подменяем GetForegroundWindow своей функой, в которой возвращаем хэндл на то окно, на которое хотим (блокнот, студия, специально написанная своя тулза, которая будет менять заголовок своего окна на нужный нам, что угодно). 2. С помощью "волшебной" тулзы Winject (интересно было бы глянуть на сорцы, да нету их) инжектим нашу длл-ку к таргет-процессу мониторящему комп. И вуаля -- шпиёнская прога выдаёт то, что мы ей скормим.