Denis
Июнь 22, 2007 12:42:50
Интересно, если код Python интерпретируемый, то получается мои сорцы будут видны конечному потербителю?
Или как сделать, чтобы он не смог их читать?
alafin
Июнь 22, 2007 12:44:05
Можешь сделать .pyc или .pyo или как вариант исполняемую программу.
nobodyzzz
Июнь 22, 2007 12:48:34
можно, конечно, зашифромать(хоть банальным ксором) исходный текст и выполнять через eval() - но это имхо стремноватый способ. а вообще критичные куски в таком случае лучше реализовать как расширение и написать на компилируемом язык(хотя и это не дает никаких гарантий=))
и вообще information must be free =)))
Андрей Светлов
Июнь 22, 2007 13:09:32
Пару лет назад начальство потребовало всерьез зашифроваться.
Взял py2exe. Он умеет в zip ложить все. Немного переделал загрузчик и zipimporter - чтобы на зип было непохоже. Конечно, можно было дизассемблером расковырять, но уровень защиты сочли достаточным…
finic
Июнь 27, 2007 20:09:11
Для win32 есть еще jungle вот здесь
http://www.suda-chen.biz/
Андрей Светлов
Июнь 28, 2007 14:04:53
Думается, Джунгли - не совсем то. Ограничений должно быть больше, чем у psyco, ИМХО.
Нужен либо хороший JIT компилятор для CPython (а они и для Явы… того немного) - либо будут постоянные грабли.
Тема, безусловно, интересная академически, но малополезная на деле. Если скорость нужна - на плюсах надо модули писать.
Впрочем, я повторяюсь…
george
Июль 13, 2007 16:36:02
Питон код прозрачно дешифруется одной - двумя строками кода.
Если нужно скрыть код - оптимально использовать язык Boo - развитие питона под net, позволяющий получать быстрые (в 10 раз минимум) exe-шники.
net экзешники - это высокоуровневый код, который может быть транслирован в чистый exe. Использую его после Pythona, доволен как слон.
bialix
Июль 13, 2007 17:02:41
я думаю таким же способом можно заюзать и Pyrex – это будет не только под NET
Андрей Светлов
Июль 13, 2007 17:29:30
Это как, интересно, можно дешифровать парой строк, если даже до pyc не добраться?
Но ссылка на boo интересная
pythonwin
Июль 13, 2007 17:41:08
george, можешь дать ссылку?