Wie funktioniert Keylogging genau ?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Kingu
User
Beiträge: 2
Registriert: Sonntag 22. Dezember 2013, 05:04

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
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@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.
Benutzeravatar
sparrow
User
Beiträge: 4195
Registriert: Freitag 17. April 2009, 10:28

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.
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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Was ist denn an VirtualBox OSE nicht frei verfügbar? Die zweite Arbeit behauptet das, aber ich sehe da keinen Beleg dafür.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich bin mir ziemlich sicher, dass Tastaturen auch mit der freien Implementierung von USB 1.1 in VirtualBox funktionieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten