Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Christian010 en 10 Septiembre 2008, 01:10 am



Título: Pequeña vacuna para USB en Vb.net
Publicado por: Christian010 en 10 Septiembre 2008, 01:10 am
Bueno pues traigo mi primer aporte para esta comunidad una pequeña vacuna para las variantes de los virus RECYCLER

bueno primero necesitamos saber que Usb escanear, para eso agregamos un control "ComboBox" lo agregamos y ponemos un boton con el texto "actualizar"  con el siguiente codigo:

Código:
        ComboBox1.Items.Clear()
        Dim allDrives() As IO.DriveInfo = IO.DriveInfo.GetDrives
        Dim drive As IO.DriveInfo
        For Each drive In allDrives
            If drive.IsReady = True AndAlso drive.DriveType = IO.DriveType.Removable Then
                ComboBox1.Items.Add(drive.Name)
            End If
        Next
con este boton el combox obtendra la lista de todos los usb conectados al equipo
(ademas seria bueno agregarlo al load del formulario)

luego ponemos un boton con el texto "escanear"

y el siguiente codigo

Código:
 'Este para evitar errores
        If ComboBox1.SelectedItem = "" Then
            MsgBox("Seleccione una unidad", MsgBoxStyle.Critical, "Error")
        Else
            'Aqui va el codigo de la vacuna
            Try
                'declaramos cual es la unidad
                Dim usb As String
                usb = ComboBox1.Text
                'buscamos la clasica carpeta
                If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
                    'Obtenemos los archivos reales de la carpeta
                    For Each foundFile As String In My.Computer.FileSystem.GetFiles _
        (usb + "/RECYCLER", _
        FileIO.SearchOption.SearchAllSubDirectories)
                        'Quitamos privilegios a los archivos
                        IO.File.SetAttributes(foundFile, IO.FileAttributes.Normal)
                    Next
                    'Obtenemos las subcarpetas reales de la carpeta
                    For Each foundDirectory As String In _
                    My.Computer.FileSystem.GetDirectories _
                    (usb + "/RECYCLER", _
                     FileIO.SearchOption.SearchAllSubDirectories)
                        'Quitamos privilegios a los subdirectorios
                        IO.File.SetAttributes(foundDirectory, IO.FileAttributes.Normal)
                    Next
                    'Quitamos privilegios a la carpeta en si
                    IO.File.SetAttributes(usb + "/RECYCLER", IO.FileAttributes.Normal)
                    'y por fin la borramos
                    My.Computer.FileSystem.DeleteDirectory(usb + "/RECYCLER", FileIO.DeleteDirectoryOption.DeleteAllContents)
                    'Nos aseguramos que ya no hay virus
                    If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
                        MsgBox("No se logro eliminar el virus", MsgBoxStyle.Exclamation, "Error")
                    Else
                        MsgBox("Virus eliminado con exito", MsgBoxStyle.Information, "Exito")
                    End If
                Else
                    'Si no se encontro el virus este mensaje aparece
                    MsgBox("No se encontro el virus", MsgBoxStyle.Information, "Informacion")
                End If
            Catch
                'Un mensaje de error personalizado simple
                MsgBox("Error durante la operacion", MsgBoxStyle.Critical, "Error")
            End Try
        End If

en total el codigo de la vacuna seria este:

Código:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ComboBox1.Items.Clear()
        Dim allDrives() As IO.DriveInfo = IO.DriveInfo.GetDrives
        Dim drive As IO.DriveInfo
        For Each drive In allDrives
            If drive.IsReady = True AndAlso drive.DriveType = IO.DriveType.Removable Then
                ComboBox1.Items.Add(drive.Name)
            End If
        Next

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ComboBox1.Items.Clear()
        Dim allDrives() As IO.DriveInfo = IO.DriveInfo.GetDrives
        Dim drive As IO.DriveInfo
        For Each drive In allDrives
            If drive.IsReady = True AndAlso drive.DriveType = IO.DriveType.Removable Then
                ComboBox1.Items.Add(drive.Name)
            End If
        Next

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'Este para evitar errores
        If ComboBox1.SelectedItem = "" Then
            MsgBox("Seleccione una unidad", MsgBoxStyle.Critical, "Error")
        Else
            'Aqui va el codigo de la vacuna
            Try
                'declaramos cual es la unidad
                Dim usb As String
                usb = ComboBox1.Text
                'buscamos la clasica carpeta
                If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
                    'Obtenemos los archivos reales de la carpeta
                    For Each foundFile As String In My.Computer.FileSystem.GetFiles _
        (usb + "/RECYCLER", _
        FileIO.SearchOption.SearchAllSubDirectories)
                        'Quitamos privilegios a los archivos
                        IO.File.SetAttributes(foundFile, IO.FileAttributes.Normal)
                    Next
                    'Obtenemos las subcarpetas reales de la carpeta
                    For Each foundDirectory As String In _
                    My.Computer.FileSystem.GetDirectories _
                    (usb + "/RECYCLER", _
                     FileIO.SearchOption.SearchAllSubDirectories)
                        'Quitamos privilegios a los subdirectorios
                        IO.File.SetAttributes(foundDirectory, IO.FileAttributes.Normal)
                    Next
                    'Quitamos privilegios a la carpeta en si
                    IO.File.SetAttributes(usb + "/RECYCLER", IO.FileAttributes.Normal)
                    'y por fin la borramos
                    My.Computer.FileSystem.DeleteDirectory(usb + "/RECYCLER", FileIO.DeleteDirectoryOption.DeleteAllContents)
                    'Nos aseguramos que ya no hay virus
                    If My.Computer.FileSystem.DirectoryExists(usb + "/RECYCLER") Then
                        MsgBox("No se logro eliminar el virus", MsgBoxStyle.Exclamation, "Error")
                    Else
                        MsgBox("Virus eliminado con exito", MsgBoxStyle.Information, "Exito")
                    End If
                Else
                    'Si no se encontro el virus este mensaje aparece
                    MsgBox("No se encontro el virus", MsgBoxStyle.Information, "Informacion")
                End If
            Catch
                'Un mensaje de error personalizado simple
                MsgBox("Error durante la operacion", MsgBoxStyle.Critical, "Error")
            End Try
        End If
    End Sub
End Class

bueno espero que les guste y les dejo el link de descarga  ;D
http://www.badongo.com/file/11279851
se aceptarn dudas comentarias y demas  :P
salu2  ::)


Título: Re: Pequeña vacuna para USB en Vb.net
Publicado por: MANULOMM en 11 Septiembre 2008, 19:33 pm
Muy Bueno...

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


Título: Re: Pequeña vacuna para USB en Vb.net
Publicado por: techulca en 11 Septiembre 2008, 21:22 pm
La probaré... vamos a ver si le sirve a mi novia... siempre tiene un virus en el pendrive


Título: Re: Pequeña vacuna para USB en Vb.net
Publicado por: Christian010 en 11 Septiembre 2008, 23:27 pm
La probaré... vamos a ver si le sirve a mi novia... siempre tiene un virus en el pendrive

haha bueno en ese caso (no es por hacer spam) te recomiendo que pruebes
este soft http://www.ayuda-virus.info/foro/index.php/topic,4.0.html
utiliza este y otro sistemas de firmas para proteger el usb de virus
y es freeware
salu2  ;D