JawsIk
@JawsIk
Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)

Существует ли способ защитить код написанный на Python?

Собственно написана программа на Python. Делает что нужно с тем чем нужно. На это имеется спрос.

Хочу каждую копию:
1. либо привязать к железу
2. либо продавать повремёнку, используя ключ, и чтобы через сайт прога проверяла, активна лицензия или её нужно продлить.
3. ну или сочетание первого пункта со вторым.

Сделать то я сделаю. Вопрос в том, как защитить код, чтобы потом эту "защиту" не выпилили?

При этом задача защиты должна обладать следующими качествами.
1. Чтобы это можно было сделать простому смертному программисту без "танцев с бубном" (а не после того, как прочитал кучу мануалов на английском, где нифига ничего не понятно и всё было написано ещё при царе горохе)
2. Чтобы запускалось и работало на Windows 7-8-10. В идеале хотя бы чтобы был exe-лаунчер.

С уважением.

p.s. естественно Python 3 и скорее всего 64 bit
  • Вопрос задан
  • 269 просмотров
Пригласить эксперта
Ответы на вопрос 3
hottabxp
@hottabxp Куратор тега Python
Миллиардер. Честно, 100 пистонов!
1) Запускать приложение у себя на сервере по платной подписке;
2) Не использовать python;
3) PyInstaller(код правда скорее всего не защитите, а вот проблем появится вагон и большая тележка).

Короче, либо первый вариант, либо вариант - написать приложение на C/C++. Интерпретируемые ЯП не предназначены(несмотря на наличие костылей) для подобных дел.

Сейчас мода пошла, накопировать много кода с разных уголков интернета, и добавить всё это в один файл. Это разумеется не работает - далее мамкины бизнесмены идут сюда с просьбой переписать код, потом приходят и спрашивают как защитить код)))
Пример:
5f8f59873cc8b122678802.png
Похожий вопрос - Как защитить код?
Ответ написан
@javedimka
Хочу сока
Берёшь значит ситон. Выносишь значит критические части своей программы в отдельные модули. Потом значит ситоном преобразуешь свой питон код в .c, потом значит компилируешь в шаред обджект. И вот значит у тебя защищённый пайтон код.

На linux как-то так:

cython critical_business_rules.py -o critical_business_rules.c
gcc -shared -pthread -fPIC -fwrapv -O2 -Wl,--strip-all -Wall -fno-strict-aliasing -I/usr/lib64/python3.6 -o critical_business_rules.so critical_business_rules.c


Но флаги компайлеру конечно свои скармливай.
Ответ написан
@lz961
если вы написали программу на Python, значит это уже не ваша программа. Вы подключаете кучу модулей, которые сделали за вас, и которым вы делегируете всю логику. Ваш скрипт это всего лишь диспетчер, который перебрасывает данные между процедурами. И, после этого, вам не совестно брать деньги?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы