Я хотел бы защитить свой исходный код Python, я знаю, что абсолютная защита невозможна, но все же должны быть какие-то средства, чтобы сделать это достаточно сложным или трудоемким. я хочу
1) для автоматического удаления всей документации, комментариев и
2) для систематического изменения имен переменных и функций внутри модуля (обфускация?), чтобы я мог сохранить внешний интерфейс (с осмысленными именами), в то время как внутренние имена переменных и функций невозможно изменить. произносить.
Возможно, лучшим решением, которое сделало бы 1) и 2) излишними, является следующее:
3) Существует ли простой способ компиляции модулей Python в библиотеки .so с понятным интерфейсом, который может использоваться другими модулями Python? ? Это было бы похоже на создание расширений C и C++ с помощью distutils, за исключением того, что исходным кодом является сам python, а не C/C++. Идея состоит в том, чтобы организовать весь «секретный код» в модули, скомпилировать их, а затем импортировать в остальной код Python, который не считается секретным.
Опять же, я знаю, что все можно перепроектировать, я думаю, с прагматической точки зрения, большинство среднестатистических разработчиков не смогли бы перепроектировать код, и даже если бы они могли, этические/юридические/временные причины заставили бы их подумайте дважды, если они действительно хотят работать над этим.
Cython
, который может делать то, что вы хотите для номера 3, однако я полагаю, что вам нужно будет поддерживать.so
для каждой системы и каждой версии Python, что может стать довольно утомительным... Я не уверен, насколько это будет спрятаться от способностей самоанализа питона. - person mgilson   schedule 11.07.2012