Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
pycdc-studio — Una UI desktop basata su Qt Widgets per esplorare il bytecode Python con pycdc/pycdas, ispezionare la decompilazione nativa e utilizzare un fallback AI per oggetti codice non supportati. | Kitploit
Strumenti/GitHubGitHub/ddouworld/pycdc-studio
Analisi StaticaReverse EngineeringDebuggerAnalisi MalwareAnalisi di BinariApprendimento e FormazioneReverse Engineering Assistito dall'IA
GitHubddouworld/pycdc-studio

pycdc-studio

Una UI desktop basata su Qt Widgets per esplorare il bytecode Python con pycdc/pycdas, ispezionare la decompilazione nativa e utilizzare un fallback AI per oggetti codice non supportati.

Vedi Repository
417265 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

pycdc-studio

中文说明

Un'interfaccia desktop basata su Qt Widgets per esplorare il bytecode Python con pycdc / pycdas, ispezionare i risultati nativi della decompilazione, importare l'output oneshot di Pyarmor e riprovare i code object non supportati con AI fallback.

L'app supporta ambienti desktop sia Windows che Linux.

Screenshot

Area di lavoro principale

Area di lavoro principale

AI fallback

Ricostruzione AI fallback

Cosa fa

  • Apre direttamente file .pyc / .pyo
  • Trascina una cartella nella finestra e scopre ricorsivamente i file bytecode supportati
  • Importa un progetto offuscato con Pyarmor tramite il flusso di lavoro oneshot incluso
  • Mostra tutti i file trovati insieme nell'albero di sinistra
  • Ispeziona gli alberi dei code object per moduli, classi, funzioni, lambda e comprensioni
  • Confronta:
    • Uniti (Merged)
    • Nativo (Native)
    • AI
  • Visualizza metadati e disassemblamento per nodo
  • Anteprima del prompt esatto inviato al modello AI fallback
  • Riprova il nodo attualmente selezionato con AI utilizzando un pulsante di azione prominente o Ctrl+R

Struttura attuale dell'interfaccia

  • Sinistra: albero dei code object
  • Centro: viste sorgente unite / nativa / AI
  • Destra: disassemblamento / metadati / prompt / log

AI fallback

L'app non invia l'intero .pyc per impostazione predefinita.

Costruisce un prompt a partire dal code object attualmente selezionato, includendo:

  • nome qualificato
  • tipo di oggetto
  • anteprime di names / varnames / consts
  • errore nativo
  • disassemblamento

Questo mantiene la ricostruzione fallback focalizzata sul nodo selezionato invece che sull'intero file.

Integrazione con pycdc

L'app attualmente preferisce gli eseguibili locali accanto al binario dell'applicazione e cercherà:

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

nella stessa directory del binario dell'applicazione pycdc-studio.

È possibile sovrascriverli con variabili d'ambiente:

  • PYCDC_STUDIO_PYCDC
  • PYCDC_STUDIO_PYCDAS

Importazione Pyarmor

L'app può importare progetti protetti da Pyarmor delegando a Lil-House/Pyarmor-Static-Unpack-1shot.

Flusso di integrazione corrente:

  1. Esegui oneshot/shot.py su una directory di progetto Pyarmor selezionata
  2. Lascia che pyarmor-1shot generi .1shot.das e .1shot.cdc.py
  3. Carica quei file generati nell'interfaccia workspace esistente

I pacchetti di rilascio dovrebbero includere automaticamente la toolchain Pyarmor oneshot e le dipendenze Python richieste.

Per lo sviluppo locale, il codice corrente cerca prima i file inclusi accanto al pacchetto dell'applicazione e supporta anche un clone locale in:

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

e si aspetta che pyarmor-1shot / pyarmor-1shot.exe siano disponibili nella stessa directory di shot.py.

È necessario anche un ambiente Python in grado di eseguire shot.py, incluso pycryptodome.

Se la disposizione è diversa, è comunque possibile sovrascriverla con variabili d'ambiente:

  • PYCDC_STUDIO_PYARMOR_PYTHON
  • PYCDC_STUDIO_PYARMOR_SHOT
  • PYCDC_STUDIO_PYARMOR_PYTHONPATH
  • PYCDC_STUDIO_PYARMOR_OUTPUT_ROOT

Preparare lo strumento upstream per lo sviluppo locale

Esempio:

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

Usarlo nell'interfaccia

  1. Avvia pycdc-studio
  2. Apri File -> Importa progetto Pyarmor...
  3. Scegli la directory radice che contiene gli script offuscati e pyarmor_runtime
  4. Attendi che i file .1shot.* generati vengano importati nel workspace

Note:

  • L'importatore utilizza una directory di output temporanea a meno che non sia impostata PYCDC_STUDIO_PYARMOR_OUTPUT_ROOT.
  • Il disassemblamento è generalmente più affidabile del codice sorgente decompilato.
  • Archivi come i bundle PyInstaller devono ancora essere decompressi prima di utilizzare questo flusso.
  • Le build impacchettate sono pensate per funzionare senza dover configurare manualmente le variabili d'ambiente Pyarmor.

Configurazione AI

Prima di utilizzare AI fallback, apri Impostazioni e configura almeno:

  • URL base
  • Chiave API
  • Modello

Il client corrente prevede un endpoint API compatibile con OpenAI.

La finestra di dialogo delle impostazioni memorizza la configurazione del provider con QSettings e ricorre alle variabili d'ambiente quando un campo è vuoto.

Variabili d'ambiente supportate:

  • PYCDC_STUDIO_AI_BASE_URL
  • PYCDC_STUDIO_AI_API_KEY
  • PYCDC_STUDIO_AI_MODEL
  • PYCDC_STUDIO_AI_SYSTEM_PROMPT

Compilazione

Requisiti:

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

Esempio:

cmake -S . -B build
cmake --build build

Utilizzo

  1. Avvia pycdc-studio
  2. Apri un file .pyc / .pyo, oppure trascina una cartella nella finestra
  3. Oppure apri File -> Importa progetto Pyarmor... per un progetto protetto da Pyarmor
  4. Apri Impostazioni dal menu in alto e configura il tuo modello AI se desideri utilizzare AI fallback
  5. Seleziona un file o un code object nell'albero
  6. Ispeziona l'output nativo, il disassemblamento, i metadati e il contesto del prompt
  7. Usa Riprova con AI sul nodo selezionato se la decompilazione nativa è incompleta o errata

Esempi di test

I casi di test più lunghi sono inclusi nella directory test/:

  • workflow_orchestrator.py
  • async_batch_runner.py
  • plugin_config_resolver.py
  • più diversi esempi più piccoli

Il repository tiene traccia solo dei sorgenti di esempio.

Per generare file .pyc locali per il test tramite trascinamento:

python test/compile_test_samples.py

Quello script scrive il bytecode compilato in test/__pycache__/.

Note

Questo progetto è ancora sperimentale.

La vista Uniti corrente è un documento misto onesto:

  • sorgente nativa quando disponibile
  • patch AI fallback aggiunte per code object

Non è ancora un merge sorgente in linea completo.

Licenza

Questo progetto si integra con pycdc / pycdas, il cui progetto upstream è concesso in licenza GPL-3.0.

  • pycdc: GPL-3.0
  • i pacchetti di rilascio che includono pycdc / pycdas dovrebbero includere la nota GPL-3.0
  • i pacchetti di rilascio registrano anche il repository e il commit di pycdc upstream inclusi in THIRD_PARTY_NOTICES.txt

Vedi il progetto upstream per i dettagli completi della licenza:

  • zrax/pycdc
Scarica lo strumento