Здравствуйте..Вот пытаюсь как-то научится противостоять стандартным SetWindowHook кейлоггерам..Возникла идея-путем обхода очереди сообщений,т.е. имитация нажатия клавиши, путем отправки WM_KEYDOWN, WM_CHAR ,WM_KEYUP окну через SendMessage из внедренной длл. Вроде как работает.Но лишь в части приложений, аточнее сказать 100% во всех стандартных едитах. Однако такие приложения,как Word, Excel, и прочие упорно делать ввод символов данным методом..По непонятным причинам. Вот и хотелось бы узнать- почему, даже теоритически-нет возможности ввода символов в некоторые приложения данным путем. Ведь в итоге все попадает из цикла сообщений в оконную процедуру... и второе-может все же копаю я не в том направлении, может другими способами есть обход SetWindowHook кеулоггеров?
А почему не WH_KEYBOARD? Я например через это делал. И почему бы не перехватить SetWindowHook и SetWindowsHookEx ? Просто перехватите данные API и смотрите какие процессы пытаються воспользоваться данной функцией. Подробно о перехвате API написано на www.wasm.ru
У меня был проект антикилогера который пускал клавиши в обход всего (в дровере слалось по лпс напрямую а с юзер-мода сендмесаджем). Если нарою его - выложу сорцы, там вроде как все пахало. П.С. Проект заблочили, потому что я сказал что щифровать клавиши 128битным ключем - бред.
tylerdurden я не могу понять-зачем отлавливать прерывания всех клавишь????Это же напряг для компа. Не проще ли отловить функции.К тому же пустить клавиши на прямую можно, кейлогер не попалит, но он останеться сидеть в вашей системе. Зачем ему оставлять шансы на жизнь?
coocky Тут нужно увчитывать, что есть два типа юзермодный кейлоггеров основывающихся на SetWindowHook. Это хук на кейборд и хук на гетмессаж. Причем, юзать хук на гетмессаж в этом плане гораздо удобнее (есть некоторые преимущества). Насколько я понял твоя защита этого не учитывает. hawk +1 По поводу перехвата АПИ. [add] единственный минус - легко обнаружить и легко снять. Опять же, требования определяют метод.
Вот и я пытаюсь слать SendMessagем..Однако в Worde Excel Фотошопе не пашет. Вообщем принцип работы реализовал так-внедряю свою длл через хук,нахожу активное окно,сабкласю его процедуру. Отправляю себе же (в свою сабкласс процедуру) три левых свои сообщения через сенд, внутри преобразую их в правильные-WM_KEYDOWN, WM_CHAR ,WM_KEYUP и передаю оригинальной процедуре CallWindowProc,таким образом получается еще избежать хуков на SendMessage WH_CALLWNDPROC и WH_CALLWNDPROCRET. Но..Увы.. Проблема остается. Не могу понять причину. Даже пробывал вызывать напрямую дефолтную оконную процедуру окна-получив ее для данного класса окна,ну мало ли, мож какие проблемы там с сабклассингом в приложении-все те же грабли... Немного не понял вопроса.. И восприпятсвовать их выполнению? Я так понял? Но так же нельзя..Ведь хуки ставятся и "правильными приложениями" Честно сказать ОЧЕНь даже знаком и делал не раз..Просто не вижу смысла в этом, если честно..
Из МСДН WH_GETMESSAGE Installs a hook procedure that monitors messages posted to a message queue Все будет ок.. Надо лишь научится посылать это все..Опять же повторяюсь-НЕ ПОНИМАЮ почему моя метода не дает 100% работоспособности в плане ввода текста.. Ребята-мыговорим о юзермодных кеулогерах
Ну если это действительно +1, тогда обьясните мне смысл перехвата SetWindowHook и SetWindowsHookEx.Хоть убейте-не вижу смысла.. Не дать поставить хук? Уже ж выше говорил-ЭТО НЕ ПРАВИЛЬНО.. Нельзя не дать поставить хук..Ибо хук-этоне есть 100% кейлогер
Я хочу сказать, что НЕ ТОЛЬКО кейлогеры ставят хуки. Например фотошоп ставит. Вообщем снимать хуки ни есть хорошо..Лучше по честному обмануть..Но пока не получается..Главное-причину понять не могу..Вроде ж логика работы ОСОБО не нарушается,обходя очередь сообщений
http://wasm.ru/forum/viewtopic.php?pid=288215 http://www.wasm.ru/article.php?article=hooks_inside Должно помочь. Не отправить сообщение в обход хука, а защититься от хука в своем приложении.
Хук на клаву ,если не ошибаюсь и на мышь. Да какая разница? Он просто ставит хуки, а вы мне предлагаете их снимать.. Я правильно понял? Посмотрите хотя бы сообщения Twister, какие есть хуки и кто ставит.. Очень много вполне приличных приложений.. Twister Я посмотрю ваш вариант..Спасибо..Но думаю будут вопросы. Плохо,что асм и паскаль..Я на с++ пишу И еще-одно дело не ДАТЬ поставить, другое дело, что делать с УЖЕ поставленным.Вот и хотелось бы найти механизм обхода..Ничего не ломаешь, никого не килишь.. Проблем нет с работоспособностью.
tylerdurden хотелось бы увидеть ваш вариант из юзермоде..Или хотя бы в двух словах-принцип работы..Может помните..?