Защита с помощью привязки к другой программе

Этот метод очень специфичен и не всегда применим. Он основан на том, что запускаемая программа при запуске может проверять наличие некоторой другой программы в оперативной памяти компьютера. Для случая с широким распространением дисков с программой этот метод неприменим. Но он хорошо работает в том случае, если нужно, чтобы нельзя было скопировать программу с некоторой определенной ЭВМ. Основная проблема заключается в реализации этого метода: запускаемая программа должна каким-то образом «общаться» с защитной программой. В ОС DOS взаимодействие можно организовать посредством прерываний. Можно перехватить какое-нибудь свободное прерывание (старше 21h) и в качестве внешней программы использовать его обработчик. В ОС Windows внешняя программа может открыть канал (pipe), по которому сможет обмениваться данными с защищаемой программой.

Достоинства метода: хорошая степень защищенности, простота реализации

Недостатки метода: сильная ограниченность метода

Взлом этого метода может производиться в двух направлениях: эмуляция программы защиты или удаление защитных механизмов из защищаемой программы.

Аппаратные методы защиты от несанкционированного копирования

Защита с помощью ключевой дискеты

Основной принцип, заложенный в этот метод, можно сформулировать так: при запуске программа проверяет наличие какого-то определенного диска в Floppy приводе. Если диск отсутствует или установлен не тот диск, программа отказывается запускаться. При этом диск должен быть каким-то специальным образом подготовлен для того, чтобы его нельзя было скопировать. Фактически проблема защиты от копирования программы превращается в проблему защиты от копирования Floppy-диска. Ситуация усложняется тем, что в ОС DOS существует не только команда логического копирования диска, но также и физического, посекторного копирования. Это повышает требования к защищенности Floppy-диска.

Одним из методов защиты диска от копирования является слабое намагничивание, при котором неизменно возникают ошибки чтения на нормальной скорости вращения Floppy-диска. Зато данные вполне нормально считываются при медленном вращении диска, но такое чтение может произвести только лишь сама защищаемая программа.

Достоинства метода: высокая степень защиты.

Недостатки метода: сложность реализации, невысокая надежность Floppy-диска, моральная «старость» Floppy-диска, наличие специальной аппаратной части.

Несмотря на большое количество недостатков, этот метод по-прежнему достаточно распространен из-за хорошей степени защиты программы от НСК. Эмуляция дискеты, как правило, достаточно сложная операция, поэтому обычно пытаются взломать саму защищаемую программу и отрезать блок проверки дискеты.

Защита с помощью ключевого CD/DVD диска

Метод очень похож на защиту с помощью ключевой дискеты, с той лишь разницей, что вместо Floppy-диска используется CD или DVD-диск. Однако, в отличие, от Floppy-диска CD/DVD диски не способны обеспечить такой же высокий уровень защищенности данных. Проблема заключается в том, что процесс записи информации на CD/DVD имеет иную природу. При этом не производится намагничивание поверхности диска. Вместо этого лазерный луч наносит определенный «узор» в виде борозды на поверхность диска. Поэтому любые данные, записанные на диск, могут быть также легко оттуда считаны. Для того чтобы защитить диск от копирования, как правило, используются специальные методы. Диск может содержать информацию, записанную за логическими пределами файлов, и, следовательно, невидимую для файловой системы.

Достоинства метода: высокая надежность CD/DVD-диска (по сравнению с Floppy), отсутствие специальной аппаратной части.

Недостатки метода: простота создания эмуляции диска.

Этот метод широко распространен, потому как обеспечивает достаточно хорошую степень защиты от НСК, и в то же время не требует дополнительных затрат. Взлом чаще всего производится путем эмуляции диска, хотя дизассемблирование защищаемой программы также возможно.

4.5 Контрольные вопросы

1 В чем заключается суть проблемы защиты от НСК?

2 Перечислите основные методы защиты от НСК. Дайте сравнительную характеристику.

3 Дайте сравнение аппаратным и программным методам защиты от НСК.

Что такое привязка к местоположению на диске

Как осуществляется запись ключа за логическими пределами файла.

Как осуществляется привязка к параметрам среды.

Как осуществляется защита с помощью ключевой дискеты

Как осуществляется Защита с помощью ключевого CD/DVD диска

Пример приложения

Компонентная база

Для разработки примера приложения нам понадобятся компоненты, приведенные в таблице 4.1.

Таблица 4.1 – Компонентная база программы защиты от НСК

Тип Ярлык Закладка Назначение
TButton Защита с помощью привязки к другой программе - student2.ru Standard Самый простой управляющий компонент формы
TGroupBox Защита с помощью привязки к другой программе - student2.ru Standard Группировка объединенных общей логикой компонентов
TMemo Защита с помощью привязки к другой программе - student2.ru Standard Компонент для ввода и вывода многострочного текста

Разработка интерфейса

Интерфейс программы очень прост. Поскольку в программе-примере не предполагается реализация функции защиты от НСК в полном объеме, нам понадобится одна форма. Ее разработка и названия установленных на ней компонентов приведены на рисунке 4.1.

Защита с помощью привязки к другой программе - student2.ru

Рисунок 4.1 – Разработка формы приложения

Форма состоит из двух групп компонентов: слева расположена панель управления, справа журнал работы программы. Панель управления состоит из четырех кнопок, предназначенных для создания «снимка» конфигурации, проверки «снимка» конфигурации, очистки журнала и выхода из программы соответственно. Журнал реализован в виде одного компонента типа TMemo. Предполагается, что вся информация для пользователя во время создания «снимка» и его проверки будет выводиться в компонент memoLog.

Готовый интерфейс программы приведен на рисунке 4.2.

Защита с помощью привязки к другой программе - student2.ru

Рисунок 4.2 – Готовый интерфейс программы

Наши рекомендации