Защита программ

Существуют разные способы защитить свой интеллектуальный продукт (программу или информацию) от нежелательного использования.

Самый лёгкий способ - просто упомянуть что это не разрешено. Эффект (на мой взгляд) - примерно 2-10% пользователей внимают этому призыву; остальные (подавляющее большинство) - не обращают внимания или даже не замечают этого предупреждения/запрета.

Ключ/код активации или серийный номер: чуть более удачная попытка защитить свой программный продукт. До того как код или номер не будет получен без помощи автора/владельца интеллектуальной собственности.

Работая в Кадастре Литвы я использовал более серьёзную защиту для нашего программного продукта - донгл (электронный аппаратный ключ) - маленькую штучку подключавшуюся к компьютеру, без которой наша программа не работала.

Плюсы: Программный продукт переставал быть нефизическим объектом; его больше нельзя было просто скопировать и использовать не покупая. Подавляющее большинство не знало и даже не искало как обойти эту защиту.

Минусы: Донгл стоил денег, для него нужно было установить драйвер, его физически нужно было доставить клиенту; но самое главное: существует немало сайтов с предложениями помочь обойти эту защиту ...за половину цены взламываемого продукта.

Также один донгл у клиента испортился физически: в одной ячейке был вписан байт "0x11111111" и это значение не переписывалось.

Пытаясь защитить свой программный продукт я воспользовался "привязкой" его к определённой аппаратной части компьютера клиента; например сетевая карта или жёсткий диск, далее - компонент. Выглядит это так:

Пользователь получает маленькую программку-привязчик, которая после запуска с разрешения пользователя получает информацию о компоненте компьютера клиента и генерирует файл с этой информацией (в закодированном виде).

Пользователь пересылает сгенерированный файл автору программы.

На основе информации из этого файла автор программы "привязывает" свою программу к компоненту компьютера клиента, защитив таким образом свою программу от нежелательного использования на других компьютерах; и пересылает защищённую программу клиенту.

Плюсы:

    • Такая защита бесплатна и не требует физического присутствия возле компьютера клиента и работы с ним.
    • Привязаную программу можно использовать на другом компьютере - достаточно на него успешно переставить физически компонент со "старого" компьютера.

Минусы:

    • Клиент может не согласится чтобы из его компьютера была собрана и передана "какая-то закодированая информация".
    • Компонент компьютера может выйти из строя или так может сказать клиент. Возможные решения в зависимости от цены программы: требовать ещё раз заплатить за новую "привязку" либо продавать программу вместе со своим компонентом, чтобы контролировать его и использование программы (говоришь компонент сломался - верни его и получи работающий заплатив только за новый компонент а не за программу).

Разумеется любую защиту можно взломать; это вопрос времени и/или денег.

Можно купить, взломать или создать свой программный продукт - смотря что дешевле.