Найти - Пользователи
Полная версия: Можно ли как-то "защитить" исходный код программы на питоне?
Начало » Python для новичков » Можно ли как-то "защитить" исходный код программы на питоне?
1
$m1t
Я понимаю, что вопрос во многом неправильный и хорошего ответа на него нет, но…
Если говорить точнее, то хотелось бы затруднить анализ алгоритмов использующихся в этом коде.
1. Какие еще возможности есть кроме применения обфускации?
2. Поможет ли мне py2exe и последующее пропускание экзешника через упаковщик?
3. Слышал, что python встраивается в C++. Возможно ли таким образом запихнуть весь код в С++ программу и потом скомпилировать?
4. SaaS не подходит, поскольку код слишком вычислительно-тяжелый. С питона так же не хотелось бы уходить, потому как код изначально разрабатывался для SaaS, но в последствии оказалось, что мощностей сервера не хватает и было решено переделать все в stand alone приложение.
5. Защита с помощью лицензий не подходит – у нас слишком мало ресурсов что бы с кем-то судиться…
Ferroman
1. Jython, например. Вынос ключевых функций в библиотеки на С
2. Нет, не особо
3. Можно, в принципе
4. ???? Это вопрос или утверждение?
bw
3. Посмотри Shed Skin.
Такой вопрос уже обсуждался, воспользуйся поиском. Вроде есть некие инструменты, которые собирают py-код в бинарь и шифруют его. Да и сделать подобное собственными силами не должно быть сложной задачей.

..bw
$m1t
Ferroman
4. Это утверждение, на случай если кто SaaS советовать будет. Сразу говорю, что не подойдет.
bw
спасибо, сейчас посмотрю.
Поиском же пользовался. Он(посик) принес вот такую вот ссылку
http://stackoverflow.com/questions/261638/how-do-i-protect-python-code мораль которой сводится к тому, что лучше и не пытаться.
p.s.
Кстати, а если распространять *.pyc файлы созданные с помощью psyco?
bw
Абсолютная защита в принципе не возможно. Мы можем рассуждать лишь о создании сложностей для рефакторинга.
Psyco не создает pyc'и.
Наиболее реалистичный сценарий, это упаковка pyc'ов в свой хитрый архив и использование своего двоичного запускальщика приложения. Для усложнения жизни хакерам, можешь изменить код интерпретатора так, что бы pyc'и отличались от стандартных, например, поменять байт-коды. Тогда и необходимость “прятать” pyc'и исчезнет. Но бинарь самого интерпретатора лучше носить не в отдельной либа, а статически компилировать с главным исполняемым, который можно и зашифровать проприетарными средствами.
Т.е. вариантов то куча :-). И, на мой взгляд, не такие и сложные.

..bw
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB