Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
binja_dynamics — Ein PyQt5-Frontend für das binjatron-Plugin für Binary Ninja, das Hervorhebungsfunktionen enthält, die es Anfängern erleichtern sollen, Reverse Engineering zu lernen. | Kitploit
Tools/GitHubGitHub/nccgroup/binja_dynamics
Dynamische Analyse (Sandboxing)Reverse EngineeringDebuggerBinäranalyseLernen & Bildung
GitHubnccgroup/binja_dynamics

binja_dynamics

Ein PyQt5-Frontend für das binjatron-Plugin für Binary Ninja, das Hervorhebungsfunktionen enthält, die es Anfängern erleichtern sollen, Reverse Engineering zu lernen.

Repository anzeigen
256vor 9 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Binary Ninja Dynamische Analysewerkzeuge

Dieses Projekt fügt dem binjatron-Plugin für Binary Ninja ein PyQt5-Frontend hinzu, das Hervorhebungsfunktionen enthält, die darauf abzielen, Anfängern das Erlernen von Reverse Engineering zu erleichtern.

Motivation

Die Fähigkeit, x86-Binärdateien zu reverse-engineeren, ist auch außerhalb der Informationssicherheitsbranche eine wichtige Fähigkeit. Doch selbst angesichts der Fülle an verfügbarem Schulungsmaterial bleibt sie schwer zu erlernen. Viele Studierende haben ihre Frustration über die Menge an Hintergrundwissen geäußert, die erforderlich ist, um selbst bei einfachen Binärdateien nur bescheidene Fortschritte zu erzielen.

Binary Ninja wird wegen seiner relativ geringen Kosten, der übersichtlichen Oberfläche und der Benutzerfreundlichkeit oft an Studierende vermarktet. Die Low-Level- und Medium-Level-Zwischensprachen bieten zudem eine einfache Möglichkeit zu verstehen, was Anweisungen bewirken. Dieses Projekt zielt darauf ab, Binary Ninja durch eine bessere Visualisierung der Ausführung einer Binärdatei zu einem noch besseren Werkzeug für Anfänger zu machen.

Komponenten

  • Debugging über Binjatron
  • Debugger-Symbolleiste
  • Registeransicht
  • Stack-Ansicht
  • Backtrace-Ansicht

Ursprünge

Dieses Projekt ist ein Produkt des Sommerpraktikumsprogramms 2017 von NCC Group. Die visuellen Debugging-Komponenten können als geistiger Nachfolger von Microcorruption betrachtet werden, einer Embedded-Security-CTF von Matasano Security. Weitere Aktualisierungen finden Sie unter https://github.com/ehennenfent/binja_dynamics. NCC Group ist nicht verantwortlich für weitere Änderungen am Repository nach dem 18. August 2017.

Installation

Führen Sie in Ihrem Ordner für Binary-Ninja-Plugins Folgendes aus:

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

Verwendung

Nach dem Laden einer Binärdatei klicken Sie im Menü „Tools“ auf den Eintrag Enable Dynamic Analysis Tools. Ein Debugger-Fenster wird geöffnet, das Sie über die Schaltflächen der Symbolleiste steuern können. Wenn Sie die Ausführung Schritt für Schritt durchgehen, wird die Benutzeroberfläche in Echtzeit aktualisiert, um den Programmzustand widerzuspiegeln. Dank Binjatron werden die aktuelle Anweisung und alle Breakpoints in der Binäransicht hervorgehoben. Für jede Speicheradresse und für die Register wird der Wert in Orange hervorgehoben, sobald er sich durch die vorherige Anweisung geändert hat. In ähnlicher Weise werden der obere und untere Teil des aktuellen Stack-Frames (sowie der vorhergesagte Speicherort der Rücksprungadresse) hervorgehoben, um es Anfängern zu erleichtern, zu erkennen, welche Speicherbereiche für sie wichtig sind. Der Traceback-Viewer zeigt einen Backtrace der aktuellen Stack-Frames und bietet eine Schaltfläche, die die Binäransicht automatisch zu der Speicheradresse springen lässt, an der das Plugin die Rücksprungadresse erwartet. In manchen Funktionen wird der Stack-Frame nicht auf die vom Plugin erwartete Weise abgebaut, sodass diese vorhergesagte Rücksprungadresse nicht immer korrekt sein kann.

Screenshot

Hervorhebung

(Im obigen Screenshot wird der Basiszeiger in Olivgrün dargestellt)

  • Aktuelle Anweisung - rot
  • Breakpoint - blau
  • Speicher oder Register geändert - oranger Text
  • Stack-Zeiger - hellgrün
  • Basiszeiger - hellblau
  • Vorhergesagte Rücksprungadresse - rot
  • Befehlszeiger (sofern zutreffend) - leuchtend rot

Dokumentation

Code

Gelegentlich kann es notwendig sein, den Quellcode zu konsultieren, um das genaue Verhalten der Schnittstellen zu verstehen. Dementsprechend sind viele Designentscheidungen und Implementierungsdetails in Inline-Kommentaren erläutert.

Wiki

Das Wiki ist noch relativ spärlich, aber Inhalte wie die Liste der Stolpersteine und das Entwicklungsprotokoll können bei der Fehlersuche nützlich sein.

Beispiele

Ziehen Sie in Betracht, das binja_sensei-Repository zu konsultieren, um Beispiele zu finden, die Ihnen den Einstieg erleichtern.

Aktuelle Einschränkungen

  • Derzeit werden nur x86(64)-Linux-Binärdateien unterstützt. Selbst mit dieser Einschränkung gibt es möglicherweise Binärdateien, die sich so verhalten, dass binja_dynamics oder Voltron sie nicht verarbeiten können. Wir ermutigen Sie, bei auftretenden Fehlern einen Pull Request oder ein Issue einzureichen.
  • binja_dynamics wurde nur unter Ubuntu 16.04 getestet. Während Windows-Unterstützung aufgrund der Funktionsweise der Terminalumleitung wahrscheinlich nicht in Frage kommt, ist es möglicherweise möglich, auf anderen Unix-Plattformen eine vernünftige Funktionalität zu erreichen. Auch hier sind Pull Requests und Issues willkommen.
  • Da Binary Ninja und binjatron auf Python 2.7 basieren, muss die mit Ubuntu gelieferte GDB-Version durch eine Version ersetzt werden, die Python 2.7 unterstützt, bevor binja_dynamics installiert wird. Es hat sich gezeigt, dass das Installationsskript dies auf einer frischen Ubuntu-16.04-VM erfolgreich durchführt, aber GDB-Updates, Ubuntu-Updates oder vorinstallierte Komponenten (wenn Sie nicht auf einer frischen VM installieren) können dies beeinträchtigen.
  • Aus Leistungsgründen zeigt die Speicheransicht nur die Inhalte der Stack- und BSS-Segmente an.
  • Weitere Informationen finden Sie unter Issues

Drittanbieter-Inhalte

  • binja_dynamics verwendet einen Fork von qthexedit, der unter GPLv2 lizenziert ist.
  • Die für Symbole verwendeten Bilder sind unter Creative Commons lizenziert. Informationen zu den Quellen finden Sie in attribution.txt.

Anforderungen

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

Abgesehen von Binary Ninja übernimmt install.sh die Verwaltung dieser Abhängigkeiten für Sie.

Tool herunterladen