
Ein Plugin, das Ressourcen für Anfänger bereitstellt, um Reverse Engineering mit Binary Ninja zu lernen. Es installiert automatisch mehrere andere Plugins und bietet Beispiele, die die Funktionen dieser Plugins demonstrieren.
Bildungswerkzeuge für Binary Ninja
Dieses Plugin bietet Ressourcen für Einsteiger, um Reverse Engineering mit Binary Ninja zu lernen. Es installiert automatisch mehrere andere Plugins und stellt Beispiele bereit, die die Funktionen dieser Plugins vorführen.
Dieses Projekt ist ein Produkt des Sommerpraktikumsprogramms 2017 der NCC Group. Weitere Aktualisierungen werden unter https://github.com/ehennenfent/binja_sensei verfolgt. Die NCC Group ist nicht für weitere Änderungen am Repository nach dem 18. August 2017 verantwortlich.
Im Sinne der Zukunftssicherheit installiert Binja Sensei Plugins über die noch unvollständige Plugin-Manager-API. Da der Plugin-Manager derzeit keine grafische Oberfläche besitzt, muss die Installation durch Ausführen des folgenden Ausschnitts in der Binary-Ninja-Skriptkonsole (aufrufbar über Strg+`) erfolgen.
manager = RepositoryManager()
manager.enable_plugin('binja_sensei', install=True)
Hinweis: Je nachdem, wann du Binja installiert hast, musst du möglicherweise manager.check_for_updates() ausführen und Binja neu starten, damit dieses Plugin erscheint. Ich empfehle dringend, die Installation auf einer frischen VM durchzuführen.
Falls du dies vor dem 31. August 2017 ausführst, musst du die Entwicklungsversion von Binary Ninja verwenden, da die Installation von Abhängigkeiten auf b0778fc und 326253a basiert.
Als Nächstes startest du Binary Ninja neu. Beim Laden aktualisiert Sensei alle gebündelten Plugins auf die neueste Version und installiert alle Python-Abhängigkeiten für jedes Plugin. Es führt nicht automatisch Installationsskripte aus. Wenn du also Ubuntu verwendest und binja_dynamics einrichten möchtest, musst du zu ~/.binaryninja/repositories/default/plugins/binja_dynamics navigieren und ./install.sh ausführen.
Falls eine der Plugin-Installationen fehlschlägt, hast du bei einer manuellen Installation möglicherweise mehr Erfolg. Bis zur Lösung von Issue #753 funktionieren einige Plugins, die auf absoluten Dateipfaden basieren, möglicherweise nur, wenn sie manuell installiert werden. Für die manuelle Installation kopierst du die relevanten Repository-Links unten und klonst sie in dein Plugins-Verzeichnis.
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
Bitte beachte, dass die gebündelten Werkzeuge Eigentum ihrer jeweiligen Autoren bleiben. Dieses Plugin wird zwar unter einer MIT-Lizenz angeboten, diese Lizenz erstreckt sich jedoch nicht auf die unten aufgeführten Plugins.
Um mögliche Anwendungsfälle für diese Plugins zu demonstrieren, sind Lösungen für die fünf Overflow-Herausforderungen von PicoCTF 2013 enthalten. Bitte beachte, dass seit der Erstellung der Writeups geringfügige Änderungen in Bezug auf Funktionalität, Farbschema und Fehlerkorrekturen vorgenommen worden sein können.
Annotator verwendet einen virtuellen Stack, um Aufrufe von libc-Funktionen mit Argument-Prototypen zu kommentieren.

Dieses Plugin zeigt einen Spickzettel mit den internen Informationen von Binary Ninja über die Architektur an.

Dieses Plugin fügt ein Qt-Frontend zu Binjatron hinzu, einschließlich Hervorhebungen, die Einsteigern helfen sollen, wichtige Speicherstellen zu erkennen.

Fügt ein Popup-Fenster hinzu, das in einfachem Englisch erklärt, was eine Assembler-Anweisung bewirkt.

Kommentiert Systemaufrufe mit Argumenten.
