public static List <HTTPDataAnalyzer.Registration.RecentAutoRuns> GetAutorunpoints() { List <HTTPDataAnalyzer.Registration.RecentAutoRuns> oldApp = new List <Registration.RecentAutoRuns>(); try { using (SQLiteConnection connection = new SQLiteConnection(DBManager.ConnectionString)) { connection.Open(); using (SQLiteCommand selectCommand = new SQLiteCommand("select * from autorunpoints", connection)) { using (SQLiteDataReader dataReader = selectCommand.ExecuteReader()) { while (dataReader.Read()) { HTTPDataAnalyzer.Registration.RecentAutoRuns app = new Registration.RecentAutoRuns(); app.CollectedDate = DateTime.Parse(dataReader["collecteddate"].ToString()); app.IsDeleted = bool.Parse(dataReader["isdeleted"].ToString()); app.AppDetails = new winaudits.Autorunpoints(); app.AppDetails.Type = dataReader["type"].ToString(); app.AppDetails.RegistryPath = dataReader["registrypath"].ToString(); app.AppDetails.FilePath = dataReader["filepath"].ToString(); app.AppDetails.IsRegistry = Convert.ToBoolean(dataReader["isregistry"].ToString()); app.AppDetails.IsFile = Convert.ToBoolean(dataReader["isfile"].ToString()); app.AppDetails.RegistryModified = dataReader["registrymodified"].ToString(); app.AppDetails.RegistryOwner = dataReader["registryowner"].ToString(); app.AppDetails.RegistryValueName = dataReader["registryvaluename"].ToString(); app.AppDetails.RegistryValueString = dataReader["registryvaluestring"].ToString(); app.AppDetails.FileCreated = dataReader["filecreated"].ToString(); app.AppDetails.FileModified = dataReader["filemodified"].ToString(); app.AppDetails.FileOwner = dataReader["fileowner"].ToString(); app.AppDetails.FileMD5 = dataReader["filemd5"].ToString(); app.AppDetails.IsSigned = Convert.ToBoolean(dataReader["issigned"].ToString()); app.AppDetails.IsVerified = Convert.ToBoolean(dataReader["isverified"].ToString()); app.AppDetails.SignatureString = dataReader["signaturestring"].ToString(); app.AppDetails.CA = dataReader["ca"].ToString(); app.AppDetails.CertSubject = dataReader["certsubject"].ToString(); oldApp.Add(app); } } } } } catch (Exception ex) { //Registration.ClientRegistrar.Logger.Error(ex); } return(oldApp); }
//static Dictionary<string, RecentAutoRuns> PreviousAutorunpoints = new Dictionary<string, RecentAutoRuns>(); public static byte[] GetConfig(bool isRegister) { string temp = string.Empty; Dictionary <string, RecentApp> currentAppList = new Dictionary <string, RecentApp>(); SystemConfiguration sysConfig = null; if (isRegister) { sysConfig = HTTPDataAnalyzer.ReadQueries.GetSystemConfiguration(); } // return serial; if (sysConfig == null) { sysConfig = new SystemConfiguration(); sysConfig.NetworkTypes = new List <NetworkType>(); sysConfig.RecentApps = new List <RecentApp>(); sysConfig.Autorunpoints = new List <RecentAutoRuns>(); sysConfig.Browsers = BrowsersDetector.GetBrowsers().Select(x => x.Value).ToList(); sysConfig.OfficeApplications = MSOfficeDetector.GetOfficeApps(); Dictionary <string, RecentAutoRuns> currentAutoruns = new Dictionary <string, RecentAutoRuns>(); foreach (var item in winaudits.AutoRunManager.StartAudit()) { RecentAutoRuns recent = new RecentAutoRuns(); recent.AppDetails = item; recent.IsDeleted = false; recent.CollectedDate = DateTime.UtcNow; sysConfig.Autorunpoints.Add(recent); } foreach (var item in winaudits.InstalledAppAuditor.StartAudit()) { RecentApp recent = new RecentApp(); recent.AppDetails = item; recent.IsInstalled = true; recent.CollectedDate = DateTime.UtcNow.ToString(HTTPDataAnalyzer.DBManager.DateTimeFormat); sysConfig.RecentApps.Add(recent); try { if (!currentAppList.ContainsKey(recent.AppDetails.Key)) { currentAppList.Add(recent.AppDetails.Key, recent); } else { //Registration.ClientRegistrar.Logger.Error("====================================================================="); //Registration.ClientRegistrar.Logger.Error("Config 1"); //Registration.ClientRegistrar.Logger.Error(recent.AppDetails.DisplayName); //Registration.ClientRegistrar.Logger.Error(recent.AppDetails.Key); //Registration.ClientRegistrar.Logger.Error(recent.AppDetails.InstallDate); //Registration.ClientRegistrar.Logger.Error(recent.AppDetails.Version); //Registration.ClientRegistrar.Logger.Error(recent.AppDetails.Is64); //Registration.ClientRegistrar.Logger.Error(recent.IsInstalled); //Registration.ClientRegistrar.Logger.Error(recent.CollectedDate); recent = currentAppList[recent.AppDetails.Key]; //Registration.ClientRegistrar.Logger.Error("Config 2"); //Registration.ClientRegistrar.Logger.Error(recent.AppDetails.DisplayName); //Registration.ClientRegistrar.Logger.Error(recent.AppDetails.Key); //Registration.ClientRegistrar.Logger.Error(recent.AppDetails.InstallDate); //Registration.ClientRegistrar.Logger.Error(recent.AppDetails.Version); //Registration.ClientRegistrar.Logger.Error(recent.AppDetails.Is64); //Registration.ClientRegistrar.Logger.Error(recent.IsInstalled); //Registration.ClientRegistrar.Logger.Error(recent.CollectedDate); //Registration.ClientRegistrar.Logger.Error("====================================================================="); } } catch (Exception ex) { //Registration.ClientRegistrar.Logger.Error(ex); } } sysConfig.ChasisType = ChasisTypeFinder.GetChassisType().ToString(); sysConfig.AgentVersion = "0"; sysConfig.TimeZone = GetSystemTimeZoneName(); sysConfig.HostName = Dns.GetHostName(); sysConfig.DomainName = Environment.UserDomainName; foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()) { if (nic.OperationalStatus.ToString().ToLower() == "up" && nic.NetworkInterfaceType.ToString().ToLower() != "loopback") { NetworkType netTpe = new NetworkType(); foreach (UnicastIPAddressInformation ip in nic.GetIPProperties().UnicastAddresses) { if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { netTpe.IPAdress = ip.Address.ToString(); break; } } if (netTpe.IPAdress == null) { continue; } netTpe.MAC = nic.GetPhysicalAddress().ToString(); netTpe.Type = nic.NetworkInterfaceType.ToString(); sysConfig.NetworkTypes.Add(netTpe); } } sysConfig.Processor = GetProcessor(); sysConfig.BitLevel = OSInfo.Bits; sysConfig.OSEdition = OSInfo.Edition; sysConfig.OSServicePack = OSInfo.ServicePack; sysConfig.OSName = OSInfo.Name; sysConfig.ProductID = ProductID(); sysConfig.AgentID = ConfigHandler.Config.AgentInstaller.AgentID; sysConfig.AgentVersion = ConfigHandler.Config.AgentInstaller.AgentVersion; sysConfig.OSLastUpTime = LastBootUpTime(); sysConfig.Installdate = DateTime.UtcNow; sysConfig.Acrobat = GetAdobeVer(); sysConfig.Java = GetJavaVersion(); sysConfig.Registereduser = Util.GetWindowsUserName(); sysConfig.Flash = GetFlashPlayerVersionString().Replace(",", "."); } if (isRegister) { HTTPDataAnalyzer.InsertQueries.InsertInHostInfo(sysConfig); sysConfig.RecentApps.Clear(); sysConfig.Autorunpoints.Clear(); } else { if (PreviousInstalledApp.Count == 0) { PreviousInstalledApp = HTTPDataAnalyzer.ReadQueries.GetPreviousConfig(); } if (PreviousInstalledApp.Count > 0) { List <RecentApp> tempInstalledApp = new List <RecentApp>(); tempInstalledApp.AddRange(sysConfig.RecentApps); sysConfig.RecentApps.Clear(); for (int i = 0; i < tempInstalledApp.Count; i++) { var appName = tempInstalledApp[i]; if (PreviousInstalledApp.ContainsKey(appName.AppDetails.Key)) { continue; } sysConfig.RecentApps.Add(appName); PreviousInstalledApp.Add(appName.AppDetails.Key, appName); } foreach (var item in PreviousInstalledApp) { if (!currentAppList.ContainsKey(item.Key)) { RecentApp unInstall = PreviousInstalledApp[item.Key]; unInstall.IsInstalled = false; unInstall.CollectedDate = DateTime.UtcNow.ToString(HTTPDataAnalyzer.DBManager.DateTimeFormat); sysConfig.RecentApps.Add(unInstall); } } foreach (RecentApp item in sysConfig.RecentApps) { if (!item.IsInstalled) { if (PreviousInstalledApp.ContainsKey(item.AppDetails.Key)) { PreviousInstalledApp.Remove(item.AppDetails.Key); } } } } //if (PreviousAutorunpoints.Count == 0) //{ // PreviousAutorunpoints = HTTPDataAnalyzer.DBManager.ReadQueries.GetPreviousAutoRuns(); //} //if (PreviousAutorunpoints.Count > 0) //{ // List<RecentAutoRuns> tempAutoRuns = new List<RecentAutoRuns>(); // tempAutoRuns.AddRange(sysConfig.Autorunpoints); // sysConfig.Autorunpoints.Clear(); // for (int i = 0; i < tempAutoRuns.Count; i++) // { // var appName = tempAutoRuns[i]; // if (PreviousAutorunpoints.ContainsKey(appName.AppDetails.FilePath)) // { // continue; // } // sysConfig.Autorunpoints.Add(appName); // PreviousAutorunpoints.Add(appName.AppDetails.FilePath, appName); // } // foreach (var item in PreviousAutorunpoints) // { // if (!currentAutoruns.ContainsKey(item.Key)) // { // RecentAutoRuns unInstall = PreviousAutorunpoints[item.Key]; // unInstall.IsDeleted = false; // sysConfig.Autorunpoints.Add(unInstall); // } // } //} HTTPDataAnalyzer.UpdateQuery.UpdateInHostInfo(sysConfig); } byte[] configByte = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(sysConfig)); return(configByte); }