Utile pour vérifier si l'antivirus en mémoire n'est pas en réalité un virus ayant pris le même nom, etc.
Le résultat est de la forme suivante :
Code : Tout sélectionner
--------------------------------------
PID : 2332
Nom : fwsrv.exe
Chemin : C:\Program Files\Jetico\Jetico Personal Firewall\fwsrv.exe
Empreinte : 2fc76cc37b982de28bc99e7f599c713f
Date : 20050512110644 Taille : 118784
--------------------------------------
PID : 1764
Nom : PXAgent.exe
Chemin : C:\Program Files\Prevx Home\PXAgent.exe
Empreinte : aab4b7c9de99830308b4050b061fa67b
Date : 20050207112530 Taille : 147456
--------------------------------------
PID : 0
Nom : Unknow process
Chemin :
Empreinte :
Date : 19700101000000 Taille : -1
Code : Tout sélectionner
; Ce programme regarde si un process nommé existe en mémoire
; puis il vérifie l'empreinte MD5 du fichier exécutable (merci PureBasic)
; Malheureusement, ce n'est pas parce qu'un process tourne, qu'il est actif
;
; Attention : ce programme utilise les librairies ProcessLib et Droopy's Lib (> 1.22) :
; http://www.purearea.net/pb/english/index.htm
; Les librairies sont en concurrences si vous choisissez une Droopy'lib <1.22
Declare ExisteProcess(nom.s)
ProcessCount = ExamineProcesses()
void = ExisteProcess("fwsrv.exe")
void = ExisteProcess("PXAgent.exe")
void = ExisteProcess("AVGNT.EXE")
Procedure.l ExisteProcess(nom.s)
PID = GetProcessPID(nom.s)
ProcessName.s = GetProcessName(PID)
ProcessNamePath.s = GetProcessFileName(PID)
ProcessMD5.s = MD5FileFingerprint(ProcessNamePath.s)
TailleLoc = FileSize(ProcessNamePath.s)
DateLoc$= FormatDate("%yyyy%mm%dd%hh%ii%ss",FileGetTime(ProcessNamePath.s,2))
Debug "--------------------------------------"
Debug "PID : "+Str(PID)
Debug "Nom : "+ProcessName.s
Debug "Chemin : "+ProcessNamePath.s
Debug "Empreinte : "+ProcessMD5.s
Debug "Date : "+DateLoc$+" Taille : "+ Str(TailleLoc)
ProcedureReturn PID
EndProcedure