Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pycdc-studio — Une interface utilisateur de bureau Qt Widgets pour explorer le bytecode Python avec pycdc/pycdas, inspecter la décompilation native et utiliser un repli IA pour les objets de code non supportés. | Kitploit
Outils/GitHubGitHub/ddouworld/pycdc-studio
Analyse StatiqueRétro-ingénierieDébogueursAnalyse de MalwareAnalyse de BinairesApprentissage et ÉducationRétro-Ingénierie Assistée par IA
GitHubddouworld/pycdc-studio

pycdc-studio

Une interface utilisateur de bureau Qt Widgets pour explorer le bytecode Python avec pycdc/pycdas, inspecter la décompilation native et utiliser un repli IA pour les objets de code non supportés.

Voir le dépôt
4178il y a 5 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

pycdc-studio

中文说明

Une interface utilisateur de bureau basée sur Qt Widgets pour explorer le bytecode Python avec pycdc / pycdas, inspecter les résultats natifs de décompilation, importer la sortie « oneshot » de Pyarmor, et réessayer les objets code non pris en charge avec un repli IA.

L'application prend en charge les environnements de bureau Windows et Linux.

Captures d'écran

Espace de travail principal

Espace de travail principal

Repli IA

Reconstruction par repli IA

Ce qu'elle fait

  • Ouvrir directement les fichiers /
