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
binja_dynamics — Un frontend PyQt5 per il plugin binjatron per Binary Ninja che include funzionalità di evidenziazione pensate per facilitare ai principianti l'apprendimento del reverse engineering. | Kitploit
Strumenti/GitHubGitHub/nccgroup/binja_dynamics
Analisi Dinamica (Sandboxing)Reverse EngineeringDebuggerAnalisi di BinariApprendimento e Formazione
GitHubnccgroup/binja_dynamics

binja_dynamics

Un frontend PyQt5 per il plugin binjatron per Binary Ninja che include funzionalità di evidenziazione pensate per facilitare ai principianti l'apprendimento del reverse engineering.

Vedi Repository
2568 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

Binary Ninja Dynamic Analysis Tools

Questo progetto aggiunge un frontend PyQt5 al plugin binjatron per Binary Ninja, che include funzionalità di evidenziazione volte a rendere più facile per i principianti imparare il reverse engineering.

Motivazione

La capacità di fare reverse engineering di binari x86 è un'abilità importante anche al di fuori del settore della sicurezza informatica. Tuttavia, anche con l'abbondanza di materiali didattici disponibili, rimane un'abilità difficile da apprendere. Molti studenti hanno espresso frustrazione per la quantità di conoscenze di base richieste per fare anche solo progressi modesti su binari semplici.

Binary Ninja è spesso commercializzato agli studenti grazie al suo costo relativamente basso, all'interfaccia pulita e alla facilità d'uso. I linguaggi intermedi di basso e medio livello forniscono inoltre un modo semplice per capire cosa fanno le istruzioni. Questo progetto mira a rendere Binary Ninja uno strumento ancora migliore per i principianti, facilitando la visualizzazione dell'esecuzione di un binario.

Componenti

  • Debug tramite Binjatron
  • Barra degli strumenti del debugger
  • Visualizzatore dei registri
  • Visualizzatore dello stack
  • Visualizzatore del backtrace

Origini

Questo progetto è il prodotto del programma di stage estivo 2017 di NCC Group. I componenti di debug visivo possono essere considerati un successore spirituale di Microcorruption, una CTF di sicurezza per sistemi embedded prodotta da Matasano Security. Ulteriori aggiornamenti saranno tracciati su https://github.com/ehennenfent/binja_dynamics. NCC Group non è responsabile per eventuali ulteriori modifiche apportate al repository dopo il 18 agosto 2017.

Installazione

All'interno della cartella dei plugin di Binary Ninja, esegui:

root@kitploit:~
git clone https://github.com/ehennenfent/binja_dynamics.git
cd binja_dynamics
./install.sh

Utilizzo

Dopo aver caricato un binario, fai clic sulla voce Enable Dynamic Analysis Tools nel menu Strumenti. Si aprirà una finestra del debugger che potrai controllare tramite i pulsanti sulla barra degli strumenti. Mentre avanzi passo dopo passo nell'esecuzione, l'interfaccia si aggiornerà in tempo reale per riflettere lo stato del programma. Grazie a Binjatron, l'istruzione corrente e qualsiasi punto di interruzione vengono evidenziati nella vista binaria. Per ogni indirizzo di memoria e per i registri, il valore viene evidenziato in arancione ogni volta che è cambiato a seguito dell'istruzione precedente. In modo simile, l'inizio e la fine del frame di stack corrente (così come la posizione prevista dell'indirizzo di ritorno) vengono evidenziati per rendere più facile ai principianti identificare quali porzioni della memoria sono importanti da osservare. Il visualizzatore del backtrace mostra un backtrace dei frame di stack correnti e fornisce un pulsante che salta automaticamente la vista binaria alla posizione data dall'indirizzo di memoria in cui il plugin si aspetta di trovare l'indirizzo di ritorno. In alcune funzioni, il frame di stack non viene smontato nel modo previsto dal plugin, quindi questo indirizzo di ritorno previsto potrebbe non essere sempre corretto.

Screenshot

Evidenziazione

(Nello screenshot sopra, il base pointer è mostrato in verde oliva)

  • Istruzione corrente - rosso
  • Punto di interruzione - blu
  • Memoria o registro modificato - testo arancione
  • Stack pointer - verde chiaro
  • Base pointer - blu chiaro
  • Indirizzo di ritorno previsto - rosso
  • Instruction pointer (dove applicabile) - rosso brillante

Documentazione

Codice

Occasionalmente, può essere necessario consultare il codice sorgente per comprendere il comportamento esatto delle interfacce. In previsione di ciò, molte delle decisioni progettuali e dei dettagli implementativi sono spiegati nei commenti inline.

Wiki

La wiki è ancora relativamente scarna, ma contenuti come l'elenco degli ostacoli e il log di sviluppo possono essere utili per la risoluzione dei problemi.

Esempi

Prendi in considerazione di consultare il repository binja_sensei per esempi che potrebbero aiutarti a iniziare.

Limitazioni attuali

  • Attualmente, sono supportati solo binari Linux x86(64). Anche con questa limitazione, potrebbero esserci binari che si comportano in un modo che binja_dynamics o Voltron non riescono a gestire. Ti invitiamo ad aprire una pull request o una segnalazione (issue) per qualsiasi errore incontri.
  • binja_dynamics è stato testato solo su Ubuntu 16.04. Sebbene il supporto a Windows sia probabilmente fuori discussione a causa del modo in cui funziona il reindirizzamento del terminale, potrebbe essere possibile ottenere una funzionalità ragionevole su altre piattaforme unix. Ancora una volta, pull request e segnalazioni sono benvenute.
  • Poiché Binary Ninja e binjatron sono basati su Python 2.7, la versione di GDB fornita con Ubuntu deve essere sostituita con una versione che supporti Python 2.7 prima che binja_dynamics venga installato. Lo script di installazione ha dimostrato di eseguire questa operazione con successo su una VM Ubuntu 16.04 pulita, ma aggiornamenti di GDB, aggiornamenti di Ubuntu o componenti preinstallati (se non stai installando su una VM pulita) potrebbero romperlo.
  • Per motivi di prestazioni, il visualizzatore di memoria mostra solo il contenuto dei segmenti stack e BSS.
  • Vedi Issues per maggiori informazioni

Contenuti di terze parti

  • binja_dynamics utilizza un fork di qthexedit, concesso in licenza sotto GPLv2.
  • Le immagini utilizzate per le icone sono concesse in licenza sotto Creative Commons. Vedi attribution.txt per informazioni sulle fonti.

Requisiti

  • binjatron
  • binja_toolbar
  • binja_spawn_terminal
  • voltron
  • PyQt5
  • Binary Ninja

Escludendo Binary Ninja, install.sh gestirà queste dipendenze per te.

Scarica lo strumento