Форум сайта python.su
Ребята, есть серьёзный вопрос)
В сети не могу найти внятного/точного ответа на некоторые нюансы.
На всякий случай спрошу тут.
Знающие люди разъясните, пожалуйста, такой момент:
Допустим я написал программу на пайтоне (program.py) и сделал exe-обертку для неё при помощи pyinstaller… а затем бесплатно скинул в сеть…Для того, чтоб прогой пользовались (+1 к карме и тщеславию).
Однако, я не сильно хочу, чтоб кто-то брал мой код и подгонял его под свои нужды…или что-то переделывал в нём, а затем юзал…
Как известно, exe-обертку можно будет легко “декомпилировать” и вытащить исходник.
(При помощи pyinstxtractor.py и uncomply6 в cmd-шке любой юзер может достать мой program.py из exe-обертки).
Собственно, я сам это проделал со своей прогой (достал исходник за 2 минуты). Код как на ладони. Ничего не спрятать.
Есть вариант “защитить” код при помощи обфускации (потом попробую это выполнить).
Но сейчас у меня другой важный вопрос.
При помощи nuitka и mingw64 я “скомпилировал” прогу в небольшой экзешник. Все работает, все норм, вес проги маленький) Круть.
CMD: python -m nuitka –windows-disable-console –mingw64 program.py
При помощи pyinstxtractor теперь исходник не достанешь (ибо через nuitka все “компилировалось”).
Однако, наверное и на такой вариант есть свой способ достать исходник…
(В сети я что-то не нашёл такого способа)…
1) Не подскажете насколько серьёзно защищен исходник через компиляцию nuitka (понятно, что “декомпилировать” можно всё… но можно ли будет достать “целый” исходник?
2) Возможно ли будет вытащить из такого экзешника код так, как в экзешнике “скомпилированного” pyinstaller-ом (типо насколько читабелен будет исходник?)?
При обертке через pyinstaller в исходнике все практически точно также, только пробелы и отступы слегка съехали…читай не хочу
3) Насколько серьёзной будет защита если я сначала пропущу через обфускатор свой пайтон-файл, а потом скомпилирую его через nuitka/mingw64 ?
P.S.
С pyinstaller все понятно (как запускается и работает прога).
Если не сложно, то объясните, пожалуйста, пошагово то, как именно все работает в экзешнике полученным через nuitka… Мой исходник получается теперь переписан языком “С” и при его запуске все загружается в память устройства и исполняется программой?? (пардон, если вопрос бредовый).
Отредактировано Pes (Июль 25, 2021 21:54:39)
Офлайн
PesНу вот не скажу на все 100% но вроде ж нуитка транслирует питонячий код в Си, а уже потом его компилирует. На самом деле компилирует, а не “компилирует”. Тоесть дизасемблировать то его конечно можно но вот “целый” (ваш) исходник" на пайтоне получить наврядли будет возможно.
но можно ли будет достать “целый” исходник?
Pesровно такаяже если действать без обфускации, почему читай выше. Но это мое ИМХО, я не настоящий сварщик, я просто маску нашел и аппарт сварочный, может меня поправят более опытные “товарисчи”.
Насколько серьёзной будет защита если я сначала пропущу через обфускатор свой пайтон-файл, а потом скомпилирую его через nuitka/mingw64 ?
[code python][/code]
Отредактировано PEHDOM (Июль 25, 2021 22:45:24)
Офлайн
PesВопросы “как защитить свой код?” возникают очень часто. Это естественный этап при переходе от разработки к дистрибуции.
Однако, я не сильно хочу, чтоб кто-то брал мой код и подгонял его под свои нужды…или что-то переделывал в нём, а затем юзал…
Как известно, exe-обертку можно будет легко “декомпилировать” и вытащить исходник.
Отредактировано py.user.next (Июль 26, 2021 02:46:15)
Офлайн
Pes
Что это хоть за программа то? Вот не верю я в то, что она представляет собой хоть какую-нибудь ценность. Логика размышлений тут простая. Если вы заранее знали, что надо будет защищать код от вмешательства, то есть планировали, что вы собираетесь вообще получить в итоге, ну тогда питон это не подходящий инструмент, зачем вы его выбрали? Думаю, что питон был выбран потому что ничего другого вы не умеете. А в чудеса, типа “студент червертого курса сделал поисковик лучше яндекса” я не верю.
Офлайн
>>> Единственное, о чём тебе надо позаботиться, - это о том, чтобы тебе не запретили писать свой собственный код, который ты всегда писал изначально. Для этого ты его должен пролицензировать изначально и поставить там своё авторство.
Еще одна головная боль) В дистрибуции я вообще не шарю(
Код на гидхаб выкладывать, но не в открытом доступе, а в закрытом?
Как именно его пролицензировать и поставить там своё авторство.?
>>> История с Nginx - пример такого случая.
Тоже подвыбесила меня эта история. Работаю в крупной компании (не на должности программиста). В моей компании во главе такая же наглая чайка.
Программу свою я писал тоже в свободное от работы время. Ну писец. Как тогда мне ее защитить/лицензировать?
(пардон, давайте пофантазируем и представим, что она выстрелит).
>>> Что это хоть за программа то? Вот не верю я в то, что она представляет собой хоть какую-нибудь ценность. Логика размышлений тут простая. Если вы заранее знали, что надо будет защищать код от вмешательства, то есть планировали, что вы собираетесь вообще получить в итоге, ну тогда питон это не подходящий инструмент, зачем вы его выбрали? Думаю, что питон был выбран потому что ничего другого вы не умеете. А в чудеса, типа “студент червертого курса сделал поисковик лучше яндекса” я не верю.
Обязательно нужно ложку дёгтя добавить)
Проект изначально ставился как хобби, планировал юзать программу самостоятельно, никому не скидывать… затем он перерос в нечто большее…
Ну я действительно не знаю в достаточной мере другие ЯП.
+ ко всему, если бы я писал ее в одни руки на C++, то ушло бы у меня на это ооочень много времени))
В 3,14зду такое хобби…
Пайтон хорош скоростью разработки…)) я бы не смог самостоятельно ее написать на сях…
Как по мне, так программа довольно таки интересная и полезная…многих чуваков заинтересует…(но не исключаю, что у меня уже просто взгляд на неё замылился и некая мания величия в данном вопросе возникла).
Тогда не подскажите, пожалуйста, что делать с моментом лицензирования/авторством/защитой кода?
Отредактировано Pes (Ноя. 5, 2021 23:52:31)
Офлайн
PesПоучись у других, кто уже делает это. Скачай их программы и посмотри, как их авторство там закреплено и как эти программы пролицензированы. Почитай лицензии.
Как именно его пролицензировать и поставить там своё авторство.?
Офлайн
Обязательно нужно ложку дёгтя добавить)да ни во что он не перерос, перестаньте. Ну или дайте ссылку на посмотреть. Ну хотя бы опишите, что программа делает. Или это из разряда “не скажу, а то ты у меня идею украдешь и мои миллионы заработаешь”?
Проект изначально ставился как хобби, планировал юзать программу самостоятельно, никому не скидывать… затем он перерос в нечто большее…
Офлайн
FishHook Правильно говорит. Если вы можете написать интересную программу, то при такой квалификации вопрос защиты и лицензирования вы уже давно знаете как решать.
Так что не надо тратить впустую свое и чужое время. Спокойно выкладывайте исходники в свободный доступ. Никому они и даром не нужны.
Офлайн
doza_andболее того, если проект и правда инетересный, то сообщество поможет его развитию, а может и инвестор найдется
Спокойно выкладывайте исходники в свободный доступ. Никому они и даром не нужны.
Офлайн
PesЛицензирование , тут все просто, в программу ложите файлик license.txt, где собвтвенно и описываете под какой лицензией распространяется ваше ПО. Можно воспользваться готовй лицензией (GNU\GLP\BSD\CCL\Apache…) достаточно большой список лицензий на все случаи жизни можно найти тут: https://www.gnu.org/licenses/license-list.ru.html Выбираете ту котороая вам боьше всего подходит.
Тогда не подскажите, пожалуйста, что делать с моментом лицензирования/авторством/защитой кода?
[code python][/code]
Отредактировано PEHDOM (Июль 26, 2021 14:44:51)
Офлайн