Задача: скормить фейковые данные, а именно -- заголовок активного окна (GetForegroundWindow, напр.) злобной программке внешнего мониторинга. Установить глобальный хук? -- ну саму строку легко получить, как подменить её именно для целевого процесса (допустим его pid мы можем определить)? hччp://www.ucancode.net/Visual_C_Control/Window-hook-GetWindowHookEx-WM_GETTEXT-Password-VC-Example.htm -- это пока лучшее, что я нашёл по теме.
Сплайсниг подойдет? http://wasm.ru/forum/viewtopic.php?id=38110 http://wasm.ru/article.php?article=apihook_2 http://wasm.ru/article.php?article=apihook_1
Mission accomplished! Решение оказалось очень простым. И никаких велосипедов не понадобилось. 1. Пишем на плюсах обычную длл-ку. Подключаем либу detours, которая на ура с пол-пинка хучит апи-функции. Подменяем GetForegroundWindow своей функой, в которой возвращаем хэндл на то окно, на которое хотим (блокнот, студия, специально написанная своя тулза, которая будет менять заголовок своего окна на нужный нам, что угодно). 2. С помощью "волшебной" тулзы Winject (интересно было бы глянуть на сорцы, да нету их) инжектим нашу длл-ку к таргет-процессу мониторящему комп. И вуаля -- шпиёнская прога выдаёт то, что мы ей скормим.