Форум сайта python.su
Я понимаю, что вопрос во многом неправильный и хорошего ответа на него нет, но…
Если говорить точнее, то хотелось бы затруднить анализ алгоритмов использующихся в этом коде.
1. Какие еще возможности есть кроме применения обфускации?
2. Поможет ли мне py2exe и последующее пропускание экзешника через упаковщик?
3. Слышал, что python встраивается в C++. Возможно ли таким образом запихнуть весь код в С++ программу и потом скомпилировать?
4. SaaS не подходит, поскольку код слишком вычислительно-тяжелый. С питона так же не хотелось бы уходить, потому как код изначально разрабатывался для SaaS, но в последствии оказалось, что мощностей сервера не хватает и было решено переделать все в stand alone приложение.
5. Защита с помощью лицензий не подходит – у нас слишком мало ресурсов что бы с кем-то судиться…
Офлайн
1. Jython, например. Вынос ключевых функций в библиотеки на С
2. Нет, не особо
3. Можно, в принципе
4. ???? Это вопрос или утверждение?
Отредактировано (Май 20, 2009 17:09:10)
Офлайн
3. Посмотри Shed Skin.
Такой вопрос уже обсуждался, воспользуйся поиском. Вроде есть некие инструменты, которые собирают py-код в бинарь и шифруют его. Да и сделать подобное собственными силами не должно быть сложной задачей.
..bw
Офлайн
Ferroman
4. Это утверждение, на случай если кто SaaS советовать будет. Сразу говорю, что не подойдет.
bw
спасибо, сейчас посмотрю.
Поиском же пользовался. Он(посик) принес вот такую вот ссылку
http://stackoverflow.com/questions/261638/how-do-i-protect-python-code мораль которой сводится к тому, что лучше и не пытаться.
p.s.
Кстати, а если распространять *.pyc файлы созданные с помощью psyco?
Отредактировано (Май 20, 2009 18:30:04)
Офлайн
Абсолютная защита в принципе не возможно. Мы можем рассуждать лишь о создании сложностей для рефакторинга.
Psyco не создает pyc'и.
Наиболее реалистичный сценарий, это упаковка pyc'ов в свой хитрый архив и использование своего двоичного запускальщика приложения. Для усложнения жизни хакерам, можешь изменить код интерпретатора так, что бы pyc'и отличались от стандартных, например, поменять байт-коды. Тогда и необходимость “прятать” pyc'и исчезнет. Но бинарь самого интерпретатора лучше носить не в отдельной либа, а статически компилировать с главным исполняемым, который можно и зашифровать проприетарными средствами.
Т.е. вариантов то куча :-). И, на мой взгляд, не такие и сложные.
..bw
Офлайн