5. ПРИЛОЖЕНИЕ B (ЛИСТИНГ ПРОГРАММЫ).


unit Unitkurs1;{главный}

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Mask;

type

TForm1 = class(TForm)

Label1: TLabel;

EditID: TEdit;

Label2: TLabel;

EditPSW: TMaskEdit;

Button1: TButton;

Button2: TButton;

Label3: TLabel;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

procedure Generator;

end;

var

Form1: TForm1;

F_Mag,

F_PSW:file of char;{переменная, связанная с файлом 'password.txt'}

i,j,l,flag,i1,f{Yo}:integer;

y:integer;{псевдослучайное число}

UserMatrix:array[1..10,1..3] of string;{массив фамилий, идентификаторов и паролей пользователей}

Surname:array[1..150] of char;{массив фамилий пользователей}

IDs:array[1..100] of char;{массив идентификаторов пользователей}

PSWs:array[1..100] of char;{массив паролей пользователей}

stroca,Ident,Psword:string;

xxx:char;

const

Yo:integer=14;

implementation

uses Unitkurs, Unitkurs3;

{$R *.DFM}

{процедура реализующая ЛИНЕЙНЫЙ КОНГУЭНТНЫЙ ГЕНЕРАТОР}

procedure Tform1.Generator;

begin

y:=(31*y+17)mod(257);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close

end;

{нажатие кнопки 'принять'}

procedure TForm1.Button1Click(Sender: TObject);

begin


if (EditID.Text='admin')and(EditPSW.Text='password')

then Form2.Visible:=true

else {если не администратор}

begin

Ident:=EditId.Text;

Psword:=EditPSW.Text;

i:=1;

repeat

if i>length(Ident) then Ident:=Ident+' ';

if i>length(Psword) then Psword:=Psword+' ';

i:=i+1;

until i>=11;

{запись в журнал аудита}

{$I-}

AssignFile(F_Mag,'audit');

Reset(F_Mag);

{$I+}

if IOResult0 then begin Rewrite(F_Mag); y:=Yo end

else begin

if FileSize(F_Mag)=0 then y:=Yo

else begin

y:=yo;

f:=20*round(FileSize(F_Mag)/30);

i:=1;

repeat

generator;

i:=i+1

until i>=f+1;

end;

end;

Seek(F_Mag,FileSize(F_Mag));

i:=1;

repeat

generator;

xxx:=Chr((ord(Ident[i]))xor(y));

Write(F_Mag,xxx);

i:=i+1;

until i>=11;

i:=1;

repeat

generator;

xxx:=Chr((ord(PSWord[i]))xor(y));

Write(F_Mag,xxx);

i:=i+1;

until i>=11;

{чтение информации из файла}

Y:=14;

AssignFile(F_PSW,'password.txt');

Reset(F_PSW);

{фамилии}

j:=1;

repeat

Read(F_PSW,Surname[j]);

j:=j+1

until j>=151;

{идентификаторы}

j:=1;

repeat

Read(F_PSW,IDs[j]);

generator;

ids[j]:=chr((ord(ids[j]))xor(y));

j:=j+1

until j>=101;

{пароли}

j:=1;

repeat

Read(F_PSW,PSWs[j]);

generator;

PSWs[j]:=chr((ord(PSWs[j]))xor(y));

j:=j+1

until j>=101;

CloseFile(F_PSW);

{сбор в массив UserMatrix}

i:=1;

repeat

stroca:='';

j:=1;

repeat

if Surname[(i-1)*15+j]' ' then stroca:=stroca+Surname[(i-1)*15+j];

j:=j+1

until j>=16;

UserMatrix[i,1]:=stroca;

i:=i+1

until i>=11;

i:=1;

repeat

stroca:='';

j:=1;

repeat

if IDs[(i-1)*10+j]' ' then stroca:=stroca+IDs[(i-1)*10+j];

j:=j+1

until j>=11;

UserMatrix[i,2]:=stroca;

i:=i+1

until i>=11;

i:=1;

repeat

stroca:='';

j:=1;

