Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Keylogger do klawiatury na PS/2

12 Paź 2007 22:57 957 3
  • Poziom 9  
    mam pytanie chciałem zrobić "keylogger'a" z samej klawiatury (bez kompa) podłączając do wyjścia klawiatury coś ale to:
    http://www.netadmintools.com/art215.html
    kod pojedynczego klawisza ma 11 bitów z tego 8 bitów danych, chciałem zapytać czy clock działa cały czas czy wypuszcza 11 impulsów przy naciśnięciu klawisz?? jeżeli działa cały czas (tak pewnie jest) to czy w tym schemacie w linku ta informacja zostanie wyświetlana, czy "przeleci" przez diody rejestry i diody, jeśli tak to jak ją zatrzymać aż do naciśnięcia kolejnego przycisku??
    z góry dzięki za odpowiedź
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Pomocny post
    Poziom 38  
    marrioo napisał:
    kod pojedynczego klawisza ma 11 bitów z tego 8 bitów danych, chciałem zapytać czy clock działa cały czas czy wypuszcza 11 impulsów przy naciśnięciu klawisz?? jeżeli działa cały czas (tak pewnie jest) to czy w tym schemacie w linku ta informacja zostanie wyświetlana, czy "przeleci" przez diody rejestry i diody, jeśli tak to jak ją zatrzymać aż do naciśnięcia kolejnego przycisku??
    Informacja z klawiatury AT zostanie zatrzymana w rejestrach ale tylko do czasu naciśnięcia kolejnego klawisza. Ponieważ transmisja z klawiatury przebiega synchronicznie tzn. sygnał CLOCK synchronizuje odczyt 11 bitów w sekwencji. Dane są odczytywane bit po bicie podczas każdego cyklu zegara, który jest wysyłany od rozpoczęcia do zakończenia sekwencji bitów DATA. Gdy nie jest wysyłana sekwencja 11 bitów sygnały CLOCK i DATA są w stanie wysokim logiczna "1". Dane z klawiatury wysyłane są szeregowo w następującej kolejności:

    - 1 bit startu (zawsze 0);
    - 8 bitów danych (najpierw najmniej znaczący bit);
    - 1 bit parzystości (jeśli liczba jedynek jest parzysta to bit parzystości = 1);
    - 1 bit stopu (zawsze 1).

    Sygnał CLOCK jest zawsze generowany przez klawiaturę. Oba sygnały CLOCK i DATA są typu "otwarty kolektor", po to aby można było wysłać dane do klawiatury lub przerwać transmisję z klawiatury w dowolnym momencie, gdyż rolę nadrzędną zawsze ma komputer. Tu akurat komutera nie będzie, więc przerwanie lub wysłanie danych nie będzie możliwe, możliwy będzie jedynie odczyt.
  • Poziom 9  
    Jestem bardzo wdzięczny za odpowiedź.
    Jeszcze tak na wszelki wypadek, czy dobrze zrozumiałem, że clock wypuszcza impulsy tylko wtedy gdy jest konieczność przesłania danych. Te 11 bitów zostaje wysłanych przy wciśnięciu i przy zwolnieniu klawisza (z tego co wiem) i w międzyczasie też cos wysyłane, w każdym razie dla mnie ważne jest, że te 11 bitów przy zwolnieniu przycisku zostaną zapisane w rejestrach aż do naciśnięcia kolejnego przycisku.

    (ach, te Ustrzyki ciągle mnie do siebie wołają a ja nie moge się wybrać;) )
    dzięki
  • Poziom 38  
    Tak zrozumiałeś bezbłędnie, CLOCK wysyła impulsy tylko w czasie przesyłania tych 11 bitów. Dane są wysyłane w momencie naciśnięcia klawisza i wtedy zostaną zapisane rejestry. Jest tak dlatego że klawiatura może powtarzać wysyłanie tego samego znaku po określonym czasie, jeśli klawisz pozostaje wciśnięty. Czas od wysłania piewszych danych do powtórzenia i częstotliwość powtarzania może zostać zmieniona przez użytkownika, wtedy komputer wysyła do klawiatury parametry tego zdarzenia. Protokół szeregowego przesyłania danych jest dwukierunkowy, dzięki temu różne dane mogą zostać przesłane również z komputera do klawiatury, np. ustawienie klawisza "Num Lock" przy starcie systemu.

    Tak jak ktoś raz był w Bieszczadach, zawsze tęskni za nimi. Ja urodziłem się i mieszkałem w Krakowie, więc aby nie tęsknić za Bieszczadami przeprowadziłem się z Krakowa do Ustrzyk :) Pozdrawiam i życzę aby udało Ci się znowu odwiedzić Bieszczady.