Example #1
0
        static void Main(string[] args)
        {
            var st = new Stopwatch();

            st.Start();

            Console.WriteLine("Capturing...");
            ClamMain.Initialize();

            var dataChecker = new DatabaseStateChecker(@"D:\bin\database\test");

            dataChecker.CaptureState();

            Console.WriteLine("Do changes.");
            Console.ReadKey();

            Console.WriteLine("Changes detected: " + dataChecker.HasChanges());

            Console.WriteLine("Release.");
            dataChecker.ReleaseCapture();

            st.Stop();
            Console.WriteLine("Elapsed: " + st.ElapsedMilliseconds);
            Console.ReadKey();
        }
Example #2
0
        static void Main(string[] args)
        {
            PrintWelcomeMessage();

            // get file path
            Console.WriteLine("1. Enter file path to scan.");
            var scanPath = GetFilePath();

            Console.WriteLine();

            // get database path
            Console.WriteLine("1. Enter database file path.");
            var databasePath = GetFilePath();

            Console.WriteLine();

            // check paths
            if (!File.Exists(scanPath) || !File.Exists(databasePath))
            {
                Console.WriteLine("Scan path or database path is not exist! Exiting...");
                PrintExitMessage();
            }

            // do scan
            try
            {
                // initialize libclamav
                PrintLog("Initializing libclamav...");
                ClamMain.Initialize();
                PrintLog("libclamav initialized.");

                // create new engine
                PrintLog("Creating new engine instance...");
                using (var engine = ClamMain.CreateEngine())
                {
                    PrintLog("Engine instance is created.");

                    // load database
                    PrintLog("Loading database...");
                    engine.Load(databasePath);
                    PrintLog("Database loaded.");

                    // compile engine
                    PrintLog("Compiling engine...");
                    engine.Compile();
                    PrintLog("Engine compiled.");

                    // scan the file
                    PrintLog("Scanning file...");
                    var result = engine.ScanFile(scanPath);
                    PrintLog("SCAN FINISHED.");
                    Console.WriteLine("Scanned:      " + result.Scanned);
                    Console.WriteLine("IsVirus:      " + result.IsVirus);
                    Console.WriteLine("MalwareName:  " + result.IsVirus);

                    PrintLog("Releasing engine...");
                }
                PrintLog("Engine released.");
            }
            catch (Exception ex)
            {
                Console.WriteLine();
                CenterText("-----EXCEPTION CAUGHT-----");
                Console.WriteLine(ex.ToString());
            }

            // exit
            Console.WriteLine();
            Console.WriteLine();
            PrintExitMessage();
        }