- •Содержание задания
- •Индивидуальные варианты заданий (обираемая информация о компьютере)
- •Возможный вид главной формы программы-инсталлятора
- •Возможный вид дополнительной диалоговой формы основной программы
- •Классы библиотеки Framework Class Library и объекты для использования в приложениях на платформе .Net
- •Рекомендуемые для разработки программы средства языка Object Pascal
Лабораторная работа №7
Защита программного обеспечения от несанкционированного использования и копирования
Содержание задания
Для программы, разработанной при выполнении лабораторных работ №1, №3 и №4, написать программу-инсталлятор, которая
запрашивает у пользователя папку для установки защищаемой программы,
записывает туда файл с исполнимым кодом программы,
собирает информацию о компьютере, на котором устанавливается программа,
хеширует эту информацию,
подписывает ее личным ключом пользователя программы и записывает подпись в реестр 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 |
Нет |
Да |
Да |
Нет |
Да |
Нет |
Файловая система |
