Защита программ
Существуют разные способы защитить свой интеллектуальный продукт (программу или информацию) от нежелательного использования.
Самый лёгкий способ - просто упомянуть что это не разрешено. Эффект (на мой взгляд) - примерно 2-10% пользователей внимают этому призыву; остальные (подавляющее большинство) - не обращают внимания или даже не замечают этого предупреждения/запрета.
Ключ/код активации или серийный номер: чуть более удачная попытка защитить свой программный продукт. До того как код или номер не будет получен без помощи автора/владельца интеллектуальной собственности.
Работая в Кадастре Литвы я использовал более серьёзную защиту для нашего программного продукта - донгл (электронный аппаратный ключ) - маленькую штучку подключавшуюся к компьютеру, без которой наша программа не работала.
Плюсы: Программный продукт переставал быть нефизическим объектом; его больше нельзя было просто скопировать и использовать не покупая. Подавляющее большинство не знало и даже не искало как обойти эту защиту.
Минусы: Донгл стоил денег, для него нужно было установить драйвер, его физически нужно было доставить клиенту; но самое главное: существует немало сайтов с предложениями помочь обойти эту защиту ...за половину цены взламываемого продукта.
Также один донгл у клиента испортился физически: в одной ячейке был вписан байт "0x11111111" и это значение не переписывалось.
Пытаясь защитить свой программный продукт я воспользовался "привязкой" его к определённой аппаратной части компьютера клиента; например сетевая карта или жёсткий диск, далее - компонент. Выглядит это так:
Пользователь получает маленькую программку-привязчик, которая после запуска с разрешения пользователя получает информацию о компоненте компьютера клиента и генерирует файл с этой информацией (в закодированном виде).
Пользователь пересылает сгенерированный файл автору программы.
На основе информации из этого файла автор программы "привязывает" свою программу к компоненту компьютера клиента, защитив таким образом свою программу от нежелательного использования на других компьютерах; и пересылает защищённую программу клиенту.
Плюсы:
- Такая защита бесплатна и не требует физического присутствия возле компьютера клиента и работы с ним.
- Привязаную программу можно использовать на другом компьютере - достаточно на него успешно переставить физически компонент со "старого" компьютера.
Минусы:
- Клиент может не согласится чтобы из его компьютера была собрана и передана "какая-то закодированая информация".
- Компонент компьютера может выйти из строя или так может сказать клиент. Возможные решения в зависимости от цены программы: требовать ещё раз заплатить за новую "привязку" либо продавать программу вместе со своим компонентом, чтобы контролировать его и использование программы (говоришь компонент сломался - верни его и получи работающий заплатив только за новый компонент а не за программу).
Разумеется любую защиту можно взломать; это вопрос времени и/или денег.
Можно купить, взломать или создать свой программный продукт - смотря что дешевле.