Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
Ghidrathon — L'estensione open-source del team FLARE per aggiungere lo scripting Python 3 a Ghidra. | Kitploit
Strumenti/GitHubGitHub/mandiant/ghidrathon
Reverse EngineeringScripting e AutomazioneAnalisi MalwareAnalisi di BinariArchived
GitHubmandiant/ghidrathon

Ghidrathon

L'estensione open-source del team FLARE per aggiungere lo scripting Python 3 a Ghidra.

Vedi Repository
788652 anni 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

Ghidrathon

GitHub Release GitHub Downloads (all assets, latest release) CI License

Ghidrathon è un'estensione di Ghidra che aggiunge funzionalità di scripting Python 3 a Ghidra. Perché? Ghidra supporta nativamente lo scripting in Java e Jython. Purtroppo, molti strumenti di analisi open-source, come capa, Unicorn Engine, angr, ecc., sono scritti in Python 3, rendendo difficile e, in alcuni casi, impossibile utilizzare questi strumenti in Ghidra. Inoltre, la community della sicurezza ha rilasciato diversi ottimi plugin per altri framework SRE come IDA Pro e Binary Ninja, ma anche in questo caso, poiché molti di questi plugin usano Python 3, è difficile portarli su Ghidra. Ghidrathon ti aiuta a usare strumenti Python 3 esistenti e a svilupparne di nuovi in Ghidra, e a scrivere script per Ghidra usando Python moderno in modo da integrarsi strettamente con l'interfaccia utente di Ghidra. Sostituisce la precedente estensione Python 2.7 implementata tramite Jython. Questo include la finestra dell'interprete interattivo, l'integrazione con il Ghidra Script Manager e l'esecuzione di script in modalità headless di Ghidra.

example

Consulta il nostro esempio di script Python 3 per Ghidra qui per uno sguardo più approfondito sulla scrittura di script Python 3 per Ghidra.

Scopri:

  • La panoramica nel nostro primo post del blog su Ghidrathon

Installazione di Ghidrathon

Requisiti

Segui i seguenti passaggi per installare Ghidrathon nel tuo ambiente Ghidra:

  1. Scarica e decomprimi l'ultima release di Ghidrathon
  2. Esegui i seguenti comandi usando l'interprete Python che desideri utilizzare con Ghidrathon (requirements.txt e ghidrathon_configure.py sono inclusi nella release):
root@kitploit:~
$ python -m pip install -r requirements.txt
$ python ghidrathon_configure.py <absolute_path_to_ghidra_install_dir>

Nota: ghidrathon_configure.py per impostazione predefinita tenta di scrivere un file chiamato ghidrathon.save in <absolute_path_to_ghidra_install_dir>. Puoi specificare il percorso in cui viene scritto questo file impostando la variabile d'ambiente GHIDRATHON_SAVE_PATH prima di eseguire ghidrathon_configure.py e Ghidra:

root@kitploit:~
$ export GHIDRATHON_SAVE_PATH="/path/to/custom/dir" # Linux/MacOS
$ set GHIDRATHON_SAVE_PATH="C:\path\to\custom\dir"  # Windows

Nota: potrebbe esserti richiesto di impostare una variabile d'ambiente chiamata JAVA_HOME. Questa deve referenziare il percorso assoluto del JDK che hai configurato per la tua installazione di Ghidra.

  1. Installa l'estensione Ghidrathon (.zip) in Ghidra:
    • Usando l'interfaccia grafica di Ghidra:
      • Vai a File > Install Extensions...
      • Fai clic sul pulsante verde +
      • Vai all'estensione Ghidrathon (.zip)
      • Fai clic su Ok
      • Opzionale
        • Seleziona Install Anyway se viene visualizzata la finestra Extension Version Mismatch
    • Usando un ambiente limitato:
      • Estrai l'estensione Ghidrathon (.zip) in <absolute_path_to_ghidra_install_dir>\Ghidra\Extensions

Cambiare Interprete Python

Puoi far usare a Ghidrathon un interprete Python diverso eseguendo il passaggio 2 con il nuovo interprete Python.

Usare Ambienti Virtuali Python

Puoi usare un ambiente virtuale Python con Ghidrathon eseguendo il passaggio 2 dall'ambiente virtuale. Per passare a un ambiente virtuale diverso, esegui semplicemente il passaggio 2 dal nuovo ambiente virtuale.

Usare Ghidrathon

Finestra dell'Interprete Python 3

La finestra dell'interprete fornisce accesso interattivo al tuo interprete Python 3. Fai clic su "Window" e seleziona "Ghidrathon" per aprire la finestra dell'interprete.

example

Integrazione con il Ghidra Script Manager

