Продукты защиты программного обеспечения от копирования
Процедура защиты программного обеспечения от копирования
Для организации защиты программного обеспечения от копирования необходимо разработать приложение определенным образом:
- Выделить алгоритм подлежащий защите – это может быть алгоритм, без которого защищаемое приложение будет непригодно для использования. Например, для графических редакторов, это алгоритм сохранения изображения, для почтовых клиентов, это алгоритм отправки почтового сообщения, для антивирусных программ это алгоритм лечения зараженного файла, для информационных систем это алгоритмы оформления новой анкеты или добавление нового документа и т.п.
- Вынести реализацию алгоритма подлежащего защите в отдельную сборку (файл dll).
- В программном обеспечении, или инсталляционном пакете, реализовать возможность активации защищенного программного обеспечения.
- По возможности, в защищаемом программном обеспечении сделать проверку на выполненную процедуру активации. Наиболее простой и достаточный путь – это проверка наличия защищаемой сборки.
- Провести процедуру защиты выбранных dot NET сборок. Полученные файлы, вместо защищаемых dot NET сборок, необходимо распространять вместе с приложением и средствами активации. Активация программ осуществляется на конечном компьютере пользователя;
- Провести процедуру тестирования защищенного приложения.
Защищаемые файлы - .NET сборки, скомпилированные для платформ .NET FrameWork 2.0, 3.0, 3.5, 4.0, и должны отвечать определенным требованиям.
Подробный пример защиты тестового программного обеспечения и его активации описан здесь.
Ошибки команд активации программного обеспечения описаны
здесь.
После загрузки средств защиты программного обеспечения и регистрации, вам будет предоставлен доступ в
личный кабинет. С помощью личного кабинета доступны следующие функции:
- Просмотр статистики активаций защищенных приложений;
- Блокировка серийных номеров;
- Загрузка дополнительных серийных номеров;
и другие функции, перечень которых постоянно расширяется.
dotNETCopyProtector и сеть Internet
Программное обеспечение dotNETCopyProtector в процессе функционирования ведет обмен данными с серверами входящими в доменные зоны crypline.ru, crypline.com.
В процессе функционирования следующая информация передается по открытому протоколу HTTP.
- Проверка наличия обновленной версии программного обеспечения.
В процессе функционирования следующая информация передается по шифруемому каналу. Обмен этой информации не поддерживают прокси сервера HTTP протокола.
- Регистрационные данные пользователя указанные в диалоговом окне «Регистрация».
- Учетные данные, указанные в диалоговом окне «Авторизация», используемые для использования сервисов защиты.
- Информация о продуктах защиты используемых для указания параметров активации программного обеспечения.
- Информация о защищаемых сборках, добавленных при помощи панели «Файлы проекта».
- Информация о сгенерированных серийных номерах, добавленных при помощи панели «Серийные номера».
Информация, указанная в пунктах 4, 5 передается на сервер в процессе защиты программного обеспечения, который активизируется путем выбора команды «Защита сборок\Пуск».
В процессе активации защищенного программного обеспечения также происходит обмен данными с серверами входящими в доменные зоны crypline.ru, crypline.com.
В процессе активации по шифруемому каналу. Обмен этой информации не поддерживают прокси сервера HTTP протокола.
- Серийный номер активируемого программного обеспечения. Серийный номер указывается пользователем выполняющим процедуру активации.
- Идентификационные данные защищенного программного обеспечения.
Никакие личные данные пользователя не передаются за исключением внешнего IP адреса и адреса электронной почты.
Внешний IP адрес передается как следствие устройства сетей на основе IP протокола.
Электронный адрес используется службой восстановления утраченного пароля.
Шифруемый канал передачи данных использует протокол TCP порты 8320, 8330, 8340.
Требования к программному обеспечению, подлежащему защите
| Параметр |
Требование |
| Типы данных определенных в сборке1 |
class |
| Число типов данных class1 |
1 |
| Типы, определенные в классе |
field, property, method |
| Модификаторы доступа field |
private |
| Модификаторы доступа property |
private, public |
| Модификаторы доступа method |
private, public |
| Класс, определенный в сборке |
Не может быть наследником и наследуемым |
Использование инструкций для обработки исключений try,catch,finally |
Нет |
| Вложенность инструкции switch2 |
Один уровень |
| Использование параметров функций с ключевыми словами ref, out2 |
Нет |
Примечания
-
В ближайшем будущем список ограничений на типы данных и их количество будет устранен.
-
В следующих версиях средств защиты программного обеспечения, данные недостатки будут устранены.
- Активация программ ровно, как и защита программ требует наличия сети Интернет для связи с серверами защиты и активации.