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
e9patch — Ein leistungsstarkes statisches Tool zur Binärumschreibung | Kitploit
Tools/GitHubGitHub/gjduck/e9patch
Reverse EngineeringFuzzingBinäranalyseBinary-Exploitation
GitHubgjduck/e9patch

e9patch

Ein leistungsstarkes statisches Tool zur Binärumschreibung

Repository anzeigen
1.1k70vor 1 MonatVon 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

  E9Patch - Ein leistungsstarker statischer Binär-Rewriter

E9Patch ist ein leistungsstarkes Tool zum statischen Binär-Rewriting für x86_64 Linux-ELF-Binärdateien. E9Patch ist:

  • Skalierbar: E9Patch kann große/komplexe Binärdateien zuverlässig umschreiben, darunter Webbrowser (>100 MB Größe).
  • Kompatibel: Die umgeschriebene Binärdatei ist ein Drop-in-Ersatz für das Original, ohne zusätzliche Abhängigkeiten.
  • Schnell: E9Patch kann die meisten Binärdateien in wenigen Sekunden umschreiben.
  • Niedriger Overhead: sowohl in der Leistung als auch im Speicher.
  • Programmierbar: E9Patch ist so konzipiert, dass es leicht in andere Projekte integriert werden kann. Weitere Informationen finden Sie im E9Tool-Benutzerhandbuch und im E9Patch-Programmierhandbuch.

Statisches Binär-Rewriting nimmt eine Eingabe-Binärdatei (ELF-Executable oder Shared Object) und erzeugt eine Ausgabe-Binärdatei, auf die ein Patch/eine Modifikation angewendet wurde. Die gepatchte Binärdatei kann als Drop-in-Ersatz für das Original verwendet werden.

Release

Vorgefertigte E9Patch-Binärdateien können hier heruntergeladen werden:

  • https://github.com/GJDuck/e9patch/releases

Build

Das Erstellen von E9Patch ist sehr einfach: Führen Sie einfach das Skript build.sh aus.

Dies erstellt automatisch zwei Werkzeuge:

  1. e9patch: das Backend zum Binär-Rewriting; und
  2. e9tool: ein Frontend für lineare Disassemblierung für E9Patch.

Beispielverwendung

E9Patch ist über das E9Tool-Frontend nutzbar.

Um beispielsweise eine Anweisungsdruck-Instrumentierung zu allen xor-Anweisungen in xterm hinzuzufügen, können wir den folgenden Befehl verwenden:

root@kitploit:~
    $ ./e9tool -M 'asm=/xor.*/' -P print xterm

Dies erzeugt eine modifizierte Version von xterm, die in die Datei a.out geschrieben wird.

Das modifizierte xterm kann wie gewohnt ausgeführt werden, gibt aber die Assembler-Zeichenkette jeder ausgeführten xor-Anweisung auf stderr aus:

root@kitploit:~
    $ ./a.out
    xorl %ebp, %ebp
    xorl %ebx, %ebx
    xorl %eax, %eax
    xorl %edx, %edx
    xorl %edi, %edi
    ...

Eine vollständige Liste der unterstützten Optionen und Modi finden Sie unter:

root@kitploit:~
    $ ./e9tool --help

Projekte

Einige andere Projekte, die E9Patch verwenden, sind:

  • RedFat: Ein Binärhärtungssystem basierend auf Low-Fat-Pointern.
  • E9AFL: Automatisches Einfügen von AFL-Instrumentierung in Binärdateien.
  • E9Syscall: Systemaufruf-Interception mittels statischem Binär-Rewriting von libc.so.
  • Hopper: Automatische Generierung von Fuzzing-Testfällen für Bibliotheken.
  • EnvFuzz: Fuzzing der Programmumgebung.
  • RFF: Greybox-Fuzzing für Concurrency-Tests.
  • AutoTrace: Einfaches Tracing auf Quellzeilenebene.

Dokumentation

E9Patch ist ein Low-Level-Tool, das für die Integration in andere Projekte konzipiert ist. Weitere Informationen finden Sie in der folgenden Dokumentation:

  • E9Patch-Programmierhandbuch
  • E9Tool-Benutzerhandbuch

Fehler

Fehler können hier gemeldet werden:

  • https://github.com/GJDuck/e9patch/issues

Versionen

Die aktuelle Version von E9Patch ist im Vergleich zum ursprünglichen Prototypen, der im PLDI'2020-Papier evaluiert wurde, erheblich verbessert. Insbesondere:

  • Die aktuelle Version implementiert mehrere neue Optimierungen und kann deutlich schnellere Binärdateien erzeugen, manchmal um den Faktor 2x.
  • Um die neuen Optimierungen zu aktivieren, übergeben Sie die Option -O2 an E9Tool.
  • Die Implementierung der Speicherplatzoptimierung Physical Page Grouping wurde ebenfalls verbessert.
  • Die Patch-Abdeckung wurde ebenfalls leicht verbessert.
  • Viele neue Funktionen wurden implementiert (siehe Dokumentation).

Lizenz

Diese Software wurde unter der GNU Public License (GPL) Version 3 veröffentlicht.

Einige spezifische Dateien werden unter der MIT-Lizenz veröffentlicht (siehe Dateipräambel).

Publikation

Weitere Informationen finden Sie in unserem PLDI'2020-Papier:

  • Gregory J. Duck, Xiang Gao, Abhik Roychoudhury, Binary Rewriting without Control Flow Recovery, Programming Language Design and Implementation (PLDI), 2020.
  • PLDI'2020-Präsentation auf Youtube

Bitte zitieren Sie unser Papier wie folgt:

root@kitploit:~
    @inproceedings{e9patch,
        author = {Duck, Gregory J. and Gao, Xiang and Roychoudhury, Abhik},
        title = {Binary rewriting without control flow recovery},
        year = {2020},
        publisher = {Association for Computing Machinery},
        url = {https://doi.org/10.1145/3385412.3385972},
        doi = {10.1145/3385412.3385972},
        booktitle = {Programming Language Design and Implementation (PLDI)}
    }

Danksagungen

Diese Arbeit wurde teilweise vom National Satellite of Excellence in Trustworthy Software Systems unterstützt, finanziert von der National Research Foundation (NRF) Singapur im Rahmen des National Cybersecurity R&D (NCR) Programms.

Tool herunterladen