Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
pycdc-studio — Графический интерфейс на Qt Widgets для исследования байт-кода Python с помощью pycdc/pycdas, просмотра нативной декомпиляции и использования AI-резерва для неподдерживаемых объектов кода. | Kitploit
Инструменты/GitHubGitHub/ddouworld/pycdc-studio
Статический анализОбратная инженерияОтладчикиАнализ вредоносных программАнализ Бинарных ФайловОбучение и ОбразованиеОбратная Разработка с Помощью ИИ
GitHubddouworld/pycdc-studio

pycdc-studio

Графический интерфейс на Qt Widgets для исследования байт-кода Python с помощью pycdc/pycdas, просмотра нативной декомпиляции и использования AI-резерва для неподдерживаемых объектов кода.

Репозиторий
41785 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

pycdc-studio

中文说明

Графический интерфейс на Qt Widgets для исследования байт-кода Python с помощью pycdc / pycdas, просмотра нативных результатов декомпиляции, импорта вывода Pyarmor oneshot и повторной обработки неподдерживаемых объектов кода с использованием AI-запасного варианта.

Приложение поддерживает как Windows, так и Linux.

Скриншоты

Основное рабочее пространство

Основное рабочее пространство

AI-запасной вариант

AI-запасной вариант

Что делает

  • Открывает файлы .pyc / напрямую
