Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
binja_dynamics — Une interface PyQt5 pour le plugin binjatron de Binary Ninja qui inclut des fonctionnalités de surlignage conçues pour faciliter l'apprentissage de la rétro-ingénierie aux débutants. | Kitploit
Outils/GitHubGitHub/nccgroup/binja_dynamics
Analyse Dynamique (Sandboxing)Rétro-ingénierieDébogueursAnalyse de BinairesApprentissage et Éducation
GitHubnccgroup/binja_dynamics

binja_dynamics

Une interface PyQt5 pour le plugin binjatron de Binary Ninja qui inclut des fonctionnalités de surlignage conçues pour faciliter l'apprentissage de la rétro-ingénierie aux débutants.

Voir le dépôt
2564il y a 9 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Outils d'analyse dynamique pour Binary Ninja

Ce projet ajoute une interface PyQt5 au plugin binjatron pour Binary Ninja, qui comprend des fonctionnalités de surlignage visant à faciliter l'apprentissage de la rétro-ingénierie pour les débutants.

Motivation

La capacité à faire de la rétro-ingénierie sur des binaires x86 est une compétence importante, même en dehors du secteur de la sécurité de l'information. Cependant, même avec l'abondance de supports de formation disponibles, c'est une compétence difficile à acquérir. De nombreux étudiants ont exprimé leur frustration face à la quantité de connaissances préalables requises pour progresser ne serait-ce que modestement sur des binaires simples.

Binary Ninja est souvent commercialisé auprès des étudiants en raison de son coût relativement faible, de son interface épurée et de sa facilité d'utilisation. Les langages intermédiaires de bas niveau et de niveau moyen offrent également un moyen simple de comprendre ce que font les instructions. Ce projet vise à faire de Binary Ninja un outil encore meilleur pour les débutants en facilitant la visualisation de l'exécution d'un binaire.

Composants

  • Débogage via
Binjatron
  • Barre d'outils du débogueur
  • Visionneuse de registres
  • Visionneuse de pile
  • Visionneuse de backtrace
  • Origines

    Ce projet est le fruit du programme de stage d'été 2017 de NCC Group. Les composants de débogage visuel peuvent être considérés comme le successeur spirituel de Microcorruption, un CTF de sécurité embarquée produit par Matasano Security. Les mises à jour ultérieures seront suivies sur https://github.com/ehennenfent/binja_dynamics. NCC Group n'est pas responsable des modifications apportées au dépôt après le 18 août 2017.

    Installation

    Dans votre dossier de plugins Binary Ninja, exécutez :

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

    Utilisation

    Après avoir chargé un binaire, cliquez sur l'élément Enable Dynamic Analysis Tools dans le menu Outils. Une fenêtre de débogueur apparaîtra, que vous pourrez contrôler via les boutons de la barre d'outils. À mesure que vous avancez pas à pas dans l'exécution, l'interface se met à jour en temps réel pour refléter l'état du programme. Grâce à Binjatron, l'instruction courante et les éventuels points d'arrêt sont surlignés dans la vue du binaire. Pour chaque adresse mémoire et pour chaque registre, la valeur est surlignée en orange dès qu'elle a changé à la suite de l'instruction précédente. De la même manière, le haut et le bas du cadre de pile courant (ainsi que l'emplacement prédit de l'adresse de retour) sont surlignés afin de permettre aux débutants d'identifier plus facilement les portions de mémoire importantes à examiner. La visionneuse de backtrace affiche une backtrace des cadres de pile courants et fournit un bouton qui fait naviguer automatiquement la vue du binaire vers l'emplacement correspondant à l'adresse mémoire où le plugin s'attend à trouver l'adresse de retour. Dans certaines fonctions, le cadre de pile n'est pas dépilé de la manière attendue par le plugin, cette adresse de retour prédite peut donc ne pas toujours être correcte.

    Capture d'écran

    Surlignage

    (Dans la capture d'écran ci-dessus, le pointeur de base est affiché en vert olive)

    • Instruction courante - rouge
    • Point d'arrêt - bleu
    • Mémoire ou registre modifié - texte orange
    • Pointeur de pile - vert clair
    • Pointeur de base - bleu clair
    • Adresse de retour prédite - rouge
    • Pointeur d'instruction (le cas échéant) - rouge vif

    Documentation

    Code

    Il peut parfois être nécessaire de consulter le code source pour comprendre le comportement exact des interfaces. En prévision de cela, bon nombre des décisions de conception et des détails d'implémentation sont expliqués dans des commentaires en ligne.

    Wiki

    Le wiki est encore relativement sommaire, mais des contenus tels que la liste des obstacles rencontrés et le journal de développement peuvent s'avérer utiles pour le dépannage.

    Exemples

    Envisagez de consulter le dépôt binja_sensei pour des exemples qui pourraient vous aider à démarrer.

    Limitations actuelles

    • Actuellement, seuls les binaires Linux x86(64) sont pris en charge. Même avec cette limitation, il peut exister des binaires qui se comportent d'une manière que binja_dynamics ou Voltron ne peuvent pas gérer. Nous vous encourageons à soumettre une pull request ou une issue pour toute erreur rencontrée.
    • binja_dynamics n'a été testé que sur Ubuntu 16.04. Bien que la prise en charge de Windows soit probablement hors de question en raison de la façon dont la redirection de terminal fonctionne, il est peut-être possible d'obtenir des fonctionnalités raisonnables sur d'autres plateformes unix. Une fois encore, les pull requests et les issues sont les bienvenues.
    • Étant donné que Binary Ninja et binjatron sont basés sur Python 2.7, la version de GDB fournie avec Ubuntu doit être remplacée par une version prenant en charge Python 2.7 avant l'installation de binja_dynamics. Le script d'installation s'est avéré capable de le faire avec succès sur une VM Ubuntu 16.04 fraîche, mais les mises à jour de GDB, les mises à jour d'Ubuntu ou des composants préinstallés (si vous n'installez pas sur une VM fraîche) peuvent le faire échouer.
    • Pour des raisons de performance, la visionneuse de mémoire n'affiche que le contenu des segments de pile et BSS.
    • Voir Issues pour plus d'informations

    Contenu tiers

    • binja_dynamics utilise un fork de qthexedit, qui est sous licence GPLv2.
    • Les images utilisées pour les icônes sont sous licence Creative Commons. Consultez attribution.txt pour des informations sur les sources.

    Prérequis

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

    Hormis Binary Ninja, install.sh gérera ces dépendances pour vous.

    Télécharger l’outil