Привет.Вообщем хотелось бы перехватом NtUserGetMessagе попортить текст, так что б userмодные проги,которые хучат клавиатуру получали бред на выходе,и приложение-нормальные символы. Че-то не могу сообразить,каким образом это реализовать. Т.е. внедрение и перехват уже есть,нужно только додумать что делать- возращать ошибку внутри перехватываемой функции,предварительно вызвав нормальныей оиргинал или еще как-то.Сенкс.
Cорри NtUserGetMessagе-мне недоступен-не экспортируется Ну тогда мож какие- АПИ функции перехватывать.... Ну вообщем вопрос открыт
Как насчет хучить в r3 GetMessage и если WM_CHAR (WM_X), то редактировать соответствующую возвращаемую структуру?
вот здесь поподробнее, я не понял, а как ты собственно их собераешься отличать? как хочешь чекать что висит сверху юзера и висии ли вообще что-то? ну дык можно дизассемблем длин вытянуть из user32 если не получится забить хардкодом для разных билдов винд номер сервиса делов то)
Можно проще - делаем hook на WH_KEYBOARD_LL, вместо CallNext возвращаем TRUE, и посылаем "мусорный" символ kbd_event. Любое user space приложение получает мусор вне зависимости, что оно делает: hook на клавиатуру, Get(Async)KeyState,etc. Единственно, нужно заботится, чтоб Ваш hook был первум в списке WH_KEYBOARD_LL
Да вот и сам не понимаю.. Работаю из юзермоде..... Как-то тупиково все получается, херю очередь и сам для себя.. Дело в том,что я и не могу узнать,висит ли кто на приложении.Вернее висит ли ли кто-то плохой.Ведь хуки на клавиатуру вешают и много нормальных приложений (Winamp, к примеру)