- •Содержание задания
- •Индивидуальные варианты заданий (обираемая информация о компьютере)
- •Возможный вид главной формы программы-инсталлятора
- •Возможный вид дополнительной формы основной программы
- •Рекомендуемые средства языка программирования c#
- •Рекомендуемые для разработки программы средства языка Object Pascal
Лабораторная работа №3
Защита программного обеспечения от несанкционированного использования и копирования
Содержание задания
Для программы, разработанной при выполнении лабораторных работ №1 и (или) №2, написать программу-инсталлятор, которая
запрашивает у пользователя папку для установки защищаемой программы,
записывает туда файл с исполнимым кодом программы,
собирает информацию о компьютере, на котором устанавливается программа,
хеширует эту информацию,
подписывает ее личным ключом пользователя программы и записывает подпись в реестр Windows в раздел HKEY_CURRENT_USER \ Software \ Фамилия_студента как значение параметра Signature.
В саму защищаемую программу включить фрагмент, в котором
запрашивается у пользователя информация об имени раздела реестра с электронной цифровой подписью (фамилии студента);
собирается информация о компьютере, на котором запускается программа,
вычисляется хеш-значение этой информации,
считывается подпись из указанного выше раздела реестра, которая проверяется с помощью открытого ключа пользователя.
При неудачной проверке работа защищаемой программы должна завершаться с выдачей соответствующего сообщения.
Собираемая о компьютере информация включает в себя:
имя пользователя,
имя компьютера,
путь к папке с ОС Windows,
путь к папке с системными файлами ОС Windows,
а также данные, выбираемые в соответствии с выданным преподавателем заданием (номером варианта).
Индивидуальные варианты заданий (обираемая информация о компьютере)
№ |
Тип и подтип клавиатуры |
Количество кнопок мыши |
Ширина экрана |
Высота экрана |
Набор дисковых устройств |
Объем памяти |
Данные о диске, на котором установлена программа |
1 |
Нет |
Да |
Нет |
Да |
Нет |
Да |
Объем |
2 |
Нет |
Да |
Да |
Нет |
Нет |
Да |
Объем |
3 |
Да |
Нет |
Нет |
Да |
Нет |
Да |
Объем |
4 |
Да |
Нет |
Да |
Нет |
Нет |
Да |
Объем |
5 |
Нет |
Да |
Нет |
Да |
Да |
Нет |
Объем |
6 |
Нет |
Да |
Да |
Нет |
Да |
Нет |
Объем |
7 |
Да |
Нет |
Нет |
Да |
Да |
Нет |
Объем |
8 |
Да |
Нет |
Да |
Нет |
Да |
Нет |
Объем |
№ |
Тип и подтип клавиатуры |
Количество кнопок мыши |
Ширина экрана |
Высота экрана |
Набор дисковых устройств |
Объем памяти |
Данные о диске, на котором установлена программа |
9 |
Нет |
Да |
Нет |
Да |
Нет |
Да |
Метка тома |
10 |
Нет |
Да |
Да |
Нет |
Нет |
Да |
Метка тома |
11 |
Да |
Нет |
Нет |
Да |
Нет |
Да |
Метка тома |
12 |
Да |
Нет |
Да |
Нет |
Нет |
Да |
Метка тома |
13 |
Нет |
Да |
Нет |
Да |
Да |
Нет |
Метка тома |
14 |
Нет |
Да |
Да |
Нет |
Да |
Нет |
Метка тома |
15 |
Да |
Нет |
Нет |
Да |
Да |
Нет |
Метка тома |
16 |
Да |
Нет |
Да |
Нет |
Да |
Нет |
Метка тома |
17 |
Нет |
Да |
Нет |
Да |
Нет |
Да |
Серийный № |
18 |
Нет |
Да |
Да |
Нет |
Нет |
Да |
Серийный № |
19 |
Да |
Нет |
Нет |
Да |
Нет |
Да |
Серийный № |
20 |
Да |
Нет |
Да |
Нет |
Нет |
Да |
Серийный № |
21 |
Нет |
Да |
Нет |
Да |
Да |
Нет |
Серийный № |
22 |
Нет |
Да |
Да |
Нет |
Да |
Нет |
Серийный № |
23 |
Да |
Нет |
Нет |
Да |
Да |
Нет |
Серийный № |
24 |
Да |
Нет |
Да |
Нет |
Да |
Нет |
Серийный № |
25 |
Нет |
Да |
Нет |
Да |
Нет |
Да |
Файловая система |
26 |
Нет |
Да |
Да |
Нет |
Нет |
Да |
Файловая система |
27 |
Да |
Нет |
Нет |
Да |
Нет |
Да |
Файловая система |
28 |
Да |
Нет |
Да |
Нет |
Нет |
Да |
Файловая система |
29 |
Нет |
Да |
Нет |
Да |
Да |
Нет |
Файловая система |
30 |
Нет |
Да |
Да |
Нет |
Да |
Нет |
Файловая система |
31 |
Да |
Нет |
Нет |
Да |
Да |
Нет |
Файловая система |
32 |
Да |
Нет |
Да |
Нет |
Да |
Нет |
Файловая система |
33 |
Тип |
Нет |
Нет |
Да |
Нет |
Да |
Метка тома |
34 |
Подтип |
Нет |
Да |
Нет |
Нет |
Да |
Файловая система |
35 |
Тип |
Нет |
Нет |
Да |
Нет |
Да |
Серийный № |