Seite 1 von 1

Wie funktioniert Keylogging genau ?

Verfasst: Sonntag 22. Dezember 2013, 05:30
von Kingu
Moin,

ich hab mich mal ein wenig mit dem Thema befasst und es geht ja in Python in ein paar Zeilen mit pyhook.

Aber was passiert da eigentlich im Hintergrund im Detail ? Habs mir mal laut meinen eingerosteten rudimentären Kenntnissen zusammengereimt.

Also da müsste doch ziemlich hardwarenah gearbeitet werden und zwar an der Southbridge müssten doch alle Peripheriewerte auf einen Stack kommen. Die von der Tastatur z.B. dann (64bit) Datenworte sind. Nun müssen die ja alle teilweise gleiche Bitfolgen aufweisen. Jetzt muss praktisch geparset werden, was vom Keyboard kommt und was keine Shortcuts, Funktionen sind wird gedroppt, jetzt wären noch die charactereingaben übrig, die ja nen ascii-wert in der folge haben. Den müsste man dann loaklisieren in hex umwandeln und der tabelle zuordnen. Die müsste dann auch automatisch richtig sortiert sein und wird dann genau in der queue geprintet.

Lieg ich da richtig ?
Und woher weiß man wie das aussieht und wonach man suchen muss und inwieweit ist das standardisiert

Re: Wie funktioniert Keylogging genau ?

Verfasst: Sonntag 22. Dezember 2013, 10:47
von Sirius3
@Kingu: Wenn Du Dich interessierst, wie Tasteneingaben in den Rechner kommen, dann läuft das heutzutage meist über USB. Da kommen dann aber weder Shortcuts noch ASCII-Werte durch die Leitung, sondern nur KeyCodes. Die Umsetzung der KeyCodes nach Zeichen hängt dann von der Ländereinstellung Deines Betriebssystems ab.
Nun zu pyhook: Damit Deine Fensterchen was von der Außenwelt mitbekommen, werden sie vom Fenstermanager mit Ereignissen gefüttert: Maus hat sich bewegt, Taste wurde gedrückt, Größe hat sich geändert, bitte neu malen, usw.
Jetzt bietet die Fensterverwaltung eine Funktion an, die jedes Ereignis (oder z.B. nach Tastenereignissen gefiltert) bei Dir durchschleust. Das ist also ziemlich bequem und einfach und ohne viel Hexerei möglich.

Re: Wie funktioniert Keylogging genau ?

Verfasst: Montag 23. Dezember 2013, 09:05
von sparrow
Wenn du nicht direkt auf der Hardware arbeiten willst, kannst du dir natürlich X11-Quellcode anschauen.

Wobei man bei X11 auch immer im Hinterkopf behalten muss, dass der Keylogger quasi schon eingebaut ist, weil es keine Trennung auf Applikationsebene gibt und Tastendrücke überall ankommen.

Re: Wie funktioniert Keylogging genau ?

Verfasst: Montag 23. Dezember 2013, 13:01
von BlackJack
An der FU Berlin gibt es zwei Bachelor-Arbeiten die beleuchten was passiert wenn man die Taste A auf der Tastatur betätigt bis das in einer Office-Anwendung angezeigt wird:

http://www.inf.fu-berlin.de/inst/ag-se/ ... -das-a.pdf
http://www.inf.fu-berlin.de/inst/ag-se/ ... -DasA2.pdf

Re: Wie funktioniert Keylogging genau ?

Verfasst: Dienstag 24. Dezember 2013, 22:57
von Leonidas
Was ist denn an VirtualBox OSE nicht frei verfügbar? Die zweite Arbeit behauptet das, aber ich sehe da keinen Beleg dafür.

Re: Wie funktioniert Keylogging genau ?

Verfasst: Mittwoch 25. Dezember 2013, 00:21
von BlackJack
@Leonidas: Was laut Wikipedia zum Beispiel nicht frei verfügbar ist (im Sinne von „free software”), ist die USB 2.0 Unterstützung. Wenn man also ein „A” von der Tastatur bis zur Anzeige verfolgen will und die Taste auf einer USB-Tastatur gedrückt wird, ist dabei ein Stück unfreie Software beteiligt. Rechtlich kein Problem weil der Teil unter einer Lizenz steht, die „educational use” mit einschliesst, worunter diese Arbeit sicher fallen dürfte, aber es gibt ja Leute die grundsätzlich ein Problem mit Freibier haben. :-D

Re: Wie funktioniert Keylogging genau ?

Verfasst: Mittwoch 25. Dezember 2013, 00:23
von Leonidas
Ich bin mir ziemlich sicher, dass Tastaturen auch mit der freien Implementierung von USB 1.1 in VirtualBox funktionieren.