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(); }
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(); }