/// <summary> /// Сканирование файла /// </summary> /// <param name="path">Путь к файлу</param> /// <param name="clearVirusList">True для удаления всех сохраненных вирусов</param> public void ScanFile(string path, bool clearVirusList) { if (clearVirusList) { ClearVirusList(); } VirusFile fileForCheack = new VirusFile(path); bool findSignature = false; Counter.SetMaxValue(1, Enams.ResetStatus.Reset); if (SignatureM) { if (fileForCheack.Signature != null && SignatureString != string.Empty) { if (SignatureString.Contains(fileForCheack.Signature)) { if (AutoDeleteVirus) { fileForCheack.DeleteFile(); } else { AddInDangerFile(this, new FindDangerEventArgs(fileForCheack)); } findSignature = true; } } } if (EvrizmM) { if (!findSignature) { string fileSignature = File.ReadAllText(fileForCheack.Path); foreach (var signature in EvrizmSignature.signatures) { if (fileSignature.Contains(signature)) { if (AutoDeleteVirus) { fileForCheack.DeleteFile(); } else { AddInDangerFile(this, new FindDangerEventArgs(fileForCheack)); } //DangerFiles.Add(fileForCheack); break; } } } } Counter.Inc(); }
private void quarantine(VirusFile virusFile) { }