в общем вопрос такой как извесно что бы парехватывать
все нажатие клавиш используется процедура KeyboardProc
причем как показывает практика KeyboardProc должен находится в DLL.
из это го вытекает вопрос как нектрые трояны делуют это без DLL ???
по идеи они используют какуюту системную DLL в каторой уже есть
данная процедура иле нет ???
> в общем вопрос такой как извесно что бы парехватывать > все нажатие клавиш используется процедура KeyboardProc > причем как показывает практика KeyboardProc должен > находится в DLL. > из это го вытекает вопрос как нектрые трояны делуют это без > DLL ??? > по идеи они используют какуюту системную DLL в каторой уже > есть > данная процедура иле нет ??? А по-моему енто бред про системную DLL, поскольку трояны
в этой хвункции обычно буферизируют набранное с клавы то есть
выполняют чисто "троянскую" работу.
Трояны могут делать это без длл:
Во-первых)
чем загрузочный модуль трояна хуже :))
Нафиг ему лишняя длл, которую можна попалить?
Особенно ежели троянца писали на асме, то он очень маленький, значит можно KebordProc разместить там.
Ведь между длл и ехе разница только в том как ОС их загружает и юзает :))
Во-вторых) А почему ты решил, шо трояны делают это без длл?
Ты просмотрел адр. пространство трояна и не обнаружил там
левой длл? Это не факт! К тому же троян мог поместить длл в
KnownDLLs :))
И ещё SetWindowHookEx не единственный способ перехватывать клаву
Просто просмтори трояна на import SetWindowHookEx.
[C++] KeyboardProc ???27.08.02 01:44 Автор: Tamas Статус: Member
> это вено > а что ты имееш ввиду плд другими способами ??? Ну тут несколько вариантов:
1. Написание драйвера-филтра для клавы.
2. Перехват системных вызовов трояном.
Особенно под Win 9x троян за нефиг делать переходит
в ring0 -- дальше возможности неограничены, лишь бы фантазии хватило.
Самое простое искать в памяти Kernel32.dll и пропатчить таблицу експортов для например DispatchMessage с последующим перехватом
WM_KEYDOWN