repeat

if PSWs[(i-1)*10+j]' ' then stroca:=stroca+PSWs[(i-1)*10+j];

j:=j+1

until j>=11;

UserMatrix[i,3]:=stroca;

i:=i+1

until i>=11;

{идентификация и аутентификация}

flag:=0;

i:=1;

repeat

if (EditID.Text=UserMatrix[i,2])and(EditPSW.Text=UserMatrix[i,3])and

(EditID.Text'') then begin

Flag:=1;

i1:=i end;

i:=i+1

until i>=11;

if flag=1 then begin

xxx:='y';

i:=1;

repeat

Write(F_Mag,xxx);

i:=i+1

until i>=11;

CloseFile(F_Mag);

Form3.Visible:=true;

end

else

begin

xxx:='n';

i:=1;

repeat

Write(F_Mag,xxx);

i:=i+1

until i>=11;

CloseFile(F_Mag)

end;

end;

end;

end.


unit Unitkurs;{администрирование}

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Grids, ComCtrls;

type

TForm2 = class(TForm)

ButtonAdd: TButton;

ButtonDel: TButton;

Button3: TButton;

Button1: TButton;

StringGrid1: TStringGrid;

procedure FormActivate(Sender: TObject);

procedure ButtonAddClick(Sender: TObject);

