using System.Text.RegularExpressions; using MalwareMultiScan.Backends.Backends.Abstracts; using MalwareMultiScan.Backends.Services.Interfaces; namespace MalwareMultiScan.Backends.Backends { /// public class SophosScanBackend : AbstractLocalProcessScanBackend { /// public SophosScanBackend(IProcessRunner processRunner) : base(processRunner) { } /// public override string Id { get; } = "sophos"; /// protected override string BackendPath { get; } = "/opt/sophos-av/bin/savscan"; /// protected override bool ThrowOnNonZeroExitCode { get; } = false; /// protected override Regex MatchRegex { get; } = new Regex(@">>> Virus '(?.*)' found in file .*", RegexOptions.Compiled | RegexOptions.Multiline); /// protected override string GetBackendArguments(string path) { return $"-f -archive -ss {path}"; } } }