Разработка программы, имитирующей работу антивирусной программы

Автор работы: Пользователь скрыл имя, 25 Марта 2012 в 16:11, курсовая работа

Описание

Целью данного курсового проекта является разработка программы, имитирующей работу антивирусной программы.
Для достижения поставленной цели нужно решить следующие задачи:
- рассмотреть алгоритмы шифрования, используемые для реализации криптографических протоколов;
- реализовать один или несколько алгоритмов на выбранном языке программирования.

Содержание

Введение 2
1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 3
1.1 Компьютерные вирусы 3
1.1.1 Создатели вредоносных программ 4
1.1.2 Описание вредоносных программ....………5
1.2 Антивирусы……………………………………………7
1.2.1 Eset (nod32)………………………………………8
1.2.2 Symantec Norton Antivirus 2005………………8
1.2.3 Антивирус Касперского Personal……………9
1.2.4 Dr.Web32 для Windows…………………………9
1.2.5 Trend Micro PC-cillin Internet Security……………….9
1.2.6 NormanVirus Control………………………………….10
1.2.7 CAT Quick Heal Anti-Virus 2005……………………..10
1.2.8 Panda Titanium Antivirus 2004………………………..11
2 ПРАКТИЧЕСКАЯ ЧАСТЬ 12
2.1 Постановка задачи 12
2.2 Разработка программы 12
2.3 Тестирование программного продукта 20
2.3.1 Описание пользовательского интерфейса 20
2.3.2 Результат работы программы на контрольном примере 22
ЗАКЛЮЧЕНИЕ 27
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 28

Работа состоит из  1 файл

курсовая.doc

— 295.00 Кб (Скачать документ)

Антивирусное программное обеспечение состоит из подпрограмм, которые пытаются обнаружить, предотвратить размножение и удалить компьютерные вирусы и другое вредоносное программное обеспечение.

 

1.2.1 Eset (nod32)

 

NOD 32 Antivirus System от Eset Software обеспечивает безупречную защиту персональных компьютеров и корпоративных систем, работающих под управлением Microsoft Windows 95/98/ME/NT/2000/2003/XP, UNIX/Linux, Novell, MS DOS, а также для почтовых серверов Microsoft Exchange Server, Lotus Domino и других. Главным преимуществом NOD32 является его быстрая работа и не раз доказанная способность ловить 100% вирусов. Работать с ним предельно просто. Включает 4 модуля: Антивирусный Монитор, Монитор Интернет-трафика, монитор документов MSOffice – защищает от макро-вирусов и антивирусный сканер.

 

1.2.2 Symantec Norton Antivirus

 

Разработанная компанией Symantec программа Norton AntiVirus™  является одним из наиболее популярных антивирусных средств в мире. Эта программа автоматически удаляет вирусы, интернет-червей и троянские компоненты, не создавая помех работе пользователя. Новая функция Norton™ Internet Worm Protection (Защита от интернет-червей) позволяет блокировать ряд наиболее сложных и опасных червей (например, Blaster и Sasser) до того, как они проникнут в компьютерную систему. Кроме того, Norton AntiVirus в состоянии обнаруживать "шпионские" модули и другие угрозы, не являющиеся вирусными по своей природе. Чаще всего на английском языке.

 

1.2.3 Антивирус Касперского Personal

 

Установка и использование Антивируса Касперского Personal не вызывает никаких затруднений. Настройка программы исключительно проста за счет возможности выбора одного из трех предопределенных уровней защиты: "максимальная защита", "рекомендуемая защита" и "максимальная скорость". Благодаря удобному интерфейсу эта программа станет лучшим помощником даже для неопытных пользователей компьютеров.

В Антивирусе Касперского Personal применяется современная технология защиты от вирусов, основанная на принципах эвристического анализа второго поколения.

Программа - бесспорный лидер по тщательности проверки подозрительных объектов. Антивирус Касперского обнаруживает вирусы в архивированных и упакованных файлах более 700 форматов, а также лечит файлы форматов ZIP, ARJ, CAB и RAR.

 

1.2.4 Dr.Web32 для Windows

 

Dr.Web32 для Win32 выпущена в двух вариантах: с графическим интерфейсом (DrWeb32W) и без него (DrWebWCL). Оба варианта поддерживают одинаковый набор параметров (ключей) командной строки. Но для варианта с графическим интерфейсом все настройки могут производиться и из диалоговых панелей, что обычно бывает значительно более удобно. В то же время, вариант без графического интерфейса требует несколько меньших ресурсов.

