- •Анотація
- •Огляд систем захисту програмного забезпечення
- •Класифікація систем захисту програмного забезпечення
- •Системи захисту від несанкціонованого копіювання
- •Методи захисту програмного забезпечення шляхом прив’язки до комп’ютера
- •Розробка алгоритму захисту програмного забезпечення від несанкціонованого копіювання
- •Методи прив’язки до параметрів вінчестера
- •Захист на основі генерації коду активації програмного забезпечення
- •Розробка алгоритму захисту програмного забезпечення від несанкціонованого копіювання
- •Розробка модуля захисту програмного забезпечення від несанкціонованого копіювання
- •Обґрунтування вибору мови програмування
- •Розробка модуля захисту програмного забезпечення від нск шляхом прив’язки до унікальних параметрів вінчестера
- •Робота програми захисту від несанкціонованого копіювання
- •Тестування роботи програми
- •Висновки
- •Перелік посилань
- •Додатки Додаток а Модуль захисту програмного забезпечення
- •Додаток б Генерація коду активації програмного забезпечення
Перелік посилань
-
Бродин В.Б., Шагурин И.И. Микропроцессор i486. Архитектура, программирование, интерфейс. - М.: «ДИАЛОГ-МИФИ», 1993. - 240 с.
-
Касперский Е. Компьютерные вирусы.: Издательство «ЭДЭЛЬ2004.- 176 с.
-
Фролов А.В., Фролов Г.В. Аппаратное обеспечение персонального компьютера. - М.: ДИАЛОГ-МИФИ, 1997. - 304 с. - (Библиотека системного программиста; Т. 33)
-
Правиков Д.И. Ключевые дискеты. Разработка элементов систем защиты от несанкционированного копирования. – М.: Радио и связь, 1995. – 128 с.: ил.
-
Дудатьєв А.В., Каплун В.А., Семеренко В.П. Захист програмного забезпечення. Частина 1. Навчальний посібник. – Вінниця: ВНТУ, 2005.- 140с.
-
Глущаком С.В., Харичов Т.С., Соболев Р.О. Секреты хакеров. Защита и атака. – Харьков: Фолио, 2004. – 414 с.
-
Мартынов Н.Н., С# для начинающих, КУДИЦ-ПРЕСС, 2007- 447 с.: ил.
Додатки Додаток а Модуль захисту програмного забезпечення
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.Management;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
string ActKey="";
example exp = new example();
public Form1()
{
InitializeComponent();
}
private static string GetID()
{
string str = "", str1 = "", str2 = "", str3 = "";
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject queryObj in searcher.Get())
{
str = queryObj["Model"].ToString(); ;
str1 = queryObj["Size"].ToString();
str2 = queryObj["SectorsPerTrack"].ToString();
str3 = queryObj["SerialNumber"].ToString();
break;
}
return str + str1 + str2 + str3;
}
public static string ACT(string ID)
{
string ActCode = "";
string Code = "";
for (int i = 0; i <= ID.Length - 1; i++)
{
Code += (Int32)ID[i] % 10;
}
for (int i = 0; i < 7; i++)
{
ActCode += Code[(int)Math.Pow(2, i)];
}
return ActCode;
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == ACT(GetID()))
{
File.WriteAllText("Key", textBox1.Text);
exp.ShowDialog();
this.Close();
}
else
{
MessageBox.Show("Не вірний код активації");
}
}
private void Form1_Load(object sender, EventArgs e)
{
if (File.Exists("Key"))
ActKey = File.ReadAllText("Key");
if (ActKey == ACT(GetID()))
{
exp.ShowDialog();
this.Close();
}
}
}
}