Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Завдання до лабораторної роботи

Читайте также:
  1. II. Вимоги безпеки перед початком роботи.
  2. II. Вимоги безпеки перед початком роботи.
  3. III. Хід роботи
  4. III. Хід роботи
  5. IV. Хід роботи
  6. IV. Хід роботи
  7. IV. Хід роботи

На основі механізмів, реалізованих на лабораторних роботах № 3, та структури підсистеми захисту програмного продукту від НСД, розробити структурну схему та реалізувати у вигляді модуля вбудовану підсистему захисту від НСД з наступними характеристиками:

 

  Захист з прив‘язкою до характеристик комп‘ютера (мінімум дві характеристики) Можливість перегляду демоверсії (деяких функцій осн.програми) при установці програми на інший комп‘ютер. (блокування всіх інших функцій – механізм обираєте самостійно)

 

Код алгоритму:

unit Unit1;

 

interface

 

uses

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

Dialogs, StdCtrls;

 

 

const comp_name = 'HOME-1DB8000068';

processor = 'GenuineIntel';

 

type

TForm1 = class(TForm)

Label1: TLabel;

Button1: TButton;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

 

function GetComputerNetName: string;

var

buffer: array[0..255] of char;

size: dword;

begin

size:= 256;

if GetComputerName(buffer, size) then

Result:= buffer

else

Result:= ''

end;

 

function proc: string;

type

TCPUID = record

case boolean of

TRUE: (ID1, ID2, ID3: longword);

FALSE: (Str: packed array[1..12] of char)

end;

 

var CPUIDMax: longword;

CPUID: TCPUID;

begin

asm

push ebx

xor eax, eax

cpuid

mov CPUIDMax, eax

mov CPUID.ID1, ebx

mov CPUID.ID2, edx

mov CPUID.ID3, ecx

pop ebx

end;

 

Result:= (CPUID.Str)

end;

 

procedure TForm1.FormCreate(Sender: TObject);

var fv: textfile;

begin

AssignFile(fv,'crack.txt');

Rewrite(fv);

WriteLn(fv,GetComputerNetName);

WriteLn(fv,proc);

CloseFile(fv);

if (comp_name = GetComputerNetName) and (processor = proc) then

begin

label1.Font.Color:= clBlue;

label1.Caption:= 'Ïîâíà âåðñ³ÿ';

end else

begin

label1.Font.Color:= clRed;

label1.Caption:= 'Äåìî-âåðñ³ÿ';

end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

self.Close;

end;

 

Результати роботи програми:

Рис.1 Робота програми з не відповідними параметрами комп’ютера.

 

Рис. 2 Робота програми з параметрами які відповідають даному компютеру

Висновок: В ході виконання лабораторної роботи мною було засвоєно поданий матеріал і розроблена прикладна програма.


Дата добавления: 2015-10-24; просмотров: 38 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Теоретичні відомості| Разделы и участники соревнований

mybiblioteka.su - 2015-2024 год. (0.006 сек.)