تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] المساعدة في الاكواد لبرنامج انتي فايرس
#1
السلام عليكم

اعمل على صناعة برنام انتي فايرس ومحتاج التعديل على هذا الكود ليقوم بفحص الكمبيوتر بالكامل بدون تخطي أي ملف موجود في الكمبيوتر واي درايف يكون موصل للكمبيوتر .

مثل USB Hardisk / Flash Memory

الرجاء المساعدة

هذا هو الكود


كود :
FolderBrowserDialog1.SelectedPath = ("C:/")
       FolderBrowserDialog2.SelectedPath = ("D:/")
       Try
           For Each strDir As String In System.IO.Directory.GetDirectories(FolderBrowserDialog1.SelectedPath)


               For Each strFile As String In System.IO.Directory.GetFiles(strDir)

                   ListBox1.Items.Add(strFile)

               Next

           Next
       Catch ex As Exception
       End Try

       Timer1.Start()
الرد }}}
تم الشكر بواسطة:
#2
اولا أنت لا تضمن ان Flash Disk مكانه هو D أنصحك أولا أن تقرأ جميع Divers ثم بعد ذلك تقرأ ما هو موجود عليها
الرد }}}
تم الشكر بواسطة:
#3
كلامك صحيح اخوي لكن لم اعرف اعدل على الكود هذا ليقوم بقراءة الدرايفرات ثم الفحص ما بداخلهم هذا هو مقصدي لتوجه لكم يا اخوان
الرد }}}
تم الشكر بواسطة:
#4
PHP كود :
   Public Function GetLocalDrives() As List(Of IO.DriveInfo)
 
       Dim list As List(Of IO.DriveInfo) = New List(Of IO.DriveInfo)()
 
       Dim drives As IO.DriveInfo() = IO.DriveInfo.GetDrives()
 
       For i As Integer 0 To drives.Length 1
            Dim di 
As IO.DriveInfo drives(i)
 
           list.Add(di)
 
       Next
        Return 
New List(Of IO.DriveInfo)(list)
 
   End Function 
الكود هذا سوف يساعدك علي قراءة جميع Drivers و هو سوف يعطيك مصفوفة عناصرها عبارة عن DriveInfo و يمكنك هنا التعامل مع كل عنصر في المصفوفة علي حده
وهذه دالة اخري سوف تعطيك فكرة عن كيفية التأكد من أن اي Drive جاهز للإستخدام
PHP كود :
   Public Function IsReadyDrive(driveName As String) As Boolean
        Dim driveInfo 
As IO.DriveInfo = New IO.DriveInfo(driveName)
 
       Return driveInfo.IsReady
    End 
Function 

عليك فقط أن تمرر مها DriveInfo.Name من الدالة الأولي


و الكود التالي للتوضيح فقط

PHP كود :
       For Each drive As IO.DriveInfo In GetLocalDrives()
 
           Me.ListBox1.Items.Add(drive.Name ":" drive.DriveType.ToString)
 
       Next 
الرد }}}
تم الشكر بواسطة:
#5
اتمنى المساعدة اكثر للعلم البرنامج يظهر لي الدرايفرات لكن لايقرا كل مابداخل الدرايفرات فقط ملفات هو يختارها

بصراحة انا مشكك بهذا الكود ربما الكود يحتاج الى تعديل ليقوم بقراءة جميع الملفات مع الدرايفرات


كود :
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
               TextBox1.Text = ListBox1.SelectedItem.ToString
           Catch ex As Exception
           End Try



           Try

               Dim scanbox As New TextBox
               Dim read As String = My.Computer.FileSystem.ReadAllText("viruslist.txt")
               ProgressBar1.Increment(1)
               Detected.Text = Conversions.ToString(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



                   ListBox2.Items.Add(ListBox1.SelectedItem)
               End If
           Catch ex As Exception
           End Try
       Else
           Timer1.Stop()
           MsgBox("Finished Scanning Folder!")
           TabControl1.SelectTab(3)
           If ListBox1.Items.Count = 0 Then
               MsgBox("No Threats were detected, Scan Window will close!", MsgBoxStyle.Information)

           End If
       End If
   End Sub

اذا كان به خطأ الرجاء تعديله لي او اعطائي التعديل واقوم بتغييره
الرد }}}
تم الشكر بواسطة:
#6
السلام عليكم

تحتاج صلاحيات كبيرة لقراءة جميع الملفات في المشغلات وخصوصا ملفات مشغل نظام التشغيل.
الرد }}}
تم الشكر بواسطة:
#7
اوك اخي هل بإمكاني ارسال السورس كود والتعديل عليه ؟؟ ليقرأ الدرايفرات ثم فحص جميع الملفات ؟؟
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم