Codeby
36.3K subscribers
2.01K photos
96 videos
12 files
7.79K links
Блог сообщества Кодебай

Чат: @codeby_one
Форум: codeby.net
Обучение: codeby.academy

CTF: hackerlab.pro

VK: vk.com/codeby
YT: clck.ru/XG99c

Сотрудничество: @KinWiz

Реклама: @Savchenkova_Valentina
Download Telegram
PyInstaller: Упаковка 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


⏺️Упаковка веб-приложения (Flask/Django)
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
💻 pocsuite3

Платформа с открытым исходным кодом для удалённого тестирования уязвимостей. Она включает в себя мощный механизм разработки PoC и множество полезных функций для профессиональных тестировщиков на проникновение и исследователей в области безопасности. Также в инструмент интегрированы API различных сервисов (ZoomEye, Seebug, Ceye, Shodan и др.).


Поддерживает три режима работы:
⏺️verify — проверка уязвимостей;
⏺️attack — эксплуатация уязвимостей;
⏺️shell — получение интерактивного shell-доступа к цели.

Архитектура
▶️Сбор данных: указание отдельного URL, использование файла с несколькими URL, применение сетевых поисковых систем (ZoomEye, Shodan и др.), поиск целей через пользовательские плагины.

▶️Загрузка PoC-скриптов: можно указать один или несколько путей к PoC или их каталогам, применять их фильтрацию по ключевым словам (например, CVE), а также создавать собственные плагины.

▶️Многопоточное сканирование: после указания целей и PoC фреймворк создаёт очередь из пар (цель, PoC) и обрабатывает ее с помощь пула потоков. PoC можно запускать в одном из трех режимов: --verify, --attack или --shell.

▶️Обобщение результатов: поддерживает сохранение результатов в виде JSON файлов, а также различные плагины, позволяющие представить результаты в HTML.

⬇️Установка
Возможна установка фреймворка через pip или через пакетный менеджер в Linux.
pip3 install pocsuite3
#or
sudo apt update
sudo apt install pocsuite3


Использование
1️⃣В режиме console похож на Metasploit Framework.

➡️Команда help предоставляет информацию о возможных командах.
➡️Чтобы увидеть список всех PoC-модулей, можно использовать команды list или show all.
➡️Для загрузки определённого модуля необходимо использовать команду use <module>.
➡️Cоответствующие параметры в модуле задаются через команду set.

2️⃣Использование фреймворка через командную строку.
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
👍95🔥51
Nuitka: Компилятор Python в исполняемые файлы
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).

⏺️Создание автономной папки (standalone)
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


⏺️Компиляция веб-приложения Flask
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


⏺️Компиляция GUI-приложения на PyQt
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


⏺️Оптимизация с профилированием (PGO)
nuitka --mode=standalone \
--follow-imports \
--pgo \
--pgo-args="--test-option" \
script.py


⏺️Компиляция с использованием zig компилятора
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