PyInstaller: Упаковка Python-приложений в исполняемые файлы
👉 Преимущества
- Работает с Python версий 3.8–3.14
- Поддерживает Windows (32/64-bit, ARM64), Linux (glibc/musl), macOS (x86_64/arm64)
- Корректно упаковывает популярные пакеты: numpy, PyQt5/PyQt6, PySide2/PySide6, wxPython, matplotlib и другие
- Поддерживает код-сайн на macOS
- Включает MS Visual C++ DLL на Windows
- Не требует кросс-компиляции (сборка выполняется на целевой платформе)
⬇️ Установка
Проверка
⏺️ Создание одно папочного пакета (режим по умолчанию)
Создает папку dist/script/ с исполняемым файлом и всеми зависимостями
⏺️ Создание однофайлового исполняемого пакета
Создает один исполняемый файл dist/script.exe (или script на Linux/macOS), который распаковывается во временную папку при запуске
⏺️ Добавление дополнительных файлов данных
Формат:
⏺️ Указание путей поиска импортов
⏺️ Исключение модулей
⏺️ Упаковка веб-приложения (Flask/Django)
⏺️ Создание пакета для многократного использования с очисткой кэша
🔎 Ограничения и требования
- Cборка выполняется на той же ОС, для которой создается пакет (не кросс-компиляция)
- Поддерживаются указанные версии (Python 3.10.0 содержит баг, несовместимый с PyInstaller)
- Требуются ldd, objdump, objcopy (пакет binutils)
- Однофайловые пакеты включают интерпретатор и библиотеки, что увеличивает размер (обычно 5–50 МБ)
- Некоторые антивирусные программы могут ложно срабатывать на упакованные приложения
#PyInstaller #tool #pentest #Python
🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
PyInstaller — инструмент для создания автономных исполняемых пакетов из Python-скриптов. Пользователь может запускать собранное приложение без установки интерпретатора Python или каких-либо модулей. PyInstaller анализирует исходный скрипт, обнаруживает все необходимые модули и библиотеки, после чего собирает их копии вместе с интерпретатором Python в одну папку или, опционально, в один исполняемый файл.
- Работает с Python версий 3.8–3.14
- Поддерживает Windows (32/64-bit, ARM64), Linux (glibc/musl), macOS (x86_64/arm64)
- Корректно упаковывает популярные пакеты: numpy, PyQt5/PyQt6, PySide2/PySide6, wxPython, matplotlib и другие
- Поддерживает код-сайн на macOS
- Включает MS Visual C++ DLL на Windows
- Не требует кросс-компиляции (сборка выполняется на целевой платформе)
sudo apt install pyInstaller
Проверка
pyInstaller -h
pyinstaller script.py
Создает папку dist/script/ с исполняемым файлом и всеми зависимостями
pyinstaller --onefile script.py
Создает один исполняемый файл dist/script.exe (или script на Linux/macOS), который распаковывается во временную папку при запуске
pyinstaller --add-data "config.ini:." --add-data "images:images" script.py
Формат:
"source:dest_dir". Для Windows разделитель — ;, для Linux/macOS — :.pyinstaller --paths ./external_libs --paths ./helpers script.py
pyinstaller --exclude-module tkinter --exclude-module test script.py
pyinstaller --onefile --add-data "templates:templates" --add-data "static:static" --hidden-import jinja2 run.py
pyinstaller --clean --distpath ./release --workpath ./build_tmp --onefile script.py
- Cборка выполняется на той же ОС, для которой создается пакет (не кросс-компиляция)
- Поддерживаются указанные версии (Python 3.10.0 содержит баг, несовместимый с PyInstaller)
- Требуются ldd, objdump, objcopy (пакет binutils)
- Однофайловые пакеты включают интерпретатор и библиотеки, что увеличивает размер (обычно 5–50 МБ)
- Некоторые антивирусные программы могут ложно срабатывать на упакованные приложения
#PyInstaller #tool #pentest #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5🔥4
Платформа с открытым исходным кодом для удалённого тестирования уязвимостей. Она включает в себя мощный механизм разработки PoC и множество полезных функций для профессиональных тестировщиков на проникновение и исследователей в области безопасности. Также в инструмент интегрированы API различных сервисов (ZoomEye, Seebug, Ceye, Shodan и др.).
Поддерживает три режима работы:
Архитектура
Возможна установка фреймворка через pip или через пакетный менеджер в Linux.
pip3 install pocsuite3
#or
sudo apt update
sudo apt install pocsuite3
Использование
pocsuite -r poc.py -u https://example.com
pocsuite -r poc.py -f url.txt
pocsuite -r poc.py --dork-quake 'app:"F5_BIG-IP"'
pocsuite -r poc.py --dork-censys 'thinkphp'
#tools #python #pentesting
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5🔥5⚡1
Nuitka: Компилятор Python в исполняемые файлы
👉 Ключевые особенности
- Поддерживает Python 2.6–2.7 и 3.4–3.14
- Различные режимы компиляции: ускоренный (accelerated), автономный (standalone), однофайловый (onefile), модуль (module), пакет (package)
- Работает на Windows, Linux, macOS, FreeBSD
- Автоматическое управление зависимостями (включает необходимые модули и библиотеки)
- Поддержка упаковки данных (включение файлов ресурсов, DLL, метаданных)
- Интеграция с внешними компиляторами (MSVC, MinGW64, gcc, clang, zig)
⬇️ Установка
Проверка
⏺️ Компиляция в ускоренном режиме (по умолчанию)
Создает исполняемый файл script.exe (Windows) или script.bin (Linux/macOS).
⏺️ Создание автономной папки (standalone)
Создает директорию script.dist с исполняемым файлом и всеми необходимыми библиотеками.
⏺️ Создание однофайлового исполняемого файла
Создает один исполняемый файл, который распаковывается во временную директорию при запуске.
⏺️ Компиляция модуля расширения
Создает some_module.so (Unix) или some_module.pyd (Windows).
⏺️ Управление включением модулей
⏺️ Работа с данными и ресурсами
⏺️ Базовая компиляция с зависимостями
⏺️ Компиляция веб-приложения Flask
⏺️ Компиляция GUI-приложения на PyQt
⏺️ Компиляция с расширенной информацией для отладки
⏺️ Оптимизация с профилированием (PGO)
⏺️ Компиляция с использованием zig компилятора
⏺️ Создание детального отчета
🎇 Ограничения и требования
- Для Python 3.4 требуется дополнительный Python 2 или 3.5+ для SCons
- На Windows MinGW64 не работает с Python 3.13+
- Автономные сборки требуют копирования всей директории .dist
- Однофайловые сборки распаковываются во временную директорию при запуске
#Nuitka #Python #tool #CPython
🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
Nuitka — это компилятор, транслирующий Python-код в C, а затем создающий исполняемый файл или модуль расширения. Инструмент написан на Python и обеспечивает полную совместимость с CPython, поддерживая практически все конструкции языка от Python 2.6 до 3.14. Основное назначение Nuitka — создание автономных приложений, ускорение выполнения кода и распространение программ без зависимости от интерпретатора.
- Поддерживает Python 2.6–2.7 и 3.4–3.14
- Различные режимы компиляции: ускоренный (accelerated), автономный (standalone), однофайловый (onefile), модуль (module), пакет (package)
- Работает на Windows, Linux, macOS, FreeBSD
- Автоматическое управление зависимостями (включает необходимые модули и библиотеки)
- Поддержка упаковки данных (включение файлов ресурсов, DLL, метаданных)
- Интеграция с внешними компиляторами (MSVC, MinGW64, gcc, clang, zig)
pip install nuitka
Проверка
nuitka -h
nuitka script.py
Создает исполняемый файл script.exe (Windows) или script.bin (Linux/macOS).
nuitka --mode=standalone --follow-imports script.py
Создает директорию script.dist с исполняемым файлом и всеми необходимыми библиотеками.
nuitka --mode=onefile --follow-imports script.py
Создает один исполняемый файл, который распаковывается во временную директорию при запуске.
nuitka --mode=module some_module.py
Создает some_module.so (Unix) или some_module.pyd (Windows).
#включение конкретного модуля
nuitka --include-module=requests script.py
#включение всего пакета
nuitka --include-package=PyQt6 script.py
#исключение модулей
nuitka --nofollow-import-to=*.tests script.py
#включение файлов данных пакета
nuitka --include-package-data=package_name script.py
#включение конкретных файлов
nuitka --include-data-files=/path/to/config.json=config.json script.py
#включение целой директории
nuitka --include-data-dir=./data=data script.py
nuitka --mode=standalone --follow-imports --output-dir=./dist myapp.py
nuitka --mode=onefile \
--follow-imports \
--include-package-data=flask \
--include-package-data=jinja2 \
--include-data-dir=./templates=templates \
--include-data-dir=./static=static \
app.py
nuitka --mode=standalone \
--follow-imports \
--include-package=PyQt6 \
--windows-icon-from-ico=icon.ico \
--windows-disable-console \
main.py
nuitka --mode=standalone \
--follow-imports \
--verbose \
--report=report.xml \
--show-modules \
script.py
nuitka --mode=standalone \
--follow-imports \
--pgo \
--pgo-args="--test-option" \
script.py
nuitka --mode=standalone --zig --follow-imports script.py
nuitka --mode=standalone --follow-imports --report=build_report.xml script.py
- Для Python 3.4 требуется дополнительный Python 2 или 3.5+ для SCons
- На Windows MinGW64 не работает с Python 3.13+
- Автономные сборки требуют копирования всей директории .dist
- Однофайловые сборки распаковываются во временную директорию при запуске
#Nuitka #Python #tool #CPython
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍7🔥3