Ghidrathon si integra direttamente con il Ghidra Script Manager consentendoti di creare, modificare ed eseguire script Python 3 all'interno di Ghidra. Fai clic su "Create New Script" e seleziona "Python 3" per creare un nuovo script Python 3. Fai clic su "Run Script" o "Run Editors's Script" per eseguire il tuo script Python 3 e controlla la finestra Ghidra Console per l'output dello script.

example

Modalità Headless di Ghidra

Ghidrathon ti aiuta a eseguire script Python 3 in modalità headless di Ghidra. Esegui lo script analyzeHeadless situato nella cartella di installazione di Ghidra, specifica il tuo script Python 3 e controlla la finestra della console per l'output dello script.

root@kitploit:~
$ analyzeHeadless C:\Users\wampus example -process example.o -postScript ghidrathon_example.py
[...]
INFO  SCRIPT: C:\Users\wampus\.ghidra\.ghidra_10.0.3_PUBLIC\Extensions\Ghidrathon-master\ghidra_scripts\ghidrathon_example.py (HeadlessAnalyzer)
Function _init @ 0x101000: 3 blocks, 8 instructions
Function FUN_00101020 @ 0x101020: 1 blocks, 2 instructions
Function __cxa_finalize @ 0x101040: 1 blocks, 2 instructions
Function printf @ 0x101050: 1 blocks, 2 instructions
Function _start @ 0x101060: 1 blocks, 13 instructions
Function deregister_tm_clones @ 0x101090: 4 blocks, 9 instructions
Function register_tm_clones @ 0x1010c0: 4 blocks, 14 instructions
Function __do_global_dtors_aux @ 0x101100: 5 blocks, 14 instructions
[...]
INFO  REPORT: Post-analysis succeeded for file: /example.o (HeadlessAnalyzer)
INFO  REPORT: Save succeeded for processed file: /example.o (HeadlessAnalyzer)

Per maggiori informazioni sull'esecuzione di Ghidra in modalità headless, consulta <absolute_path_to_ghidra_install_dir>/support/analyzeHeadlessREADME.html.

Moduli Python di Terze Parti

Una delle nostre più grandi motivazioni nello sviluppo di Ghidrathon è stata consentire l'uso di moduli Python 3 di terze parti in Ghidra. Puoi installare un modulo e iniziare a usarlo all'interno di Ghidra proprio come faresti in una tipica configurazione Python. Questo vale anche per i moduli installati in precedenza. Ad esempio, possiamo installare e usare Unicorn per emulare codice ARM all'interno di Ghidra.

example

Scrivere Script Python 3 per Ghidra

Ghidrathon offre un'esperienza di scripting che rispecchia fedelmente le estensioni Java e Jython di Ghidra, inclusa la messa a disposizione delle variabili di stato di GhidraScript, ad es. currentProgram, e dei metodi di FlatProgramAPI, ad es. findBytes, nello scope builtins di Python. Questo significa che tutti i moduli Python importati dal tuo codice hanno accesso a queste variabili e metodi. Ghidrathon si discosta leggermente dalle estensioni Java e Jython di Ghidra esponendo le variabili di stato di GhidraScript come chiamate di funzione Python anziché accessi diretti; ad es. il tuo codice Python 3 deve accedere a currentProgram usando la chiamata di funzione currentProgram(). Questa piccola modifica garantisce che al tuo codice Python 3 vengano fornite le corrette variabili di stato di GhidraScript durante l'esecuzione. Consulta il nostro esempio di script Python 3 per Ghidra qui per uno sguardo più approfondito sulla scrittura di script Python 3 per Ghidra.

Come funziona?

Ghidrathon collega la tua installazione Python locale a Ghidra usando il progetto open-source Jep. In sostanza, il tuo interprete Python locale è in esecuzione all'interno di Ghidra con accesso a tutti i tuoi pacchetti Python e alla API di scripting standard di Ghidra. Ghidrathon funziona anche con ambienti virtuali Python, aiutandoti a creare, isolare e gestire pacchetti che potresti voler installare solo per l'uso in Ghidra. Poiché Ghidrathon usa la tua installazione Python locale, hai il controllo sulla versione di Python e sull'ambiente in esecuzione all'interno di Ghidra.

Per maggiori informazioni su come Jep incorpora Python in Java, consulta la sua documentazione qui.

Considerazioni

Ghidrathon usa la libreria open-source Jep che utilizza la Java Native Interface (JNI) per incorporare Python nella JVM. Gli sviluppatori di Ghidra sconsigliano l'uso di JNI in Ghidra per i motivi discussi qui.

Scarica lo strumento
StrumentoVersioneFonte
Ghidrathon>= 4.0.0https://github.com/mandiant/Ghidrathon/releases
Python>= 3.8.0https://www.python.org/downloads
Jep== 4.2.0https://pypi.org/project/jep
Ghidra>= 10.3.2https://github.com/NationalSecurityAgency/ghidra/releases
Java>= 17.0.0https://adoptium.net/temurin/releases