how to make my md5 virus scan faster vb.net

357 views Asked by At

Hello everyone I'm currently making an antivirus thing for fun in vb.net and when my antivirus is doing the scan the program is slow and lagging can i make it faster? here's the part i think needs changing. UPDATE: that is the code that is in my timer can anyone help?

    ProgressBar1.Maximum = Conversions.ToString(ListBox1.Items.Count)
    total.Text = Conversions.ToString(ListBox1.Items.Count)


    If Not ProgressBar1.Value = ProgressBar1.Maximum Then
        Try

            ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
            Label1.Text = ListBox1.SelectedItem.ToString
        Catch ex As Exception
        End Try



        Try

            Dim scanbox As New TextBox
            Dim read As String = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Database\VirusList.dat")
            ProgressBar1.Increment(1)
            detected.Text = Conversions.ToString(Quarantine.ListBox2.Items.Count)

            files.Text = Conversions.ToString(ProgressBar1.Value)

            scanbox.Text = read.ToString
            Dim md5 As MD5CryptoServiceProvider = New MD5CryptoServiceProvider
            Dim f As FileStream = New FileStream(ListBox1.SelectedItem, FileMode.Open, FileAccess.Read, FileShare.Read, 8192)
            f = New FileStream(ListBox1.SelectedItem, FileMode.Open, FileAccess.Read, FileShare.Read, 8192)
            md5.ComputeHash(f)
            Dim hash As Byte() = md5.Hash
            Dim buff As StringBuilder = New StringBuilder
            Dim hashByte As Byte
            For Each hashByte In hash
                buff.Append(String.Format("{0:X2}", hashByte))
            Next

            If scanbox.Text.Contains(buff.ToString) Then



                Quarantine.ListBox2.Items.Add(ListBox1.SelectedItem)


            End If
        Catch ex As Exception
        End Try
    Else
        Timer1.Stop()

        MsgBox("Finished Scanning")
        Quarantine.Label3.Text = "Pending Quarantine"
        Quarantine.Label2.Text = "Select Item then right click and choose quarantine or delete"
        Quarantine.Label3.ForeColor = Color.DarkRed
        Quarantine.Label2.Location = New Point(142, 518)
        Quarantine.Label2.ForeColor = Color.DarkRed
        Quarantine.QuarantineToolStripMenuItem.Visible = True
        Quarantine.Show()
        RealTime.CheckBox2.Checked = True

        ProgressBar1.Value = 0
        If ListBox1.Items.Count = 0 Then
            MsgBox("No Threats were detected", MsgBoxStyle.Information)
            WriteToLog("No Threats were detected")

        End If
    End If
0

There are 0 answers