Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
защита информации.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.2 Mб
Скачать

Лабораторное занятие № 11. Защита программ с помощью asProtect.

(Время выполнения 2 часа)

Введение

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

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

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

Чтобы защитить исполняемый файл, протектор преобразует его содержимое, упаковывая файл в файл меньшего размера. Эта процедура в данном случае является специальным видом шифрования и сжатия файла. По этой причине ASProtect иногда называется «паковщиком файлов» (packer).

Новый код, реализующий защиту, выполняется до основной программы. При запуске защищенной программы управление сразу получает код протектора. Протектор выполняет предусмотренные проверки, и расшифровывает в памяти необходимые области. После этого протектор передает управление на оригинальную точку входа (Original Entry Point), и начинается выполнение основной программы.

Протектор ASProtect обеспечивает выполнение следующих функций:

  • Ограничение периода работы пробной версии

  • Ограничение функциональности пробной версии

  • Динамическая расшифровка фрагментов кода при наличии правильного регистрационного кода

  • API для интеграции защищаемой программы с протектором

  • Оригинальные методы защиты от снятия протектора

  • Оригинальные методы противодействия исследованию под отладчиком

Реализация защиты с помощью asProtect

Для защиты программы необходимо:

  1. Иметь исходные тексты программы.

  2. В исходных текстах программы дополнительно запрограммировать режим регистрации программы и все другие дополнительные режимы работы (с различными ограничениями), если они предусмотрены.

  3. Скомпилировать программу и обработать полученный exe-файл протектором ASProtect. Получим новый exe-файл, который является уже защищенным и ставится пользователю.

При обработке файла протектором возможна реализация различных вариантов защиты, выбор которых зависит от потребностей разработчиков. Реализация конкретного варианта защиты определяется дополнительным кодом, внесенным в программу, и установленными опциями ASProtect (описание опций ASProtect приведено в приложении) при обработке исполняемого файла. В курсовой работе необходимо реализовать внутреннюю защиту с привязкой к оборудованию, т.е. к конкретному компьютеру пользователя. Для этого ASProtect использует специальный идентификатор оборудования Hardware_ID, который зависит от комплектации компьютера и номеров оборудования. Этот идентификатор вычисляется программно функциями, имеющимися в библиотеках dll, поставляемых вместе с ASProtect.

Для работы пользователя с защищенной программой должна быть выполнена ее регистрация у разработчика. Защищенный файл при отсутствии регистрации должен всегда запускать форму регистрации. Пользователь вводит в форму регистрационное имя, и вместе с идентификатором оборудования Hardware_ID отсылает его разработчику. Разработчик запускает протектор, вводит полученный Hardware_ID и регистрационное имя, и генерирует регистрационный ключ. Этот ключ отсылается пользователю, который и вводит его для регистрации своей программы. Если регистрация прошла успешно, форма регистрации больше не появляется, и программа работает в соответствии с основным кодом. При попытке установить программу на другой компьютер регистрацию нужно проводить заново, поскольку Hardware_ID у каждого компьютера свой.

При обработке протектором защищаемой программы всегда создается проект защиты (файл с расширением .aspr2), который содержит все настройки опций защиты, которые мы сделали при обработке данного исполняемого файла. Кроме того, проект защиты содержит ключи шифрования, которые используются для последующей генерации регистрационных ключей. Поэтому проект защиты должен быть обязательно сохранен. Каждый проект защиты имеет уникальные ключи шифрования, поэтому использовать другой проект защиты для генерации регистрационных ключей нельзя. Генерация регистрационного ключа в ASProtect происходит на закладке Activation Keys. Для этого нужно ввести Hardware_ID и регистрационное имя (Name For Registration), присланное пользователем, после чего нажать кнопку Create. В поле Registration Key появится ключ для регистрации, который и отсылается пользователю.