llm-agent-backend/obfuscate.txt
2026-04-28 13:27:07 +03:00

65 lines
3.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Для создания исполняемого файла (.exe), который запускается без установки, с обфусцированным кодом Python лучше всего использовать связку PyArmor + PyInstaller:
1. Обфускация с PyArmor:
- PyArmor шифрует и обфусцирует исходный Python-код, усложняя его анализ и обратную разработку.
- Используется командой:
```
pyarmor gen -O dist --recursive путь/к/вашему/проекту
```
или
```
pyarmor gen -O dist --recursive .
```
- Это создаст обфусцированные версии скриптов с сохранением структуры.
2. Упаковка в exe с PyInstaller:
- После обфускации используйте PyInstaller, чтобы упаковать проект в единый exe-файл с параметром `--onefile`:
```
pyinstaller --onefile --noconsole ваш_главный_скрипт.py
```
? python -m PyInstaller --onefile --noconsole run.py
? pyinstaller --onefile --noconsole --paths=./app run.py
? pyinstaller --onefile --hidden-import=eventlet.green --hidden-import=eventlet.green.thread --hidden-import=engineio.async_eventlet --hidden-import=engineio.async_drivers.eventlet --noconsole --paths=./app run.py
- Если нужно, добавляйте параметры `--add-data` для ресурсов.
3. Итог:
- Итоговый .exe-файл будет содержать интерпретатор Python, все зависимости и обфусцированный код.
- Запуск exe не требует предварительной установки Python или зависимостей.
- Такой файл удобно выкладывать в релизы GitHub и распространять пользователям.
4. Важные советы:
- Всегда тестируйте exe на чистой системе.
- PyArmor даёт хорошую защиту, но не абсолютную.
- Для повышения безопасности используйте активацию лицензий PyArmor (опционно).
- Настройте spec-файл PyInstaller, чтобы включить все необходимые модули и ресурсы.
Пример типичного workflow:
```bash
# Обфускация
pyarmor obfuscate --recursive your_project/
# Переход в обфусцированную папку
cd dist/your_project
# Создание exe
pyinstaller --onefile --noconsole main.py
```
Тогда в папке `dist` появится самодостаточный исполняемый файл.
Таким образом, PyArmor + PyInstaller позволяет создать exe с обфусцированным кодом, который не требует установки Python и готов к распространению через GitHub релизы.[1][7][9]
[1](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/)
[2](https://www.youtube.com/watch?v=15ho_Zg_Kq4)
[3](https://www.youtube.com/watch?v=HtiYdCk0_J8)
[4](https://www.reddit.com/r/learnpython/comments/144tdhy/obfuscating_python_script/)
[5](https://stackoverflow.com/questions/58334936/pack-a-pyarmor-obfuscated-script-to-exe)
[6](https://qna.habr.com/q/1055278)
[7](https://pyarmor.readthedocs.io/en/v5.7.0/pack-obfuscated-scripts.html)
[8](https://github.com/dashingsoft/pyarmor)
[9](https://www.cyberforum.ru/python-ide/thread3151287.html)
[10](https://www.reddit.com/r/learnpython/comments/1bdsnce/which_one_is_best_for_code_obfuscation/)