Не так много упомянуто о безопасности.

есть действительно «лучший» способ, чтоявляется лучший способ отправить приложение на Python и убедиться, что люди не могут (легко) перепроектировать ваши алгоритмы / безопасность / работу в целом?

Если нет «лучшего» способа, какие варианты доступны?

Справочная информация: я люблю писать на Python и хотел бы выпустить больше приложений с ним. Одна вещь, которая меня интересует, - это возможность людей обойти любой лицензионный код, который я вставил, или возможность просто разорвать всю мою исходную базу. Я слышал о Py2Exe и подобных приложениях, но мне любопытно, есть ли «предпочтительные» способы сделать это, или если эта проблема - просто факт жизни.

 willoller24 янв. 2009 г., 01:43
Обычно компиляция - это путь, но это PHP (Zend что-то). Интересно, есть ли у Пи другие средства для обеспечения безопасности?
 James Brady24 янв. 2009 г., 04:00
 S.Lott24 янв. 2009 г., 13:31
Да, это дурак. Это не субъективно, технических средств для защиты кода нет.
 Eddie Parker24 янв. 2009 г., 21:05
Ах, спасибо за эту ссылку. Я отправил запрос, чтобы закрыть это как обман, но ему нужно еще два пользователя, чтобы сделать то же самое.
 cletus24 янв. 2009 г., 02:02
Это недостаток использования Perl, PHP, Python и т. Д. Для продуктов, которые вы поставляете. Там не так много вы можете сделать на самом деле.

Ответы на вопрос(5)

коммерческое приложение для Mac в Python мы делаем точно так же, как описано в других ответах; Защити себя по закону приличным лицензионным соглашением, а не путаницей.

У нас никогда не было проблем с людьми, которые занимаются реинжинирингом нашего кода. И если мы это сделаем, я уверен, что мы можем предпринять юридические действия. Так что да, это факт жизни. Но тот, с которым не так уж сложно жить. Просто найдите достойного адвоката, который пишет приличное лицензионное соглашение.

такой как C # или Java, люди могут выполнять обратный инжиниринг, если они мотивированы и технически компетентны. Запутывание не является надежной защитой от этого.

Вы можете добавить запрет на обратный инжиниринг в ваше лицензионное соглашение с конечным пользователем для вашего программного обеспечения. Большинство проприетарных компаний делают это. Но это не предотвращает нарушения, оно только дает вам законную защиту.

Лучший Решение состоит в том, чтобы предлагать продукты и услуги, в которых доступ пользователя для чтения вашего кода не повредит вашей способности продавать ваш продукт или услугу. Основывайте свой бизнес на предоставляемых услугах или подписке на периодические обновления данных, а не на сам код.

Пример: Slashdot фактически делает доступным свой код для своего сайта. Вредит ли это их способности управлять своим сайтом? Нет.

Другим выходом из ситуации является установление вашей цены, чтобы попытка пиратского кода была более дорогостоящей, чем просто покупка законных лицензий для использования вашего продукта. Джоэл Спольски дал рекомендации по этому поводу в своих статьях и подкастах.

Решение Вопроса

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

Если вы беспокоитесь о том, что они изучают ваш алгоритм безопасности (например, криптографию), то же самое применимо. Реальные, полезные алгоритмы безопасности (такие как AES) являются безопасными, хотя алгоритм полностью известен.

 David25 янв. 2009 г., 18:08
Индустрия игровой безопасности доказала, что попытки защитить код или усложнить использование программы ради защиты кода являются неудачниками рынка.
 ewanm8928 апр. 2009 г., 13:31
Разве медиаиндустрия не доказала это и в музыке / фильмах? Они просто еще не подошли к этому ...

py2exe

В windows py2exe - это один из способов доставки кода конечным пользователям, py2exe объединяет интерпретатор python, необходимые библиотеки DLL и ваш код, скомпилированный в байт-код python.

Вот инструкции байт-кода python, чтобы понять, как это выглядит:

http://www.python.org/doc/2.5.2/lib/bytecodes.html

Или вы можете использоватьдис разобрать некоторые файлы pyc / pyo.

Таким образом, использование py2exe похоже на распространение скомпилированных файлов python (pyc / pyo).

Shedskin C ++ компилятор

Компилятор Shedskin компилирует подмножество python в C ++, которое вы можете скомпилировать в собственный код, используя любой компилятор.

PyPy

Я не слишком много знаю о PyPy. Согласно их документам Pypy может генерировать C-код.

 User27 февр. 2014 г., 14:29
Не так много упомянуто о безопасности.

которое вы ищете, является запутанным. Быстрый Google показывает:

http://www.lysator.liu.se/~astrand/projects/pyobfuscate/

но:

a) Если нарушение авторских прав становится проблемой, то закон на вашей стороне (если вы включаете соответствующие уведомления об авторских правах во все файлы).

б) Также возможно получить прибыль от приложений с открытым исходным кодом, если вы умны в этом.

c) Если вы хотите, чтобы ваша Интеллектуальная собственность была действительно защищена, то единственный ответ - не давать кому-либо иметь ее в первую очередь: напишите ваше приложение как веб-приложение (я рекомендую использовать django), и только ваш провайдер веб-хостинга имеет доступ к вашему коду.

Ваш ответ на вопрос