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 :)
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.