Драсте всем... Столкнулся с проблемой перехвата нажатых клавиш... Есть программа "ххх", пытался ставить хуки на клаву, перехватывал PeekMessage,GetMessage.... не пробовал ток ядерный перехват(неподходит).... Суть проблемы состоит в том что: При вводе числовых данных перехватчик видает набранные числа в виде: "11111" вместо "24568", при вводе символьных данных принимаю "аааа", вместо "mago", может кто сталкивался с такой защитой???? Заранее всем спасибо....
xh4ck та не вроде правильный..... сначала было такое же мнение но после реализации отпало... тем более тестил на хуки через actualspy и другое говно..., думаю что у всех одной ошибки не возникнет
Ребят подскажите.... в окно сообщение WM_KEYDOWN ваще не приходит..., как эт реализовано,какие есть мысли???
dead_body Если интересно ... то есть оч.известная и затягивающая игра Lineage2 Interlude, в ней Ncsoft разработал спец. модуль под названием GameGuard, который в принципе и реализует защиту(анти-дебагер, анти-спай, анти-кейлоггер....)
Вот вышла такая ситуация: я ошибся WM_KEYDOWN все таки приходит но вот что вышло: Загрузил Lineage2 Приатачил Olly ставлю бряк на PeekMessageW с типом сообщения WM_KEYDOWN = 100h Olly ловит сообшение ток PeekMessage ведает какую то муру(только на символы и числа, на системные клавиши типа Enter,ctrl выдает нормально) http://webfile.ru/1501648 рис.1 После того как TranslateMessage пытается преобразовать в WM_CHAR выдает постоянно "1" или "А" http://webfile.ru/1501651 рис 2. Заранее всем огр. спс!!
Ребят подскажите какие есть методы перехвата клавы, кроме ядерных и: - установка хука - перехвата GetMessage, PeekMessage - "БЕШЕНЫЙ" опрос GetAsyncKeyState ????????????????????????????????????????? Заранее всем огр.спасибо!!!
int2eh к сожалению мя собкласинг не спасет, так как GetMessage или PeekMessage ловит сообщение WM_KEYDOWN( в котором записано сущее гав...), так шо если я собкласю окно то в окно будет пересылаться тоже самое гав...
Нет. Если окно на сообщение WM_GETDLGCODE возвращает DLGC_WANTALLKEYS, то тогда оно првильно получает WM_CHAR, т.е. TranslateMessage() срабатывает.
int2eh В программе стоит Хук...(который тоже принимает кряказяблу), попробовал предложенный тобою метод, не работает ...
Хм... кейлогить. Инжект делаеться в процесс? Если проинжектились в процесс, то нажатие клавиш можно так отлавливать: Код (Text): GetKeyboardLayout(edx) and eax,0FFFFh mov [cLayoutRemote],eax GetKeyState(VK_CAPITAL) GetKeyboardState(addr KeyState) mov edi,0FFh GetAsyncKeyState(edi) and eax,8001h sub eax,8001h jnz .miss MapVirtualKeyEx(edi,0,[cLayoutRemote]) ToAsciiEx(edi,eax,addr KeyState,addr dwCh,0,[cLayoutRemote]) test eax,eax jz .miss ... .miss: dec edi jnz @b что то вроде подобного. Или как Фоур-Ф использовать его дровину, если влом компилить.
не может быть. сабклассить надо и дочерние окна, которые принимают фокус ввода, - пошли им WM_GETDLGCODE и узнаешь, что они умеют делать.