WH_KEYBOARD_LL i klawisz ALT

0

Witam,

napisałem sobie prosty (...) program w którym czytam znaki klawiatury, bo dużo piszę listów, a często pada mi zasilanie i tracę wówczas dane, których stracić bym nie chciał, nurtuje mnie jednak fakt, że nie mam polskich liter, nawet mogłoby ich nie być, ale gdy naciśnie się jakiś znak+alt wówczas klawisz przepada. Chciałbym więc zrobić filtr który sprawdzi czy został znak naciśnięty z alt`em i wówczas przekonwertować domniemane 'ą' na 'a'. Jednak nie wychodzi mi czytanie naciśnięcia ALT. Próbowałem ze strukturą: KBDLLHOOKSTRUCT, mniej więcej tak:

ptvk = (KBDLLHOOKSTRUCT*)lParam;
if( (ptvk->scanCode & LLKHF_ALTDOWN) /* ...*/ ) // daj glos //;

ale coś nie bardzo.. jak sprawdzić czy został naciśnięty alt+klawisz?

0

keylogger? a po ch** ci on? jak nie masz sensownego wytłumaczenia, to zaraz ban poleci; a uprzedzam o tym tylko dlatego, że jesteś u nas już prawie trzy lata.

0

Chyba czegoś nie rozumiem, na wszelki wypadek przeczytałem ważniejsze punkty regulaminu i nadal nie rozumiem. Gdyż nie zobaczyłem punktu w którym byłoby napisane, że trzeba uzasadniać potrzeby czy też powody dla których piszemy jakiś program. Zdaje mi się też, że tytuł mojego tematu nie odbiega od treści, nie brzmi w końcu: "Po co nam keylogger?". Jeśli gdzieś na tym forum jest rozwiązanie mojego problemu - to przepraszam za spam, jeśli go nie zauważyłem podczas szukania. Jeśli natomiast mój problem jest zbyt banalny czemu nie przenieść go do newbie.. Z całym szacunkiem dla Moderatora, ale nie rozumiem. Rozumiem jednak, że pewnie niekoniecznie się dowiem. W każdym razie za uprzedzenie dziękuję.

I choć wydaje mi się, że nie muszę się tłumaczyć z tego po co mi jakiś program to proszę bardzo - pisałem go, bo:

  1. chroni przed częściową utratą danych
  2. dla zabawy
  3. żeby się czegoś nowego nauczyć

// to nie ma punktu o tworzeniu szkodliwego oprogramowania? nie ma problemu, dodam taki punkt jeśli go brakuje - Ł

0

Keyloggery są niezgodne z prawem. Amen.

0

Chyba używanie keyloggera w nieodpowiedni sposób może być dopiero łamaniem prawa. Czyli wysyłanie go komuś, podrzucanie, instalowanie, itd, itp i wykradanie jego danych. Czy napisałem gdzieś - "witam, piszę trojana, wirusa, program sniffujący" ? Albo że chce kogoś szpiegować? Szczególnie, że nie pytam jak napisać keylogger, równie dobrze w ogóle mogłem o tym nie wspominać! Tylko napisać wyłącznie o problemie który jest w temacie... ech.. i chyba trzeba tak zrobić

0

proponuję wyrobić sobie odruchowy, niekontrolowany nawyk naciskania Ctrl+S, jak ja
tak co zdanie lub dwa

jest to dobre, a nieraz aż za dobre :>

0

haha, dobre :D ale może będę chciał rozbudować program o postać sprzętową, czyli jakiś mikrokontroler zapisujący do swojej pamięci lub zewnętrznej.

Ale pominąwszy wszelkie dywagacje, czy ktoś mógłby przejść do meritum? Wydaje się chyba interesująca ta struktura KBDLLHOOKSTRUCT, chyba, że jest inny sposób na tego ALT`a ?

0

ale - w ogole Twoj hook nie wylapuje sygnalu keydown - alt ? czy problem masz w tym, ze wylapuje osobno alt i s, zamiast ś ?

jesli nie wylapuje alt'a - obawiam sie ze problem w tym, ze okno pierwotne wychwytuje i wygasza ten event (np. menu okienka!) jeszcze zanim chain dojdzie do Twojego hook'a.. (edit/down tez mi sie tak wydawalo.. ot, pamietam ze sa problemy z chwytaniem ALT na formsach w .Net, na hookach szczerze, nie pamietam)

moze badaj aktualny stan klawiatury i odpytuj o to czy jest obecnie wcisniety alt/control/shift zamiast czyhac na keydown klawisza specjalnego.. sam nie wiem:/

coz.. zawsze mozesz zrobic PRAWDZIWEGO keyloggera - filtr na urzadzeniu klawiatury. w sumie, jest to kwestia wygenerowania sobie projektu device filter'a, dodania paru raptem linijek glownie od otwarcia/zapisu do pliku, no i zainstalowania sobie w systemie..

..tyle ze wtedy dostaniesz (IIR) scancode'y klawiatury a nie ascii/unicode hehe

0

Autor to idiota bo takie rzeczy nawet na MSDN-ie są. Powiedziałbym gdzie błąd ale nie wspiedam dzieci neostrady i ich machin zniszczenia maści wszelakiej. W każdym razie hook jest dobry, wszystko da się zrobić idealnie z użyciem WINAPI... albo DirectX.

0

ekhem, a ja spróbuję się podzielić swoim spostrzeżeniem, nie wiem czy prawidłowym ;)

wciśnięcie "polskiego alta" czyli prawego, generuje kod ctrl+alt+znak ;) może chodzi tylko o to właśnie, żebyś sprawdzał ctrl i alt.

nie wiem, nigdy keyloggera nie robiłem poważnego, ale z tym zjawiskiem się kilka razy spotkałem (prawy alt generujący podwójny kod CTRL+ALT),

0

dzieki za wskazowki.
PS. Coz asdf, skoro wiem o samym istnieniu struktury o ktorej powyzej pisalem to znaczy ze zagladalem w msdn, tak samo jak pisalem ze przeszukiwalem forum, owszem moglem zle szukac, albo przeoczyc jakies wazne informacje, a skoro jestes taki idealny i korona na glowie by spadla to moze zamknij sie sam w sobie ze swoim oburzeniem, a nie spamuj, bo to ze hak jest odpowiedni to chyba nawet dziecko neostrady by sie domyslilo, ale dziekuje rowniez i tobie za to zapewnienie, czuje sie zaszczycony ze nawet dla takiego "idioty" poslesz kilka slow. A jak cos ci sie nie podobalo, trzeba bylo zaapelowac o przeniesienie topicu do newbie.

(a neostrady nigdy nie miałem... zresztą nie rozumiem porównania, bo chyba nie proszę kogoś żeby napisał coś za mnie, tylko gdy sam mam jakiś pomysł - żeby ktoś go zweryfikował, dał wskazówkę, jeśli ma takie doświadczenie.. a no i o losy świata czy swojej rodziny też się nie martw. )

// już, spokojnie, walnij sobie bro na rozluźnienie i się tak nie spinaj. po prostu to, o co pytasz, pachnie trojanem. wierzę Tobie, że tak nie jest, ale ja akurat nie mam węchu - Ł

1 użytkowników online, w tym zalogowanych: 0, gości: 1