Ĺadny brzuch
Wczoraj kupiłem sobie nową klawiaturke pod usb, posiadającą dodatkowe klawisze. Wśród nich są klaiwsze Play/Pause/Stop itp. Pomyślałem że fajnie będzie się nimi sterować Winampem podczas grania, jednak sterowniki do klawiaturki okazały się słabe. Postanowiłem napisać własny program w winapi. I tu zrodził się problem, jaki kod mają te dodatkowe klawisze. Napisałem keyloggera opartego na globalnym hooku na klawiature, ale on nie chce reagować na wciśnięcie tych klawiszy. Istnieje zatem jakiś inny sposób żeby się dobrać do tych klawiszy?
Szukając informacji na sieci trafiłem na strone, na której ktoś urzywał do odczytania tych kodów programu Spy++, ponoć dołączanego do VS, ja mam VC# i VC+ EE i bie widziałem tego ustrojstwa nigdzie.
[Edited - Wieści z frontu]
Całą noc nad tym ustrojstwem siedziałem, pisałem różne programu, gapiłem się w logi Spy++, czytałem wszelakie strony (strasznie mało na sieci jest informacji o klawiszach multimedialnych - głównie na stronach sklepów z klawiaturami ;) ). I z tych obserwacji wynikło że żaden program nie wykrywa wciśnięcia którychś z przycisków multimedialnych, mój program nie wykrył nic w buforze klawiatury podczas wciskania tych przycisków, zatem nasówa się na myśl to że program, dołączony do klawiatury odczytuje je bezpośredno z portu USB. Mam zatem pytanie w jaki sposób można monitorować port USB tak by w odpowiednim momencie zareagować jakąś czynnością. Dobranoc :)
PS. Dodam że klawiatura z którą się użeram to TRACER TRK-16 MMB Ultra Mobile K130.
Użytkownik BlindGuardian edytował ten post 03 sierpień 2006, 04:09
Co do tego keyloggera-usun TranslateMessage (zmienia WM_KEYDOWN+WM_KEYUP na WM_CHAR) i 'zajmij sie' samym WM_KEYDOWN.
Można jeszcze uzyc GetAsyncKeyState.
Jesli nic nie dostaniesz, pozostaje ci tylko napisanie drivera/modyfikacja istniejacego.
Btw, na czym polega to złe działanie drivera od producenta? Jedyne co powinien robic (z tymi klawiszami multimedialnymi) to wlasnie 'umozliwic' wysyłanie VK po nacisnieciu...
Użytkownik Fr3m3n edytował ten post 03 sierpień 2006, 06:45
Złe działanie sterowników objawa sie tym ze nie moge zmienić przypisania klawisza, który odpala WMP na Winampa, i później sterować winampem globalnie.
Fr3m3n ja nie korzystam z TranslateMessage, mój keylogger korzysta z globalnego, nispokoziomowego hooka na klawiature, napisałem go tak że reaguje piknięcięm głośnika na wciśnięcie jakiegokolwiek klawisza na klawiaturze, no i na te multimedialne nie pika. :(
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Szukając informacji na sieci trafiłem na strone, na której ktoś urzywał do odczytania tych kodów programu Spy++, ponoć dołączanego do VS, ja mam VC# i VC+ EE i bie widziałem tego ustrojstwa nigdzie.
[Edited - Wieści z frontu]
Całą noc nad tym ustrojstwem siedziałem, pisałem różne programu, gapiłem się w logi Spy++, czytałem wszelakie strony (strasznie mało na sieci jest informacji o klawiszach multimedialnych - głównie na stronach sklepów z klawiaturami ;) ). I z tych obserwacji wynikło że żaden program nie wykrywa wciśnięcia którychś z przycisków multimedialnych, mój program nie wykrył nic w buforze klawiatury podczas wciskania tych przycisków, zatem nasówa się na myśl to że program, dołączony do klawiatury odczytuje je bezpośredno z portu USB. Mam zatem pytanie w jaki sposób można monitorować port USB tak by w odpowiednim momencie zareagować jakąś czynnością. Dobranoc :)
PS. Dodam że klawiatura z którą się użeram to TRACER TRK-16 MMB Ultra Mobile K130.
Użytkownik BlindGuardian edytował ten post 03 sierpień 2006, 04:09
Co do tego keyloggera-usun TranslateMessage (zmienia WM_KEYDOWN+WM_KEYUP na WM_CHAR) i 'zajmij sie' samym WM_KEYDOWN.
Można jeszcze uzyc GetAsyncKeyState.
Jesli nic nie dostaniesz, pozostaje ci tylko napisanie drivera/modyfikacja istniejacego.
Btw, na czym polega to złe działanie drivera od producenta? Jedyne co powinien robic (z tymi klawiszami multimedialnymi) to wlasnie 'umozliwic' wysyłanie VK po nacisnieciu...
Użytkownik Fr3m3n edytował ten post 03 sierpień 2006, 06:45
Złe działanie sterowników objawa sie tym ze nie moge zmienić przypisania klawisza, który odpala WMP na Winampa, i później sterować winampem globalnie.
Fr3m3n ja nie korzystam z TranslateMessage, mój keylogger korzysta z globalnego, nispokoziomowego hooka na klawiature, napisałem go tak że reaguje piknięcięm głośnika na wciśnięcie jakiegokolwiek klawisza na klawiaturze, no i na te multimedialne nie pika. :(