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
binaryninja-ollama — Plugin per Binary Ninja che integra modelli Ollama locali per rinominare funzioni e variabili nel codice HLIL decompilato, preservando la privacy mantenendo l'analisi completamente locale e offline. | Kitploit
Strumenti/GitHubGitHub/ahaggard2013/binaryninja-ollama
Analisi del CodiceReverse EngineeringPrivacyAnalisi di BinariMachine LearningReverse Engineering Assistito dall'IA
GitHubahaggard2013/binaryninja-ollama

binaryninja-ollama

Plugin per Binary Ninja che integra modelli Ollama locali per rinominare funzioni e variabili nel codice HLIL decompilato, preservando la privacy mantenendo l'analisi completamente locale e offline.

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
Vedi Repository
831181 anno faRevisionato da Kitploit

"Buy Me A Coffee"

Binary Ninja Ollama (v1.0.9)

Autore: Austin Haggard

Binary Ninja Ollama si integra con il tuo server ollama ospitato localmente per rinominare funzioni e variabili con l'AI

Descrizione:

Ollama è uno strumento che ti permette di scaricare modelli AI open source ed eseguirli localmente. Alcuni modelli richiedono un'enorme potenza di calcolo, mentre altri possono essere eseguiti sul tuo laptop personale. I risultati variano notevolmente a seconda del modello che scegli di usare :).

Perché usarlo al posto di sidekick/openai?

  1. È GRATIS e facile da configurare localmente.
  2. Ho detto che è GRATIS?
  3. Può essere eseguito ovunque senza internet!
  4. I tuoi dati restano tra te e il tuo server ollama, senza terze parti.

Caratteristiche

Questo plugin integra Ollama con Binary Ninja e supporta le azioni elencate di seguito:

  • Impostazione di quale server/porta Binary Ninja deve usare per connettersi a ollama.
    • Hai un PC gaming (molto) potente? Usalo per ospitare ollama e punta binja su llama3:70b/gemma2:27b.
    • Lo esegui su un laptop? Ospitalo localmente, impostalo su localhost ed esegui gemma2:latest/llama3:latest.
    • Ci sono moltissimi altri modelli da provare, ma ho testato principalmente questo con varianti di llama3/gemma2 con risultati decenti.
  • Interrogare il tuo server ollama ospitato localmente per determinare cosa fa una determinata funzione.
    • Questo può essere utilizzato per rinominare tutte le funzioni in massa o singole funzioni specifiche.
  • Consente agli utenti di rinominare le variabili in HLIL usando ollama.
    • Questo può essere utilizzato per rinominare singole variabili all'interno di un'istruzione.
    • Questo può essere utilizzato per rinominare tutte le variabili all'interno di una funzione.

Installazione

Se stai installando questo come plugin autonomo, puoi posizionarlo (o creare un sym-link) nel percorso dei plugin di Binary Ninja. I percorsi predefiniti sono descritti nella documentazione di Vector 35.

Dipendenze

  • Python 3.10+
  • ollama installato con pip3 install ollama

Server Ollama

Questo richiede di avere accesso al tuo server ollama o di ospitarne uno, e di scaricare i modelli che vuoi usare.

Segui le istruzioni su https://ollama.com per configurare il server e scaricare i modelli che vuoi provare. Una volta fatto, un server dovrebbe essere avviato automaticamente e accessibile tramite localhost:11434.

Utilizzo

Rinomina tutte le variabili di funzione

L'opzione per rinominare tutte le variabili di funzione analizza tutte le variabili all'interno di una funzione e tenta di rinominarle in base al seguente prompt:

root@kitploit:~
prompt = (
             f"In one word, what should the variable '{variable}' be named in the below Function? "
             f"The name must meet the following criteria: all lowercase letters, usable in Python code"
)

Prima della rinomina delle variabili Dopo la rinomina delle variabili

Rinomina tutte le funzioni

L'opzione per rinominare tutte le funzioni scorre tutte le funzioni, dalla più piccola alla più grande, all'interno di una binaryview e le rinomina in base al prompt:

root@kitploit:~
prompt = (
    f"Given the following HLIL decompiled code snippet, provide a Python-style function name that describes what the code is doing. "
    f"The name must meet the following criteria: all lowercase letters, usable in Python code, with underscores between words. "
    f"Only return the function name and no other explanation or text data included."
)

Prima della rinomina delle funzioni Dopo la rinomina delle funzioni Dopo la rinomina delle funzioni

Rinomina la funzione bersaglio

La rinomina di una funzione bersaglio usa lo stesso prompt della rinomina di tutte le funzioni, ma la limita alla funzione selezionata quando si attiva il plugin.

Rinomina la variabile della funzione bersaglio

La rinomina di una variabile bersaglio usa lo stesso prompt della rinomina di tutte le variabili, ma la limita alla funzione selezionata quando si attiva il plugin.

Impostazioni

Le impostazioni vengono attivate alla prima chiamata di qualsiasi operazione di rinomina all'avvio di Binary Ninja, oppure attivandole manualmente. Le impostazioni applicate persistono per tutta la sessione di Binary Ninja.

La finestra delle impostazioni consente di impostare IP, porta e modello da usare in ollama. Sono selezionabili solo i modelli scaricati.

Opzione impostazioni del plugin Opzioni di connessione del plugin Opzioni del modello del plugin

Problemi noti

  • Sulle funzioni più grandi, l'AI ignora il prompt e restituisce grandi blocchi di testo che descrivono la funzione. Questo viene mitigato ignorando il valore restituito e registrando un log "can't rename function', ma potrebbe essere ulteriormente indagato.
  • Il caso in cui il server scelto non esista potrebbe essere gestito meglio.

Richieste di funzionalità

  • C'è qualcosa che ti interessa e che non è incluso?

    • Apri una issue!
    • Fai una pull request.
  • Idee:

    • rinominare una singola variabile invece di tutte le variabili di una riga
    • generare commenti AI che descrivono il codice
    • Recupero della struttura

Licenza

Questo plugin è rilasciato sotto licenza MIT.

Scarica lo strumento