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-резерва для неподдерживаемых объектов кода.

Репозиторий
4174 месяцев назадПроверено 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
Скачать инструмент