Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            // Configure API key authorization: Apikey
            Configuration.Default.AddApiKey("Apikey", "YOUR-KEY-HERE");

            // Specify your private cloud endpoint
            Configuration.Default.BasePath = "http://cloudmersiveprivatecloud.westus.cloudapp.azure.com";


            var apiInstance = new ScanApi();
            var inputFile   = new System.IO.FileStream("C:\\temp\\document2.pdf", System.IO.FileMode.Open); // System.IO.Stream | Input file to perform the operation on.

            try
            {
                // Scan a file for viruses
                VirusScanResult result = apiInstance.ScanFile(inputFile);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling ScanApi.ScanFile: " + e.Message);
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Starting...");

            var files = Directory.EnumerateFiles("C:\\temp");

            foreach (var file in files)
            {
                // Configure API key authorization: Apikey
                Configuration.Default.AddApiKey("Apikey", "e4c8ad3b-335b-4082-a297-f3153da07770");



                var apiInstance = new ScanApi();
                using (var inputFile = new System.IO.FileStream(file, System.IO.FileMode.Open))
                {
                    try
                    {
                        // Scan a file for viruses
                        VirusScanResult result = apiInstance.ScanFile(inputFile);
                        Debug.WriteLine(JsonConvert.SerializeObject(result));
                    }
                    catch (Exception e)
                    {
                        Debug.Print("Exception when calling ScanApi.ScanFile: " + e.Message);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private VirusScanResult CreateRandomVirusScanResult(Random random)
        {
            String name              = names[random.Next(0, names.Length - 1)];
            String infectedFile      = files[random.Next(0, files.Count - 1)];
            string randomCountry     = countries[random.Next(0, countries.Length - 1)];
            double version           = random.NextDouble();
            Array  values            = Enum.GetValues(typeof(VirusScanResult.enumDisposition));
            String randomDescription = buildRandomDescription(random);

            VirusScanResult.enumDisposition randomDisposition = (VirusScanResult.enumDisposition)values.GetValue(random.Next(values.Length));
            VirusScanResult virusScanResult = new VirusScanResult(name, infectedFile, version, randomDisposition, randomDescription, randomCountry);

            return(virusScanResult);
        }
Ejemplo n.º 4
0
        public VirusScanResult ScanFileBytes(byte[] imageBytes)
        {
            using (WebClient client = new WebClient())
            {
                client.Headers.Add("Apikey", Apikey);
                client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";



                var bytes = imageBytes;

                var response = client.UploadData("https://api.cloudmersive.com/virus/scan/file", "POST", bytes);

                VirusScanResult result = JsonConvert.DeserializeObject <VirusScanResult>(System.Text.Encoding.ASCII.GetString(response));


                return(result);
            }
        }
Ejemplo n.º 5
0
        public bool?CloudmersiveScan(IFormFile file)
        {
            Configuration.Default.AddApiKey("Apikey", _configuration["CloudmersiveKey"]);
            var apiInstance = new ScanApi();

            VirusScanResult result = new VirusScanResult();

            try
            {
                // Scan a file for viruses
                result = apiInstance.ScanFile(file.OpenReadStream());
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling ScanApi.ScanFile: " + e.Message);
            }

            return(result.CleanResult);
        }
        /// <summary>
        /// Scans the specified file for virus infections
        /// </summary>
        /// <param name="file">The file.</param>
        /// <returns>State indicating whether the file is infected or not.</returns>
        public static VirusScanResult Scan(FileInfo file)
        {
            VirusScanResult result = VirusScanResult.Clean;

            try
            {
                Process process = new Process();
                process.StartInfo.UseShellExecute        = false;
                process.StartInfo.RedirectStandardOutput = true;
                process.StartInfo.WindowStyle            = ProcessWindowStyle.Hidden;
                process.StartInfo.CreateNoWindow         = true;
                process.StartInfo.WorkingDirectory       = Properties.Settings.Default.FprotFolder;
                process.StartInfo.FileName  = Properties.Settings.Default.FprotFolder + Properties.Settings.Default.FprotExe;
                process.StartInfo.Arguments = String.Format(
                    "{0} \"{1}\"",
                    Properties.Settings.Default.FprotArguments,
                    file.ToString());
                process.Start();
                process.WaitForExit();
                String message = process.StandardOutput.ReadToEnd();

                if (!message.Contains(Properties.Settings.Default.FprotInfectionIndicator))
                {
                    result = VirusScanResult.Infected;
                    Tracing.Message("Mail is infected: " + file.FullName);
                }
                else
                {
                    result = VirusScanResult.Clean;
                    Tracing.Message("Mail is clean: " + file.FullName);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Virus scan failed. See inner exception for further detail", ex);
            }

            return(result);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// This is called by the virus scanning engine.
 /// </summary>
 /// <param name="virusScanResult">The last file processed or null if the scan is finished</param>
 private void processData(VirusScanResult virusScanResult)
 {
     if (virusScanResult == null)
     {
         lblScanStatus.Text = "Scan complete";
     }
     else
     {
         if (virusScanResult.disposition != VirusScanResult.enumDisposition.clean)
         {
             txtResults.Text     = (virusScanResult.fileName + " : " + virusScanResult.virusName + Environment.NewLine + txtResults.Text);
             lblVirusName.Text   = virusScanResult.virusName;
             lblDescription.Text = virusScanResult.description;
         }
         else
         {
             txtResults.Text     = (virusScanResult.fileName + Environment.NewLine + txtResults.Text);
             lblVirusName.Text   = "";
             lblDescription.Text = "";
         }
     }
 }