.pyc
.pyo
  • Glisser un dossier dans la fenêtre et découvrir récursivement les fichiers bytecode pris en charge
  • Importer un projet obfusqué par Pyarmor via le workflow « oneshot » intégré
  • Afficher tous les fichiers découverts ensemble dans l'arborescence de gauche
  • Inspecter les arbres d'objets code pour les modules, classes, fonctions, lambdas et compréhensions
  • Comparer :
    • Fusionné
    • Natif
    • IA
  • Voir les métadonnées et le désassemblage par nœud
  • Prévisualiser l'invite exacte envoyée au modèle de repli IA
  • Réessayer le nœud sélectionné avec l'IA à l'aide d'un bouton d'action ou de Ctrl+R
  • Structure actuelle de l'interface

    • À gauche : arbre des objets code
    • Au centre : vues sources fusionnée / native / IA
    • À droite : désassemblage / métadonnées / invite / journal

    Repli IA

    Par défaut, l'application n'envoie pas l'intégralité du .pyc.

    Elle construit une invite à partir de l'objet code actuellement sélectionné, incluant :

    • le nom qualifié
    • le type d'objet
    • les aperçus de noms / varnames / constantes
    • l'erreur native
    • le désassemblage

    Cela permet de concentrer la reconstruction par repli sur le nœud sélectionné plutôt que sur l'ensemble du fichier.

    Intégration de pycdc

    L'application privilégie les exécutables locaux situés à côté du binaire de l'application et recherche :

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

    dans le même répertoire que le binaire pycdc-studio.

    Vous pouvez les remplacer par des variables d'environnement :

    • PYCDC_STUDIO_PYCDC
    • PYCDC_STUDIO_PYCDAS

    Import Pyarmor

    L'application peut importer des projets protégés par Pyarmor en déléguant à Lil-House/Pyarmor-Static-Unpack-1shot.

    Flux d'intégration actuel :

    1. Exécutez oneshot/shot.py sur un répertoire de projet Pyarmor sélectionné
    2. Laissez pyarmor-1shot générer .1shot.das et .1shot.cdc.py
    3. Chargez ces fichiers générés dans l'interface de l'espace de travail existant

    Les paquets de livraison sont censés inclure automatiquement la chaîne d'outils oneshot Pyarmor et les dépendances Python requises.

    Pour le développement local, le code actuel cherche d'abord les fichiers intégrés à côté du paquet de l'application, et prend également en charge un clone local à :

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

    et attend que pyarmor-1shot / pyarmor-1shot.exe soit disponible dans le même répertoire que shot.py.

    Vous avez également besoin d'un environnement Python capable d'exécuter shot.py, incluant pycryptodome.

    Si votre disposition est différente, vous pouvez toujours la remplacer par des variables d'environnement :

    • PYCDC_STUDIO_PYARMOR_PYTHON
    • PYCDC_STUDIO_PYARMOR_SHOT
    • PYCDC_STUDIO_PYARMOR_PYTHONPATH
    • PYCDC_STUDIO_PYARMOR_OUTPUT_ROOT

    Préparer l'outil amont pour le développement local

    Exemple :

    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
    

    Utilisation dans l'interface

    1. Lancez pycdc-studio
    2. Ouvrez Fichier -> Importer un projet Pyarmor...
    3. Choisissez le répertoire racine qui contient les scripts obfusqués et pyarmor_runtime
    4. Attendez que les fichiers .1shot.* générés soient importés dans l'espace de travail

    Remarques :

    • L'importateur utilise un répertoire de sortie temporaire sauf si PYCDC_STUDIO_PYARMOR_OUTPUT_ROOT est défini.
    • Le désassemblage est généralement plus fiable que la source décompilée.
    • Les archives telles que les bundles PyInstaller doivent encore être décompressées avant d'utiliser ce flux.
    • Les versions packagées sont conçues pour fonctionner sans configuration manuelle des variables d'environnement Pyarmor.

    Configuration de l'IA

    Avant d'utiliser le repli IA, ouvrez Paramètres et configurez au moins :

    • URL de base
    • Clé API
    • Modèle

    Le client actuel attend un point de terminaison d'API compatible OpenAI.

    La boîte de dialogue des paramètres stocke la configuration du fournisseur avec QSettings et se rabat sur les variables d'environnement lorsqu'un champ est vide.

    Variables d'environnement prises en charge :

    • PYCDC_STUDIO_AI_BASE_URL
    • PYCDC_STUDIO_AI_API_KEY
    • PYCDC_STUDIO_AI_MODEL
    • PYCDC_STUDIO_AI_SYSTEM_PROMPT

    Construction

    Prérequis :

    • Qt 6 Widgets
    • Qt Network
    • CMake
    • Compilateur C++17

    Exemple :

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

    Utilisation

    1. Lancez pycdc-studio
    2. Ouvrez un fichier .pyc / .pyo, ou glissez un dossier dans la fenêtre
    3. Ou ouvrez Fichier -> Importer un projet Pyarmor... pour un projet protégé par Pyarmor
    4. Ouvrez Paramètres depuis le menu supérieur et configurez votre modèle IA si vous souhaitez utiliser le repli IA
    5. Sélectionnez un fichier ou un objet code dans l'arbre
    6. Inspectez la sortie native, le désassemblage, les métadonnées et le contexte de l'invite
    7. Utilisez Réessayer avec l'IA sur le nœud sélectionné si la décompilation native est incomplète ou erronée

    Exemples de test

    Des cas de test plus longs sont inclus dans test/ :

    • workflow_orchestrator.py
    • async_batch_runner.py
    • plugin_config_resolver.py
    • ainsi que plusieurs petits exemples

    Le dépôt ne suit que les sources des exemples.

    Pour générer localement des fichiers .pyc pour les tests par glisser-déposer :

    root@kitploit:~
    python test/compile_test_samples.py
    

    Ce script écrit le bytecode compilé dans test/__pycache__/.

    Remarques

    Ce projet est encore expérimental.

    La vue Fusionné actuelle est un document mixte honnête :

    • source native lorsqu'elle est disponible
    • correctifs de repli IA ajoutés par objet code

    Ce n'est pas encore un fusionneur de sources en ligne complet.

    Licence

    Ce projet s'intègre avec pycdc / pycdas, dont le projet amont est sous licence GPL-3.0.

    • pycdc : GPL-3.0
    • les paquets de livraison qui intègrent pycdc / pycdas doivent inclure l'avis GPL-3.0
    • les paquets de livraison enregistrent également le dépôt et le commit amont de pycdc dans THIRD_PARTY_NOTICES.txt

    Voir le projet amont pour les détails complets de la licence :

    • zrax/pycdc
    Télécharger l’outil