Защита программы от нелегального копирования — это совокупность мер, которые направлены на противодействие нелегальному использованию программного обеспечения.
Введение
Цифровое пиратство является суровой реальностью, с которой ежедневно вынуждены бороться проектировщики программ. Долгие часы упорной работы программистов могут быть потрачены впустую, если они не позаботятся о защите своих программ. Известно много решений для лицензирования и защиты программных продуктов, но прежде всего необходимо решить, какой именно уровень защиты может потребоваться программному приложению.
Защита программы от нелегального копирования
Защита от нелегального копирования программных продуктов должна начинаться со стратегии лицензирования, определяющей, как осуществляется оплата за конкретный программный продукт. Самыми распространёнными являются следующие стратегии:
Сдай на права пока
учишься в ВУЗе
Вся теория в удобном приложении. Выбери инструктора и начни заниматься!
Как защитить контент от воровства и копирования
- Постоянная стратегия, которая предполагает одноразовый платёж и предоставляет неограниченный доступ к приложению.
- Стратегия на базе функциональности, при которой после покупки приложения дополнительные возможности предоставляются за отдельную плату.
- Временная стратегия, при которой приложение сдается в аренду на определенное время, а оплата берётся за продление этого срока.
- Многоуровневая стратегия, при которой пользователю может быть предложена версия программного обеспечения с определённым пакетом возможностей, к примеру, Silver, Gold или Platinum.
Стратегия защиты программных продуктов от копирования обязана учесть, где и как они будут использоваться. В методах защиты от копирования нет универсальных подходов, предусматривающих любые варианты, такие как, тип используемого компьютерного оборудования, выход в интернет и так далее.
Искомое решение должно соответствовать потребностям конкретного пользователя. Тип лицензирования должен соответствовать ценности программных продуктов. При выборе стратегии лицензирования следует учитывать такой момент, что программное обеспечение может быть взломано хакерами.
«Защита программы от нелегального копирования»
Готовые курсовые работы и рефераты
Решение учебных вопросов в 2 клика
Помощь в написании учебной работы
Основными опциями для защиты программ от нелегального копирования, включая стоимость, уровень защиты и реализацию, являются следующие:
- Система доверия, при которой исходные затраты нулевые, то есть, предполагается вероятность того, что тот, кто купит программный продукт, не станет его несанкционированно распространять, и автор программы получит доход со всех покупателей. При этом не требуется никакой предварительной подготовки или реализации, то есть, как только программист скомпилировал программу, её возможно распространять. Но проблема заключается в том, что с ростом числа пользователей, они неизбежно могут начать (может и ненамеренно) распространение программы. Это означает, что при такой системе уровень защиты практически нулевой.
- Программная защита офлайн, которая считается недорогим вариантом. Как правило, такое решение может быть реализовано после компиляции программы. Часто для защиты программного приложения применяется программная обёртка с некоторыми настройками. Если программа запущена у пользователя, то она не подключается ни к каким внешним системам. Поскольку все параметры лицензирования расположены на компьютере, на котором запущена программа, то такую защиту всё-таки можно обойти. Уровень защиты при применении данного решения расположен между низким и средним.
- Программная защита онлайн, которая предполагает обязательное подключение к серверу лицензирования. Это, как правило, ведёт к возрастанию затрат для запуска и может добавить периодические расходы. В данном варианте также применяется программная оболочка для защиты, но при этом, благодаря тому, что параметры лицензирования находятся в онлайн, имеется больше разных возможностей. Добавочные опции предоставляют возможность отслеживания, где используется программа и как она используется, то есть, с лицензией или без неё. Из-за необходимости наличия постоянного подключения к интернету такой программный продукт, вероятно, получится использовать не везде. Уровень защиты в таком случае расположен между средним и высоким, поскольку параметры лицензирования находятся на защищённых серверах лицензирования.
- Аппаратная защита, которая считается очень сильной, так как за лицензирование отвечает электронный USB-ключ. Такому ключу нет необходимости подключаться к интернету. Стоимость любого ключа низкая, и помимо этого нет никаких периодических расходов. Аппаратная защита может быть реализована при помощи API (программный интерфейс приложения) или программных обёрток.
Аппаратная защита является одним из самых простых, надёжных и универсальных методов, поэтому она считается лучшим выбором для лицензирования и защиты программного обеспечения. Этот тип защиты может быть быстро и легко реализован при помощи программной обёртки. Для повышения гибкости API может быть встроено в программное обеспечение или возможен вариант добавления сочетания обёртки с интегрированным API.
Защита сайта от копирования
Электронные ключи предоставляют целый набор преимуществ, начиная с форм-фактора. Присутствие физического ключа предоставляет возможность убрать лицензию с компьютера. Внешний ключ, расположенный за пределами операционной системы, обеспечивает более сильную защиту.
Переустановить лицензию с одного компьютера на другой так же просто, как переставить обычную флешку. Защищённый электронный ключ не может быть прочитан или скопирован.
При использовании электронного ключа нет необходимости связываться с сервером лицензирования, поэтому таким программным продуктом можно пользоваться также в местах, где отсутствует интернет. С электронными ключами можно не создавать различные решения для разных программных сред.
К достоинствам электронных ключей следует отнести также повышенную безопасность интеллектуальной собственности, которая обеспечивается крепкой связью между прошивкой ключа и защищаемым программным продуктом.
Источник: spravochnick.ru
Защита от копирования – привязка к компьютеру.
«Привязка» программы к дистрибутивной дискете путем описанных ранее способов защиты несет в себе большое неудобство для пользователя, связанное с необходимостью работы только со вставленной в дисковод оригинальной дискетой. Гораздо удобнее иметь необходимый программный продукт записанным на винчестере.
Поэтому необходимо, чтобы контролирующая часть защищаемой программы (КЧЗП) «запомнила» свой компьютер и потом при запуске сравнивала имеющиеся характеристики с характеристиками «родного» компьютера. В случае их расхождения можно считать, что программа незаконно скопирована, и прервать ее выполнение. Для этого надо найти какие-то параметры, которые бы индивидуально характеризовали каждую вычислительную систему. На самом деле это весьма нетривиальная задача, поскольку открытая архитектура построения компьютеров IBM PC подразумевает их обезличенность. Рассмотрим, что все же можно предложить для КЧЗП в качестве характеристик, которые могли бы проверяться при работе защищаемой программы.
Физические дефекты винчестера
При работе жесткого диска (винчестера) возникают сбойные сектора, номера которых помещаются в FAT (их признак — код FF7). При инсталляции защищаемой программы на винчестер в ее контролирующую часть записываются их адреса. В процессе выполнения программы осуществляется сравнение адресов сбойных участков, записанных в КЧЗП и в FAT
Дата создания BIOS
Можно попытаться сузить класс компьютеров, на которых возможно функционирование незаконно скопированной программы. Это достигается путем введения проверки даты создания BIOS, которая записана в ПЗУ каждого компьютера.
Версия используемой OS
Этот контроль желательно проводить в комплексе с другими методами защиты, например, дополнительно к проверке даты создания BIOS.
Серийный номер диска
При форматировании диска на него создается так называемый серийный номер.
Конфигурация системы и типы составляющих ее устройств
В развитие идеи, изложенной выше, этот способ, при котором КЧЗП в качестве параметра использует всю конфигурацию системы.
Получение инженерной информации жесткого диска
Информация содержит параметры диска и его серийный номер. Некоторые OS не дают доступ к этой информации.
Защита от копирования – привязка к ключу, опрос справочников, ограничение использования по.
Система защиты делится на группы:
привязка к дискете
привязка к ключу
ограничение использования ПО
привязка к справочнику
Привязка к ключу. Основана на том, что в компьютер добавляется специальное техническое защитное устройство. При запуске идет обращение к этому устройству, если оно не найдено, то информация не открывается. Распространенное защитное устройство: HaspbyАлладин.
Ограничение использования ПО. Используется ограничение по времени эксплуатации, количеству запусков, и перемещению для использования на других компьютерах.
Недостаток: можно изменить дату, установленную в таймере, и программа будет снова запускаться.Одним из способов ограничения является введение счётчика запусков. Уменьшая значения счётчика при каждом запуске, КЧЗП следит за ним и при достижении нулевого значения выполняет предусмотренные разработчиком действия.
Опрос справочника. Не обеспечивает стойкой и долговременной защиты, но может быть легко реализован.
получение от пользователя информации из справочника
работа самой программы
Недостатки: просмотр списка паролей перед каждым запуском занимает много времени.
Как защитить программу от копирования и привязать ее к компьютеру
> Привязка к конкретному компьютеру делается инсталлятором при
> установке программы.
Или самой програмой при ее первом запуске.
> Дистрибутив хранишь у себя и никому не даешь.
Не обязательно. Можно, например, так (см. ниже).
1. При первом запуске программа видит, что она еще не зарегистрирована. Тогда она считывает данные компа (серийник винта, BIOSа — что угодно, это уже отдельный вопрос), преобразует эту инфу в строку символов, выдает ее юзеру и просит ввести ответ. Без ответа (или при неправильном ответе) не работает (или работает в демо-режиме).
2. Юзер звонит (пишет) тебе и сообщает эту строку.
3. Если юзер нелегальный — посылаешь его. Если легальный, то заносишь юзера в свою БД и запускаешь тобою же написанную генерилку. Вводишь в эту генерилку строку, которую сообщил тебе юзер и генерилка по какому-то алгоритму преобразует эту строку в строку ответа. Ее сообщаешь юзеру.
4. Юзер вводит полученный от тебя ответ в программу. Программа проверяет правильность ответа по тому же алгоритму, который использовала генерилка. Если ответ правильный — программа регистрирует сама себя на компе юзера (в реестре, в своем теле, в теле DLL, в файле — где угодно, это уже тоже отдельный вопрос) и далее работает по полному функционалу.
5. При следующих запусках програма видит, что она уже зарегистрирована и больше ничего не спрашивает.
> Ты ему добросовестно сообщаешь новый пароль.
> Юзер щаслив.
Все можно. Есть функция GetVolumeInfo, так там и объем диска узнать можно и метку тома и номер тома.
> ExeCryptor — конечно мощная утилита, но до VMProtect — далековато
Не согласен 🙂
У обоих VM не разобрана, поэтому пока-что нельзя утверждать кто лучше 🙂
К тому-же у VMProtect отсутствует навесная часть защиты (не готов утверждать это про платный вариант утилиты) 🙂 Так что по сравнению с бесплатным вариантом ExeCryptor безусловно выигрывает.
По поводу стриппера — да, что-то подобное есть, но упаси бог разбираться в том коде, который вышел из под стриппера 🙂 Его плюсы, что он сворачивает антиотладку, но дальше тихий ужас. Впрочем, если занимаешься реверсингом, понимаешь сей момент 🙂
ЗЫ: посмотрим что за VbsEdit такой, заинтриговал 🙂
ВЫВОД:
Если цена ключа сгенеренного вариантами [4] и [5] в пределах до 50$ ИМХО не заморачиваемся и делаем софт ключ привязывающийся к железу.
Сперва надо написать, то что требуется защищать 🙂
Источник: delphimaster.net