procedure ButtonDelClick(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

procedure Generator;

end;

var

Form2: TForm2;

F_PSW:file of char;{переменная, связанная с файлом 'password.txt'}

i,j,l:integer;

y:integer;{псевдослучайное число}

UserMatrix:array[1..10,1..3] of string;{массив фамилий, идентификаторов и паролей пользователей}

Surname:array[1..150] of char;{массив фамилий пользователей}

IDs:array[1..100] of char;{массив идентификаторов пользователей}

PSWs:array[1..100] of char;{массив паролей пользователей}

stroca:string;

implementation

uses Unitkurs4;

{$R *.DFM}

{процедура реализующая ЛИНЕЙНЫЙ КОНГУЭНТНЫЙ ГЕНЕРАТОР}

procedure Tform2.Generator;

begin

y:=(31*y+17)mod(257);

end;

procedure TForm2.FormActivate(Sender: TObject);

begin

y:=14;

{оглавление таблицы пользователей}

i:=1;

repeat

StringGrid1.Cells[0,i]:=IntToStr(i);

i:=i+1;

until i>=11;

StringGrid1.Cells[1,0]:='фамилия';

StringGrid1.Cells[2,0]:='идентификатор';

StringGrid1.Cells[3,0]:='пароль';

{чтение информации из файла 'password.txt'}

AssignFile(F_PSW,'password.txt');

Reset(F_PSW);

{фамилии}

j:=1;

repeat

Read(F_PSW,Surname[j]);

j:=j+1

until j>=151;

{идентификаторы}

j:=1;

repeat

Read(F_PSW,IDs[j]);

generator;

ids[j]:=chr((ord(ids[j]))xor(y));

j:=j+1

until j>=101;

{пароли}

j:=1;

repeat

Read(F_PSW,PSWs[j]);

generator;

PSWs[j]:=chr((ord(PSWs[j]))xor(y));

j:=j+1

until j>=101;

CloseFile(F_PSW);

{сбор в массив UserMatrix}

i:=1;

repeat

stroca:='';

j:=1;

repeat

if Surname[(i-1)*15+j]' ' then stroca:=stroca+Surname[(i-1)*15+j];

j:=j+1

until j>=16;

UserMatrix[i,1]:=stroca;

i:=i+1

until i>=11;

i:=1;

repeat

stroca:='';

j:=1;

repeat

if IDs[(i-1)*10+j]' ' then stroca:=stroca+IDs[(i-1)*10+j];

j:=j+1

until j>=11;

UserMatrix[i,2]:=stroca;

i:=i+1

until i>=11;

i:=1;

repeat

stroca:='';

j:=1;

repeat

if PSWs[(i-1)*10+j]' ' then stroca:=stroca+PSWs[(i-1)*10+j];

j:=j+1

until j>=11;

UserMatrix[i,3]:=stroca;

i:=i+1

until i>=11;

{отображение в таблице}

i:=1;

repeat

j:=1;

repeat

StringGrid1.Cells[j,i]:=UserMatrix[i,j];

j:=j+1

until j>=4;

i:=i+1

until i>=11;

end;

{===============нажатие кнопки 'сохранить изменения'=======================}

procedure TForm2.ButtonAddClick(Sender: TObject);

begin

y:=14;

{заполнение массива UserMatrix}

i:=1;

repeat

j:=1;

repeat

UserMatrix[i,j]:=StringGrid1.Cells[j,i];

j:=j+1

until j>=4;

i:=i+1

until i>=11;

{заполнение массива surname}

i:=1;

repeat

stroca:=UserMatrix[i,1];

l:=length(stroca);

j:=1;

repeat

if j=16;

i:=i+1

until i>=11;

{заполнение массива IDs}

i:=1;

repeat

stroca:=UserMatrix[i,2];

l:=length(stroca);

j:=1;

repeat

if j=11;

i:=i+1

until i>=11;

{заполнение массива PSWs}

i:=1;

repeat

stroca:=UserMatrix[i,3];

l:=length(stroca);

j:=1;

repeat

if j=11;

i:=i+1

until i>=11;

{запись в файл 'password.txt'}

AssignFile(F_PSW,'password.txt');

Rewrite(F_PSW);

{фамилии без преобразования}

j:=1;

repeat

write(F_PSW,Surname[j]);

j:=j+1

until j>=151;

{идентификаторы}

j:=1;

repeat

generator;

ids[j]:=chr((ord(ids[j]))xor(y));

write(F_PSW,IDs[j]);

j:=j+1

until j>=101;

{пароли}

j:=1;

repeat

generator;

PSWs[j]:=chr((ord(PSWs[j]))xor(y));

write(F_PSW,PSWs[j]);

j:=j+1

until j>=101;

CloseFile(F_PSW);

end;

{нажатие кнопки 'очистить'}

procedure TForm2.ButtonDelClick(Sender: TObject);

begin

{очистка таблицы}

i:=1;

repeat

j:=1;

repeat

StringGrid1.Cells[j,i]:='';

j:=j+1

until j>=4;

i:=i+1

until i>=11;

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

close

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

Form4.Visible:=True

end;

end.


unit Unitkurs4;{журнал аудита}

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Grids;

type

TForm4 = class(TForm)

StringGrid1: TStringGrid;

ButtonDel: TButton;

Button2: TButton;

ButtonShow: TButton;

procedure Button2Click(Sender: TObject);

procedure ButtonShowClick(Sender: TObject);

procedure ButtonDelClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

procedure Generator;

end;

var

Form4: TForm4;

F_Mag:file of char;{переменная, связанная с файлом 'audit.txt'}

i,j,l,i1:integer;

y:integer;{псевдослучайное число}

ident,psword:string;

xxx:char;

implementation

{$R *.DFM}

{процедура реализующая ЛИНЕЙНЫЙ КОНГУЭНТНЫЙ ГЕНЕРАТОР}

procedure Tform4.Generator;

begin

y:=(31*y+17)mod(257);

end;

procedure TForm4.Button2Click(Sender: TObject);

begin

close

end;

{нажатие кнопки 'показать'}

procedure TForm4.ButtonShowClick(Sender: TObject);

begin

i:=1;

repeat

StringGrid1.Cells[0,i]:=IntToStr(i);

i:=i+1;

until i>=11;

StringGrid1.Cells[1,0]:='идентификатор';

StringGrid1.Cells[2,0]:='пароль';

StringGrid1.Cells[3,0]:='результат';

{чтение информации из файла 'audit.txt'}

{$I-}

AssignFile(F_Mag,'audit');

Reset(F_Mag);

{$I+}

if IOResult=0 then begin

i1:=1;

y:=14;

while not(EoF(F_Mag)) do

begin

j:=1;

repeat

Read(F_Mag,xxx);

generator;

xxx:=chr((ord(xxx))xor(y));

ident:=ident+xxx;

j:=j+1

until j>=11;

i:=1;

repeat

Read(F_Mag,xxx);

generator;

xxx:=Chr((ord(xxx))xor(y));

psword:=psword+xxx;

i:=i+1;

until i>=11;

if StringGrid1.RowCount=11;

if xxx='y' then StringGrid1.Cells[3,i1]:='допуск'

else StringGrid1.Cells[3,i1]:='отказ';

ident:='';

psword:='';

i1:=i1+1;

end;

CloseFile(F_Mag) end;

end;

{нажатие кнопки 'очистить'}

procedure TForm4.ButtonDelClick(Sender: TObject);

begin

StringGrid1.RowCount:=11;

i:=1;

repeat

StringGrid1.Cells[1,i]:='';

StringGrid1.Cells[2,i]:='';

StringGrid1.Cells[3,i]:='';

i:=i+1

until i>=11;

AssignFile(F_Mag,'audit');

Rewrite(F_Mag);

CloseFile(F_Mag);

end;


end.


Литература:

Белкин П.Ю. , Михальский О.О. , Першаков А.С. и другие “Программно-аппаратные средства обеспечения информационной безопасности: защита программ и данных”.

Зима В.М. и другие “Защита компьютерных ресурсов от несанкционированных действий пользователя”.

Романец Ю.В. , Тимофеев П.А. , Шаньгин В.Ф. “Защита информации в компьютерных системах”.




Министерство образования рф

ТАГАНРОГСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ


КАФЕДРА БИТ

Курсовой проект


По курсу «ПАСОИБ»


на тему «Обнаружение вредоносных закладок»


Выполнил: __________

__________


Проверили:

_________________________________

_________________________________



Таганрог 2002г.


Информация о работе «Обнаружение вредоносных закладок»
Раздел: Информатика, программирование
Количество знаков с пробелами: 43497
Количество таблиц: 4
Количество изображений: 0

Похожие работы

Скачать
21396
0
0

... на работу компьютера, является вирусом. Существуют следующие основные виды вредоносного ПО: ·  Троянские кони, программные закладки и сетевые черви; ·  Вирусы; ·  Шпионское ПО; ·  Руткиты; ·  Прочие вредоносные программы. 2.1 Троянские кони, программные закладки и сетевые черви Троянский конь – это программа, содержащая в себе некоторую разрушающую функцию, которая активизируется при ...

Скачать
122195
0
0

... ; 44 – нарушение правил эксплуатации ЭВМ и их сетей. Существенную роль в реализации несанкционированного доступа к информации играет компьютерная сеть Интернет, являясь чуть ли самым популярным каналом утечки информации. Поэтому на ее примере целесообразно рассмотреть современные угрозы безопасности и методы защиты от них, используемые средства защиты и услуги безопасности. Интернет действительно ...

Скачать
160219
2
22

... информации: в штатном режиме; изменения в штатном режиме работы; нештатный режим (аварийные ситуации). Глава 2. Обоснование способов защиты операционной системы от программных закладок типа троянский конь 2.1 Общие сведения о троянских программах   Подсоединение локальных компьютерных сетей организаций к сети Internet приводит к необходимости уделять достаточно серьезное внимание ...

Скачать
430825
6
4

... с применением полиграфических компьютерных технологий? 10. Охарактеризуйте преступные деяния, предусмотренные главой 28 УК РФ «Преступления в сфере компьютерной информации». РАЗДЕЛ 2. БОРЬБА С ПРЕСТУПЛЕНИЯМИ В СФЕРЕ КОМПЬЮТЕРНОЙ ИНФОРМАЦИИ ГЛАВА 5. КОНТРОЛЬ НАД ПРЕСТУПНОСТЬЮВ СФЕРЕ ВЫСОКИХ ТЕХНОЛОГИЙ 5.1 Контроль над компьютерной преступностью в России Меры контроля над ...

0 комментариев


Наверх