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
Strumenti/GitHubGitHub/mahaloz/daila
Analisi delle VulnerabilitàAnalisi del CodiceReverse EngineeringAnalisi di BinariReverse Engineering Assistito dall'IA
GitHubmahaloz/daila

DAILA

Un plugin indipendente dal decompilatore per interagire con l'IA nel tuo decompilatore. Supporta GPT-4, Claude e modelli locali!

Vedi Repository
70461101 mese 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

DAILA

DAILA (Decompiler Artificially Intelligent Language Assistant) è un'interfaccia unificata per sistemi di intelligenza artificiale da utilizzare nei decompilatori. Con DAILA, puoi utilizzare vari sistemi di intelligenza artificiale, come LLM locali e remoti, nelle stesse interfacce di scripting e GUI su molti decompilatori. DAILA è stato presentato nel keynote di HITCON CMT 2023 ed è stato studiato nel lavoro NDSS 2026 "Decompiling the Synergy: An Empirical Study of Human–LLM Teaming in Software Reverse Engineering". Se stai cercando il repository del paper, lo trovi qui.

Unisciti al nostro Discord qui sotto per ulteriore assistenza online (ospitato sul server BinSync):

Discord

Decompilatori e Sistemi di IA Supportati

DAILA interagisce con il decompilatore in modo astratto tramite la libreria DecLib. Questo consente a DAILA di supportare i seguenti decompilatori:

  • IDA Pro: >= 8.4
  • Ghidra: >= 12.0
  • Binary Ninja: >= 2.4
  • angr-management: >= 9.0

DAILA supporta qualsiasi LLM supportato da LiteLLM, come:

  • ChatGPT
  • Claude
  • Llama2
  • Gemini
  • e altri...

DAILA supporta anche modelli locali di diverso tipo, come VarBERT, un modello locale per rinominare le variabili nella decompilazione pubblicato a S&P 2024.

Installazione

Installa il backend della nostra libreria tramite pip e il nostro plugin per decompilatori tramite il nostro installer:

root@kitploit:~
pip3 install dailalib && daila --install 

Questa è la modalità leggera. Se vuoi usare VarBERT, devi installare la versione completa:

root@kitploit:~
pip3 install 'dailalib[full]' && daila --install 

Questo scaricherà anche i modelli VarBERT per te tramite la VarBERT API. Se ti capita di installare DAILA su una macchina che non avrà accesso a internet, come una rete sicura, puoi usare la nostra immagine Docker nella sezione Container Docker.

Passaggi aggiuntivi per Ghidra

Devi eseguire alcuni passaggi aggiuntivi per far funzionare Ghidra. Innanzitutto, devi essere in modalità PyGhidra. Puoi farlo andando nella directory di installazione di Ghidra ed eseguendo ./support/pyghidraRun.

Successivamente, abilita il plugin DAILA:

  1. Avvia Ghidra e apri un binario
  2. Vai al menu Windows > Script Manager
  3. Cerca daila e abilita lo script

Devi avere python3 nel tuo PATH perché la versione per Ghidra funzioni. Lo chiamiamo letteralmente dall'interno di Python 2. Potresti anche dover abilitare $USER_HOME/ghidra_scripts come percorso valido per gli script in Ghidra.

Installazione manuale (se quanto sopra fallisce)

Se quanto sopra fallisce, dovrai installare manualmente. Per installare manualmente, prima esegui pip3 install dailalib nel repository, quindi copia il file daila_plugin.py nella directory dei plugin del tuo decompilatore.

Utilizzo

DAILA è progettato per essere utilizzato in due modi:

  1. Come plugin per decompilatori con GUI
  2. Come libreria di scripting nel tuo decompilatore

GUI del decompilatore

Con l'eccezione di Ghidra (vedi sotto), all'avvio del tuo decompilatore avrai un nuovo menu contestuale a cui puoi accedere facendo clic con il tasto destro ovunque all'interno di una funzione:

DAILA context menu

Se stai usando Ghidra, vai su Tools->DAILA->Start DAILA Backend per avviare il server backend. Dopo aver fatto questo, puoi usare il menu contestuale come mostrato sopra.

Scripting

Puoi usare DAILA nei tuoi script importando il pacchetto dailalib. Ecco un esempio che utilizza l'API OpenAI:

root@kitploit:~
from dailalib import LiteLLMAIAPI
from declib.api import DecompilerInterface

deci = DecompilerInterface.discover()
ai_api = LiteLLMAIAPI(decompiler_interface=deci)
for function in deci.functions:
    summary = ai_api.summarize_function(function)

Container Docker

Se stai tentando di installare DAILA per un'installazione una tantum che non userà internet dopo l'installazione, come su una rete sicura, puoi usare il nostro container Docker. Puoi costruire il container da solo, salvare l'immagine in un tarball e poi caricarla sulla macchina di destinazione, oppure puoi usare la nostra immagine precompilata. Puoi costruire il container da solo eseguendo docker build . -t daila nella root di questo repository. Puoi anche scaricare la nostra immagine precompilata eseguendo docker pull mahaloz/daila:latest (l'immagine è per Linux x86_64). Il container contiene DAILA e una copia di Ghidra.

Ora devi inoltrare X11 al container per poter vedere la GUI. Per fare ciò, devi eseguire il container con i seguenti flag:

root@kitploit:~
docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix mahaloz/daila:latest

All'interno del container, puoi avviare Ghidra da /tools/ghidra_10.4_PUBLIC/ghidraRun. Ora segui i Passaggi aggiuntivi per Ghidra per abilitare il plugin DAILA e sei a posto!

Backend IA Supportati

LiteLLM (molti backend)

DAILA supporta l'API LiteLLM, che a sua volta supporta vari backend come OpenAI. Per utilizzare un'API LLM commerciale, devi fornire la tua chiave API. Ad esempio, per usare l'API OpenAI, devi avere una chiave API OpenAI. Se il tuo decompilatore non ha accesso alla variabile d'ambiente OPENAI_API_KEY, devi usare l'opzione del decompilatore di DAILA per impostare la chiave API.

In Settings, puoi anche aggiungere/usare qualsiasi endpoint LLM basato su OpenAI, come Llama2.

Attualmente, DAILA supporta i seguenti prompt:

  • Riassumi una funzione
  • Rinomina variabili
  • Rinomina funzione
  • Identifica la sorgente di una funzione
  • Trova potenziali vulnerabilità in una funzione
  • Riassumi la pagina man di una chiamata di libreria
  • Prompt libero... basta scrivere il tuo prompt!

VarBERT

VarBERT è un modello BERT locale dell'articolo S&P 2024 ""Len or index or count, anything but v1": Predicting Variable Names in Decompilation Output with Transfer Learning". VarBERT serve per rinominare le variabili (stack, registro e argomenti) nella decompilazione. Per capire come usare VarBERT come libreria, consulta la documentazione della VarBERT API. Usarlo in DAILA è semplice come usare il menu contestuale della GUI quando si fa clic su una funzione.

Demo

Puoi trovare una demo di VarBERT in esecuzione all'interno di DAILA qui sotto:

VarBERT Demo

Decompilatori Supportati

  • IDA

  • Binja

  • Ghidra

  • angr management

Scarica lo strumento