В составе антивируса идет антивирусный монитор, который также проверяет все файлы что называется «на лету» а также электронную почту.

 

1.2.5 Trend Micro PC-cillin Internet Security

 

Неоднократно признавался лучшим корпоративным антивирусным программным обеспечением.

Trend Micro™ PC-cillin™ Internet Security 2004 представляет собой всеобъемлющую, но простую в использовании систему защиты от вирусов, хакерских атак и других опасностей, связанных с использованием Интернета.

Новая функция Network Virus Emergency Center обеспечивает наиболее полную защиту от современных сетевых вирусов, отличающихся очень высокой скоростью распространения. Данная функция используется для заблаговременного предупреждения пользователей о новых вспышках сетевых вирусов и перехвата самих этих вирусов на уровне сетевого шлюза, когда они предпринимают попытку проникнуть в ваш компьютер. При обнаружении активности сетевых вирусов может автоматически активироваться функция Internet Lock, не позволяющая вирусу заразить компьютер и распространиться дальше по сети.

 

1.2.6 Norman Virus Control

 

Norman Virus Control - действенно защищает пользователей.

Дружественный интерфейс, автоматизацией работы - вот основные характеристики, присущие Norman Virus Control (NVC) предназначенной для одного пользователя. Эта программа использует те же самые компоненты что и корпоративная версия, кроме возможностей управления сетью.

Уникальная технология Norman SandBox II защищает от новых и неизвестных компьютерных вирусов, червей и троянцев - являющихся в настоящее время самыми распространенными типами почтовых вирусов.

Электронная почта проверяется на вирусы прежде, чем они достигают почтового ящика.

Проверяет файлы в режиме реального времени.

 

1.2.7 CAT Quick Heal Anti-Virus

 

QuickHeal имеет мощный и оптимизированный механизм сканирования, который выполняет поиск вирусов быстро и просто. Он комбинирует действенные и быстрые технологии, чтобы гарантировать лучшую защиту от сегодняшних вирусов.

Особенности:

-         проверяет и очищает уже зараженный персональный компьютер перед установкой;

-         технология обнаруживает червей срабатывает прежде, чем вирус попадает в антивирусные базы, и также успешно удаляет изменения, сделанные ими;

-         защитита от всех видов опасностей исходящих из Интернета, то есть: порно-сайтов, шпионских программ, хакерских утилит и т.д;

-         сканирует и чистит и приходящие и исходящие почтовые сообщения;

-         быстрый модуль обновления обновляется быстро, и защищает машину от новых вирусов;

-         проверка сжатых файлов и сжатых исполняемых файлов;

-         интегрированная защита для MSOffice 2000/XP;

-         защищает персональный компьютер от вирусов, в то время как пользователь ищит информацию в Интернете.

 

1.2.8 Panda Titanium Antivirus

 

TitaniumAntivirus  быстро обнаруживает и уничтожает вирусы, троянцев, червей, программы – «дозвонщики», программы- «шутки», вредоносные коды ActiveX и опасные Java-апплеты. Технология эвристического сканирования позволяет обнаруживать новые и неизвестные вирусы. Программа включает в себя мощные инструменты активной защиты. TitaniumAntivirus  очень прост и удобен в использовании: у него интуитивно понятный интерфейс, прямые отчеты и полностью автоматические обновления. Каждый раз, когда компьютер соединяется с Интернетом, TitaniumAntivirus  находит и загружает ежедневные обновления файла вирусных баз, определяет и уничтожает вирусы еще до того, как пользователь открывает зараженное письмо.

2 ПРАКТИЧЕСКАЯ ЧАСТЬ

 

2.1 Постановка задачи

Написать программу, имитирующую работу антивируса, которая состоит из двух частей (окон) – «Информация для отправки» и «Принятая информация». Программа должна реализовывать шифрование методом с задаваемым смещением и пересылать зашифрованное сообщение от первого окна ко второму. Во втором окне вместе с зашифрованным сообщением может поступить вредоносная информация. Конечным результатом разработки будет программный продукт, реализующий выше указанные требования.

Исходными данными для окна «информация для отправки» будет служить сообщение, вводимое пользователем с клавиатуры или сообщение, которое может быть загружено из текстового файла.

Выходными данными для окна «принятая информация» будет расшифрованное сообщение без вредоносной информации.

 

2.2 Разработка программы

Для разработки программы выбран язык C++ и среда разработки Borland C++ Builder 6.0.

Листинг программы:

Окно «информация для отправки»:

//---------------------------------------------------------------------------

#include <vcl.h>

