Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Реализация защиты от копирования

Автор:   •  Май 12, 2024  •  Лабораторная работа  •  4,189 Слов (17 Страниц)  •  62 Просмотры

Страница 1 из 17

1. Задание

Реализовать защиту от копирования.

2. Ход работы

Для защиты программы от копирования используется привязка к аппаратуре. Вместе с основной программой поставляется программа-активатор. Программа-активатор с помощью средств ОС получает идентификатор процессора и имя пользователя, получает хэш алгоритмом SHA512 и отсылает зашифрованное сообщение на сервер активации. Сервер сохраняет полученное сообщение.

Основная программа при запуске получает идентификатор процессора, шифрует его и посылает на сервер активации, Если на сервере активации в базе данных этот идентификатор есть, то отправляется положительный ответ, в противном случае – отрицательный. При положительном ответе программа продолжает свое нормальное выполнение, иначе выводит сообщение о том, что программа не активирована.

3. Вывод

В ходе выполнения лабораторной работы были изучены методы защиты информации от копирования. Был изучен способ получения и использования информации об аппаратуре для реализации привязки программы к конкретному устройству. Был реализован способ защиты программы от копирования с использованием цифровой подписи и сервера активации.

Приложение А

Листинг кода

Сервер

using System;

using System.Text;

using System.Net;

using System.Net.Sockets;

using System.Xml.Linq;

using System.IO;

namespace ServerZI

{

class Program

{

static void Main(string[] args)

{

try

{

TcpListener serverSocket = new TcpListener(IPAddress.Any, 7000);

Console.WriteLine("Server started");

serverSocket.Start();

while (true)

{

TcpClient clientSocket = serverSocket.AcceptTcpClient();

NetworkStream stream = clientSocket.GetStream();

byte[] bytes = new byte[512];

int leangth = stream.Read(bytes, 0, bytes.Length);

string request = Encoding.UTF8.GetString(bytes, 0, leangth);

Console.WriteLine(request);

string[] subs = request.Split(' ');

if (subs[0] == "SET")

{

Console.WriteLine(subs[0]);

Console.WriteLine("Установка лицензция для: " + subs[1]);

string poisk = SearchText(subs[1]);

if (subs[1] != poisk)

{

StreamWriter sw = new StreamWriter("Key.txt", true);

sw.WriteLine(subs[1]);

sw.Close();

Console.WriteLine("Успешно.");

}

else {

Console.WriteLine("Повтор.");

}

stream.Write(Encoding.UTF8.GetBytes("Лицензия активирована"));

stream.Flush();

}

else if (subs[0] == "GET")

{

Console.WriteLine("Проверка лицензии для: " + subs[1]);

string poisk = SearchText(subs[1]);

string ans = "Ошибка";

if (subs[1] == poisk)

{

...

Скачать:   txt (12.7 Kb)   pdf (68 Kb)   docx (14.8 Kb)  
Продолжить читать еще 16 страниц(ы) »
Доступно только на Essays.club