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