Detecter virus/vers dans la base de registre

Contenu du snippet

Voici mon premier code en vbs, il recherche les differentes valeurs/clef accédé/écrite dans la base de registre par un programme malveillant.il est loin d'étre parfait.Mes connaissance en vbs sont fraiches de quelques jours alors n'hésitez pas à étre critique que je puisse optimiser ma facon de programmer en vbs.

Source / Exemple :


On Error Resume Next 
Dim virname, virval, virstr, i, j, val, flag 

flag = False 
virname = "Sobig"                                          
virval = Array("System MScvb", "System Tray", "WindowsMGM") 
virstr = Array("mscvb32.exe","msccn32.exe","winmgm32.exe")  
Set WshSHell = WScript.CreateObject("WScript.Shell") 
Set Msg = Wscript.CreateObject("Wscript.Shell")            

key = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\"

Function RegExpTest(motif,chaine) 
  Dim regEx, retVal            
  Set regEx = New RegExp         
  regEx.Pattern = motif         
  regEx.IgnoreCase = True      
  retVal = regEx.Test(chaine)  
  If retVal Then
    RegExpTest = 1
  Else
    RegExpTest = 0
  End If
End Function

For Each i in virval            
  val = WshShell.RegRead(key & i)            
  For Each j in virstr             
    If RegExpTest(j, val) Then      
      Msg.Popup virname & " detecté !",,"Alerte",16 
      flag = True
    End If
  Next 
  val = ""
Next 

If Flag = False Then
  Msg.Popup virname & " non présent",,"Notification",64 
End If

Conclusion :


Je remerci Mr Guido van Rossum, inventeur du langage python qui m'a donner le reflexe d'indanter mon code :)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.