Как защитить своё ПО от пиратства

Рейтинг: 0Ответов: 3Опубликовано: 22.06.2023

Есть вопрос, каким образом можно защитить своё приложение от пиратства? Я собираюсь разработать свой программный продукт. Допустим CRM. У него есть версия, для установки на локальный сервер. Естественно есть лицензионное соглашение о том, что компания имеет право на пользование в течении определённого времени. Каким образом можно сделать данное приложение недоступным к использованию спустя какое-то время? или сделать так, что бы это ПО не распространилось далее в интернете? Какие методы привязки к IP или к серверу могут быть? Хотелось бы использовать Python для написания ПО.

Ответы

▲ 2

Нужно написать лицензионный сервис. Который будет аутентифицировать клиентов использующих вашу CRM.(А привязывать клиентов можно к hwid) Но следует понимать, что софт написанный на python достаточно просто пиратится.

Для защиты исходников стоит использовать pyarmor + сборку в бинарь на наиболее свежей версии python(его сложнее разобрать и нет готовых решений). Но это не панацея. Любой софт в теории может быть угнан и разобран на куски.

Один из вариантов - размазывать закладки проверяющие лицензию по всему объему кода, делать их неявными приправляя обфускацией. + Динамическая загрузка удалённых модулей из ваших дополнительных сервисов. Т.е Код как бы загружается с удалённого ресурса и подгружается в рантайме.

В этих модулях стоит так же разместить скрытые закладки проверки лицензии, не обязательно связанного с главным сервисом аутентификации.

Полностью защитить никода не выйдет. Необходимо создать условие таких затрат на взлом, потраченные ресурсы которых будут фактически больше чем расходы на защиту от взлома.

▲ 0

Я использовал асимметричную криптографию для этого. При активации приложения генерируется подпись данных (время окончания подписки, железо, прочее). Внутри программы зашит общий ключ, по которому эти данные расшифровываются и делаются проверки.

Второй этап - скомпилить код через cython.

▲ 0

В тегах увидел python, вы можете преобразовать python код в exe файл, обычно такие методы называют «native obfuscator» которые преобразуют код в «нативный язык» на котором написан python. После получения exe файла на него можно наложить протект от дебага и прочих «reverse engineering» утилит. Популярными являются: Themida, Enigma, VMP (является лучшим из всех). Конечно, это лишь малая часть.

Также для python можно использовать pyminifer, но смысла от него будет очень мало. Мои советы:

  1. не писать приложения с защитой на python, т.к. он создан для лёгких целей
  2. не используйте pyinstaller, подробнее расписано в этой теме