#include <string>

#pragma hdrstop

 

#include "Unit1.h"

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::Button1Click(TObject *Sender)

{ int i,fi,virusID; AnsiString a,b,anot15; int sm,j;  i=rand()%5; char f;

Form2->Button1->Enabled=true; a=""; b=""; boolean insertvirus;

Form2->Label2->Caption="";  insertvirus=false;

Form2->Memo1->Clear(); a=""; sm=StrToInt(Edit1->Text);

/*if (i<2){a+=(char)(13); a+=(char)(10);

a+="Вирусная информация";//b=a;

for (j=1;j<=a.Length();j++){

f=a[j];fi=(int)f;fi+=sm;

f=(char)fi;

a[j]=f;} a+=(char)(13+sm); a+=(char)(10+sm);}*/// кодирует а - входная строка, sm -смещение, b - выходная строка}

if (i<3){insertvirus=true;//a+=(char)(13); a+=(char)(10);

a+="Вирусная информация";//b=a;

//a+=(char)(13); a+=(char)(10);

}

b="";

for (i=0;i<Memo1->Lines->Count;i++){virusID=rand()%6;

if ((virusID==2)&&(insertvirus)){i--;insertvirus=false;anot15=a;}else{

anot15=Memo1->Lines->Strings[i];}

if((insertvirus)&&((Memo1->Lines->Count-i)==2)){i--;anot15=a;insertvirus=false;}

for (j=1;j<=anot15.Length();j++){

f=anot15[j];fi=(int)f;fi+=sm;

f=(char)fi;

b+=f;

}

if((Memo1->Lines->Count-i)>1){b+=(char)(13+sm); b+=(char)(10+sm);} }

//Edit2->Text=b[1];//IntToStr(sm);

//if (a!=""){b+=a;}

memka2=b;

for(i=1;i<b.Length();i++){

if ((int)b[i]== 0){b[i]=' ';}

}

Form2->Memo1->Lines->Add(b);

 

//Form2->Memo1->Lines->AddStrings(Memo1->Lines);

//if (a!=""){Form2->Memo1->Lines->Add(a);}

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::N8Click(TObject *Sender)

{

if(OpenDialog1->Execute())

Memo1->Lines->LoadFromFile(OpenDialog1->FileName);      

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::N9Click(TObject *Sender)

{

if(SaveDialog1->Execute())

Memo1->Lines->SaveToFile(SaveDialog1->FileName) ;      

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N10Click(TObject *Sender)

{

Form1->Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N7Click(TObject *Sender)

{

Memo1->Clear();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N5Click(TObject *Sender)

{

//Form3->Visible=true;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N4Click(TObject *Sender)

{

// Form4->Visible=true;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N6Click(TObject *Sender)

{

Memo1->Clear();       

}

//---------------------------------------------------------------------------

 

 

 

Окно «принятая информация»:

 

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

//---------------------------------------------------------------------------

__fastcall TForm2::TForm2(TComponent* Owner)

        : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Button1Click(TObject *Sender)

{boolean virus;

Button1->Enabled=false; Button2->Enabled=false;

int fi,i; AnsiString a,b,anot15; int sm,j,hh;  char f; AnsiString gg;

a=""; sm=StrToInt(Form1->Edit1->Text);

hh=Memo1->Lines->Count;  //Memo2->Clear();

//Memo2->Lines->AddStrings(Memo1->Lines);

//Form1->memka2="";

//for (i=0;i<Memo1->Lines->Count;i++){

//Form1->memka2 += Memo1->Lines->Strings[i];}

Memo1->Clear();

/*for (i=0;i<hh;i++){

b=Memo2->Lines->Strings[i];

for (j=1;j<=b.Length();j++){

f=b[j];fi=(int)f;fi-=sm;

f=(char)fi;

b[j]=f;

}*/

b=Form1->memka2;

for(i=1;i<b.Length();i++){

if ((int)b[i]== 0){b[i]=' ';}

}

Edit1->Text=b;//Form1->memka2;

anot15= Form1->memka2;    b="";

for (j=1;j<=anot15.Length();j++){

f=anot15[j];fi=(int)f;fi-=sm;

f=(char)fi;

b+=f;               }

Memo1->Lines->Add(b);   //}

virus=false;

for(i=0;i<Memo1->Lines->Count;i++){

//gg=Memo1->Lines->Strings[Memo1->Lines->Count-1];

gg=Memo1->Lines->Strings[i];

if (gg=="Вирусная информация")

Информация о работе Разработка программы, имитирующей работу антивирусной программы