.pyo
  • Позволяет перетащить папку в окно и рекурсивно обнаружить поддерживаемые файлы байт-кода
  • Импортирует обфусцированный проект Pyarmor через встроенный рабочий процесс oneshot
  • Показывает все обнаруженные файлы в левом дереве
  • Позволяет просматривать деревья объектов кода для модулей, классов, функций, лямбда-выражений и генераторов
  • Сравнивает:
    • Merged
    • Native
    • AI
  • Просматривает метаданные и дизассемблерный код для каждого узла
  • Предварительно просматривает точный запрос, отправляемый AI-запасному варианту
  • Повторно обрабатывает выбранный узел с помощью AI через заметную кнопку действия или Ctrl+R
  • Текущая структура интерфейса

    • Слева: дерево объектов кода
    • По центру: объединённый / нативный / AI-исходный код
    • Справа: дизассемблер / метаданные / запрос / журнал

    AI-запасной вариант

    Приложение по умолчанию не отправляет весь .pyc.

    Оно формирует запрос на основе выбранного объекта кода, включая:

    • полное имя
    • тип объекта
    • предварительный просмотр имён / имён переменных / констант
    • нативная ошибка
    • дизассемблер

    Это позволяет сосредоточить восстановление на выбранном узле, а не на всём файле.

    Интеграция с pycdc

    Приложение в первую очередь ищет локальные исполняемые файлы рядом с бинарником приложения и будет искать:

    • pycdc.exe
    • pycdc
    • pycdas.exe
    • pycdas

    в той же директории, что и бинарник pycdc-studio.

    Вы можете переопределить их с помощью переменных окружения:

    • PYCDC_STUDIO_PYCDC
    • PYCDC_STUDIO_PYCDAS

    Импорт Pyarmor

    Приложение может импортировать проекты, защищённые Pyarmor, путём делегирования Lil-House/Pyarmor-Static-Unpack-1shot.

    Текущий поток интеграции:

    1. Запустить oneshot/shot.py для выбранной директории проекта Pyarmor
    2. Позволить pyarmor-1shot сгенерировать .1shot.das и .1shot.cdc.py
    3. Загрузить эти сгенерированные файлы обратно в интерфейс существующего рабочего пространства

    Ожидается, что в релизные пакеты будет включён инструментарий Pyarmor oneshot и необходимые зависимости Python.

    Для локальной разработки текущий код сначала ищет встроенные файлы рядом с пакетом приложения, а также поддерживает локальный клон по адресу:

    • external/Pyarmor-Static-Unpack-1shot/oneshot/shot.py

    и ожидает, что pyarmor-1shot / pyarmor-1shot.exe будут доступны в той же директории, что и shot.py.

    Вам также потребуется окружение Python, способное запускать shot.py, включая pycryptodome.

    Если у вас другая структура, вы всё ещё можете переопределить её с помощью переменных окружения:

    • PYCDC_STUDIO_PYARMOR_PYTHON
    • PYCDC_STUDIO_PYARMOR_SHOT
    • PYCDC_STUDIO_PYARMOR_PYTHONPATH
    • PYCDC_STUDIO_PYARMOR_OUTPUT_ROOT

    Подготовка вышестоящего инструмента для локальной разработки

    Пример:

    root@kitploit:~
    git clone https://github.com/Lil-House/Pyarmor-Static-Unpack-1shot external/Pyarmor-Static-Unpack-1shot
    cmake -S external/Pyarmor-Static-Unpack-1shot/pycdc -B external/Pyarmor-Static-Unpack-1shot/build
    cmake --build external/Pyarmor-Static-Unpack-1shot/build --config Release
    cmake --install external/Pyarmor-Static-Unpack-1shot/build --config Release
    python -m pip install pycryptodome
    

    Использование в интерфейсе

    1. Запустите pycdc-studio
    2. Откройте File -> Import Pyarmor Project...
    3. Выберите корневую директорию, содержащую обфусцированные скрипты и pyarmor_runtime
    4. Дождитесь импорта сгенерированных файлов .1shot.* в рабочее пространство

    Примечания:

    • Импортёр использует временную выходную директорию, если не задано PYCDC_STUDIO_PYARMOR_OUTPUT_ROOT.
    • Дизассемблированный код, как правило, более надёжен, чем декомпилированный исходный код.
    • Архивы, такие как сборки PyInstaller, перед использованием этого потока необходимо распаковать.
    • Собранные пакеты предназначены для работы без ручной настройки переменных окружения Pyarmor.

    Конфигурация AI

    Перед использованием AI-запасного варианта откройте Settings и настройте как минимум:

    • Base URL
    • API Key
    • Model

    Текущий клиент ожидает конечную точку API, совместимую с OpenAI.

    Диалог настроек сохраняет конфигурацию провайдера с помощью QSettings и использует переменные окружения, если поле пустое.

    Поддерживаемые переменные окружения:

    • PYCDC_STUDIO_AI_BASE_URL
    • PYCDC_STUDIO_AI_API_KEY
    • PYCDC_STUDIO_AI_MODEL
    • PYCDC_STUDIO_AI_SYSTEM_PROMPT

    Сборка

    Требования:

    • Qt 6 Widgets
    • Qt Network
    • CMake
    • Компилятор C++17

    Пример:

    root@kitploit:~
    cmake -S . -B build
    cmake --build build
    

    Использование

    1. Запустите pycdc-studio
    2. Откройте файл .pyc / .pyo или перетащите папку в окно
    3. Или откройте File -> Import Pyarmor Project... для проекта, защищённого Pyarmor
    4. Откройте Settings из верхнего меню и настройте свою AI-модель, если хотите использовать AI-запасной вариант
    5. Выберите файл или объект кода в дереве
    6. Просмотрите нативный вывод, дизассемблер, метаданные и контекст запроса
    7. Используйте Retry with AI для выбранного узла, если нативная декомпиляция неполная или неверная

    Тестовые образцы

    Более длинные тестовые примеры находятся в каталоге test/:

    • workflow_orchestrator.py
    • async_batch_runner.py
    • plugin_config_resolver.py
    • плюс несколько более мелких образцов

    Репозиторий отслеживает только исходные образцы.

    Чтобы сгенерировать локальные файлы .pyc для тестирования перетаскиванием:

    root@kitploit:~
    python test/compile_test_samples.py
    

    Этот скрипт записывает скомпилированный байт-код в test/__pycache__/.

    Примечания

    Этот проект всё ещё экспериментальный.

    Текущий вид Merged представляет собой честный смешанный документ:

    • нативный исходный код, когда доступен
    • AI-запасные исправления, добавленные для каждого объекта кода

    Это ещё не полноценный встраиваемый объединитель исходного кода.

    Лицензия

    Этот проект интегрируется с pycdc / pycdas, чей вышестоящий проект распространяется под лицензией GPL-3.0.

    • pycdc: GPL-3.0
    • Релизные пакеты, включающие pycdc / pycdas, должны содержать уведомление GPL-3.0
    • Релизные пакеты также фиксируют в THIRD_PARTY_NOTICES.txt вышестоящий репозиторий и коммит pycdc

    Подробности лицензии см. в вышестоящем проекте:

    • zrax/pycdc
    Скачать инструмент