Всем привет! У меня все pyinstaller и py2exe выбивают ошибку, всё что я не находил ничего не устанавливаются, скажите мне хоть любой уже способ, я на всё готов, у меня есть файл .py т.к у меня в коде есть пароль который логинится в модуль, я хочу его зашифровать путём конвертирования в EXE, да и это было бы разумно потому что я хочу это запускать на Windows. Создавал на Linux. Т.к конвертация в EXE создаётся путём гернерации в машинный код, а вряд ли кто то будет мою программу дизассемблировать ради того что бы узнать пароль к фейк-аккаунту :D, но всё же это лучше чем зайти в блокнот, открыть мой код и узнать пароль. Так вот, как мне это сделать? Как сконвертировать в exe файл без pyinstaller и py2exe?
Ни pyinstaller, ни py2exe, ни cx_Freeze, ни другие подобные средства не компилируют скрипт в exe. Они упаковывают его в самораспаковывающийся архив вместе с интерпретатором Python и необходимыми библиотеками. В момент запуска этот exe-файл распаковывает своё содержимое в каталог временных файлов и запускает оттуда ваш скрипт. Так что для извлечения вашего пароля ничего дизассемблировать не придётся. Узнать пароль сможет любой школотрон.
SaddledSharp, никак. Python - это интерпретируемый язык, программы на нём не компилируются. Единственный способ - это транслировать python-код в C-код и скомпилировать уже его. Но ещё лучше сразу написать на C или другом компилируемом языке.
Radjah, байткод легко читается даже обычным текстовым редактором, пароли в нём не спрятать. И так же просто он восстанавливается в исходный код, так что логику тоже не защитить.
Сергей Горностаев, А я думаю стоит :). Ведь это было частью моего большого проекта. Скрипт мониторит сайт на наличие изменений и копирует оттуда данные, потом парсит данные сайта, и выводит что было изменено\добавлено. Так же там при запуске нереально узнать код, т.к он через SMTP приходит только мне на мейл, он сгенерирован из 20 чисел. Крч все в конфе оценили. Это опять доказывает то, что по вопросам не стоит судить. Я ведь могу задать как написать хелло ворлд, а на самом деле у меня за спиной написана своя ОС :D, но это глупенький пример.
SaddledSharp, если успехи есть - это хорошо. Но есть две проблемы с таким подходом. Во-первых, если вы всё-таки неадекватно оцениваете свои достижения, то можете не замечать реальных проблем в своём коде. В частности чуть более профессиональный программист легко взломает вашу программу, которая кажется вам защищённой. Во-вторых, ответ можно написать по-разному, с разным уровнем подробности и под разным углом подачи информации. На один и тот же вопрос ответ для новичка может быть один, а для человека способного написать ОС другой. Вы уверены, что хотите так заявить своё профессиональный уровень? Уверены, что сможете понимать ответы для этого уровня?
Единственный вариант в вашей ситуации это интеграция питона в С++ :) https://habr.com/ru/company/PENXY/blog/139655/
И тогда будет именно компиляция, но опять же зачем ?
Кому нужен ваш пароль, и могу вас успокоить, никто даже парится не будет с распаковкой вашего приложения, достаточно просто прослушать трафик и всё что вы передавали у человека в кармане :)
Сергей Горностаев, Может и легче, только была бы разница :) В данном случае я бы просто бы упаковал дистрибутив приложения каким нибудь не стандартным упаковщиком и всё в принципе, не опытных 'школотронов' должно остановить.
<Ну если прям поиграться можно было бы ещё подменить сигнатуры>
Но всё это не поможет, если передавать СЕКРЕТНЫЕ ДАННЫЕ БЕЗ КАКОЙ ЛИБО ШИФРАЦИИ :)
В данном случае я бы просто бы упаковал дистрибутив приложения каким нибудь не стандартным упаковщиком и всё в принципе, не опытных 'школотронов' должно остановить.
Разве просмотр появляющихся в каталоге tmp файлов в момент запуска приложения - не решит задачу вне зависимости от "стандартности" упаковщика?
1. У меня прекрасно пакует Py2Exe;
2. У меня прекрасно пакует на Windows, попробуйте запустить утилиту там
3. Питон, все таки, сложно защитить от копипаста. Но, эту задачу можно решить) Или вам что в конечном итоге нужно?