Как сделать так, чтобы мой вирус md5 сканировал быстрее vb.net

Привет всем, я в настоящее время делаю антивирус для развлечения на vb.net, и когда мой антивирус выполняет сканирование, программа работает медленно и с задержкой, могу ли я сделать это быстрее? вот часть, я думаю, нуждается в изменении. ОБНОВЛЕНИЕ: это код, который находится в моем таймере, кто-нибудь может помочь?

    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 ответов

Другие вопросы по тегам