
Un plugin che fornisce risorse per principianti per imparare il reverse engineering usando Binary Ninja. Installa automaticamente diversi altri plugin e fornisce esempi che mostrano le funzionalità di questi plugin.
Strumenti didattici per Binary Ninja
Questo plugin fornisce risorse per i principianti che vogliono imparare il reverse engineering utilizzando Binary Ninja. Installa automaticamente diversi altri plugin e fornisce esempi che mostrano le funzionalità di questi plugin.
Questo progetto è il prodotto del programma di stage estivo 2017 di NCC Group. Gli aggiornamenti futuri saranno tracciati su https://github.com/ehennenfent/binja_sensei. NCC Group non è responsabile per eventuali ulteriori modifiche apportate al repository dopo il 18 agosto 2017.
Per garantire la compatibilità futura, Binja Sensei installa i plugin tramite l'API del Plugin Manager, ancora incompleta. Poiché il plugin manager non dispone attualmente di una GUI, l'installazione deve essere effettuata eseguendo il seguente frammento di codice nella console di script di Binary Ninja (accessibile tramite Ctrl+`).
manager = RepositoryManager()
manager.enable_plugin('binja_sensei', install=True)
Nota: a seconda di quando hai installato Binja, potrebbe essere necessario eseguire manager.check_for_updates() e riavviare Binja affinché questo plugin appaia. Consiglio vivamente di installarlo su una VM pulita.
Se stai eseguendo questo prima del 31 agosto 2017, dovrai utilizzare la versione di sviluppo di Binary Ninja, poiché l'installazione delle dipendenze si basa su b0778fc e 326253a.
Successivamente, riavvia Binary Ninja. Una volta caricato, Sensei aggiornerà tutti i plugin inclusi all'ultima versione e installerà le eventuali dipendenze Python per ciascun plugin. Sensei non eseguirà automaticamente gli script di installazione, quindi se sei su Ubuntu e intendi configurare binja_dynamics, dovrai navigare fino a ~/.binaryninja/repositories/default/plugins/binja_dynamics ed eseguire ./install.sh.
Se una delle installazioni dei plugin fallisce, potresti avere più successo eseguendo un'installazione manuale. In attesa della Issue #753, alcuni plugin che fanno affidamento su percorsi di file assoluti potrebbero non funzionare a meno che non vengano installati manualmente. Per installare manualmente, copia i link dei repository pertinenti riportati di seguito e clonali all'interno della tua directory dei plugin.
https://github.com/carstein/Annotator.git
https://github.com/ehennenfent/binja_arch_ref.git
https://github.com/ehennenfent/binja_dynamics.git
https://github.com/ehennenfent/binja_explain_instruction.git
https://github.com/carstein/Syscaller.git
Si prega di notare che gli strumenti inclusi rimangono di proprietà dei rispettivi autori. Sebbene questo plugin sia rilasciato sotto Licenza MIT, tale licenza non si estende a nessuno dei plugin elencati di seguito.
Per dimostrare i potenziali casi d'uso di questi plugin, sono incluse le soluzioni per le cinque sfide di overflow di PicoCTF 2013. Si prega di notare che dalla creazione dei writeup potrebbero essere state implementate modifiche minori in termini di funzionalità, schema di colori e correzioni di bug.
Annotator utilizza uno stack virtuale per annotare le chiamate alle funzioni libc con i prototipi degli argomenti.

Questo plugin visualizza un cheat sheet con le informazioni interne di Binary Ninja sull'architettura.

Questo plugin aggiunge un frontend Qt a Binjatron, che include evidenziazioni pensate per aiutare i principianti a individuare le posizioni di memoria importanti.

Aggiunge una finestra popup che spiega in inglese semplice cosa fa un'istruzione assembly.

Annota le chiamate di sistema con i relativi argomenti.
