
Un plugin qui fournit des ressources pour les débutants afin d'apprendre le reverse engineering avec Binary Ninja. Il installe automatiquement plusieurs autres plugins et fournit des exemples qui présentent les fonctionnalités de ces plugins.
Outils pédagogiques pour Binary Ninja
Ce plugin fournit des ressources aux débutants pour apprendre le reverse engineering avec Binary Ninja. Il installe automatiquement plusieurs autres plugins et fournit des exemples qui présentent les fonctionnalités de ces plugins.
Ce projet est issu du programme de stage d'été 2017 de NCC Group. Les mises à jour ultérieures seront suivies sur https://github.com/ehennenfent/binja_sensei. NCC Group n'est pas responsable des modifications apportées au dépôt après le 18 août 2017.
Par souci de pérennité, Binja Sensei installe les plugins via l'API encore incomplète du gestionnaire de plugins. Comme le gestionnaire de plugins ne dispose actuellement d'aucune interface graphique, l'installation doit être effectuée en exécutant l'extrait suivant dans la console de scripts de Binary Ninja (accessible via Ctrl+`).
manager = RepositoryManager()
manager.enable_plugin('binja_sensei', install=True)
Remarque : selon le moment où vous avez installé Binja, vous devrez peut-être exécuter manager.check_for_updates() et redémarrer Binja pour que ce plugin apparaisse. Je recommande vivement d'installer sur une VM vierge.
Si vous exécutez ceci avant le 31 août 2017, vous devrez utiliser la version de développement de Binary Ninja, car l'installation des dépendances repose sur b0778fc et 326253a.
Ensuite, redémarrez Binary Ninja. Une fois chargé, Sensei mettra à jour tous les plugins groupés vers leur dernière version et installera les dépendances Python de chaque plugin. Il n'exécutera pas automatiquement les scripts d'installation ; si vous êtes sur Ubuntu et que vous comptez configurer binja_dynamics, vous devrez vous rendre dans ~/.binaryninja/repositories/default/plugins/binja_dynamics et exécuter ./install.sh.
Si l'une des installations de plugins échoue, une installation manuelle peut avoir plus de succès. En attendant le Problème #753, certains plugins qui reposent sur des chemins de fichiers absolus peuvent ne pas fonctionner s'ils ne sont pas installés manuellement. Pour une installation manuelle, copiez les liens de dépôt pertinents ci-dessous et clonez-les dans votre répertoire de plugins.
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
Veuillez noter que les outils groupés restent la propriété de leurs auteurs respectifs. Bien que ce plugin soit proposé sous licence MIT, cette licence ne s'étend pas aux plugins ci-dessous.
Pour démontrer les cas d'utilisation possibles de ces plugins, des solutions pour les cinq défis de dépassement de tampon (overflow) de PicoCTF 2013 sont incluses. Veuillez noter que des modifications mineures concernant les fonctionnalités, la palette de couleurs et des corrections de bogues peuvent avoir été apportées depuis la création des writeups.
Annotator utilise une pile virtuelle pour annoter les appels aux fonctions de libc avec des prototypes d'arguments.

Ce plugin affiche une aide-mémoire avec les informations internes de Binary Ninja sur l'architecture.

Ce plugin ajoute une interface Qt à Binjatron, incluant des surlignages destinés à aider les débutants à repérer les emplacements mémoire importants.

Ajoute une fenêtre contextuelle qui explique en anglais simple ce que fait une instruction assembleur.

Annole les appels système avec leurs arguments.
