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
ddisasm — Datalog-basierter Disassembler, der aus ELF/PE-Binärdateien reassemblierbare Assembly erzeugt, mit GTIRB-Zwischendarstellung für Binäranalyse und -umschreibung auf x86-, ARM- und MIPS-Architekturen. | Kitploit
Tools/GitHubGitHub/grammatech/ddisasm
Statische AnalyseReverse EngineeringDebuggerBinäranalyseFirmware-Analyse
GitHubgrammatech/ddisasm

ddisasm

Datalog-basierter Disassembler, der aus ELF/PE-Binärdateien reassemblierbare Assembly erzeugt, mit GTIRB-Zwischendarstellung für Binäranalyse und -umschreibung auf x86-, ARM- und MIPS-Architekturen.

Repository anzeigen
85368vor 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
Webseite

Datalog Disassembly

DDisasm ist ein schneller Disassembler, der genau genug ist, um den resultierenden Assemblercode reassemblieren zu können. DDisasm ist mit der deklarativen Logikprogrammiersprache Datalog (souffle) implementiert, um Disassemblierungsregeln und Heuristiken zu kompilieren. Der Disassembler parst zunächst ELF-/PE-Dateiinformationen und dekodiert eine Obermenge möglicher Instruktionen, um einen initialen Satz von Datalog-Fakten zu erstellen. Diese Fakten werden analysiert, um Code-Standorte, Symbolisierung und Funktionsgrenzen zu identifizieren. Die Ergebnisse dieser Analyse – ein verfeinerter Satz von Datalog-Fakten – werden dann in die Zwischendarstellung GTIRB für Binäranalyse und Reverse Engineering übersetzt. Der GTIRB Pretty Printer kann dann verwendet werden, um das GTIRB in reassemblierbaren Assemblercode zu pretty-printen.

Binary-Unterstützung

Binärformate:

  • ELF (Linux)
  • PE (Windows)

Befehlssatzarchitekturen (ISAs):

  • x86_32
  • x86_64
  • ARM32
  • ARM64
  • MIPS32

Erste Schritte

Sie können eine vorgefertigte Version von Ddisasm mit Docker ausführen:

root@kitploit:~
docker pull grammatech/ddisasm:latest

Ddisasm kann verwendet werden, um eine Binärdatei in die GTIRB-Darstellung zu disassemblieren. Wir können es mit einem der im Repository enthaltenen Beispiele versuchen.

Starten Sie zunächst den Ddisasm-Docker-Container:

root@kitploit:~
docker run -v $PWD/examples:/examples -it grammatech/ddisasm:latest

Erstellen wir innerhalb des Docker-Containers eines der Beispiele:

root@kitploit:~
apt update && apt install gcc -y
cd /examples/ex1
gcc ex.c -o ex

Nun können wir mit der Disassemblierung der Binärdatei fortfahren:

root@kitploit:~
ddisasm ex --ir ex.gtirb

Sobald Sie die GTIRB-Darstellung haben, können Sie programmatische Änderungen an der Binärdatei vornehmen, indem Sie GTIRB oder gtirb-rewriting verwenden.

Anschließend können Sie gtirb-pprinter (im Docker-Image enthalten) verwenden, um eine neue Version der Binärdatei zu erstellen:

root@kitploit:~
gtirb-pprinter ex.gtirb -b ex_rewritten

Intern erzeugt gtirb-pprinter eine Assemblerdatei und ruft den Compiler/Assembler (z.B. gcc) auf, um eine neue Binärdatei zu erstellen. gtirb-pprinter kümmert sich um die Generierung aller notwendigen Befehlszeilenoptionen zur Erstellung einer neuen Binärdatei, einschließlich Kompilierungsoptionen, Bibliotheksabhängigkeiten oder Version-Linker-Skripten.

Sie können gtirb-pprinter auch verwenden, um eine Assemblerauflistung zur manuellen Änderung zu erstellen:

root@kitploit:~
gtirb-pprinter ex.gtirb --asm ex.s

Diese Assemblerauflistung kann dann manuell neu kompiliert werden:

root@kitploit:~
gcc -nostartfiles ex.s -o ex_rewritten

Bitte werfen Sie einen Blick in unsere Dokumentation für weitere Informationen.

Dokumentation

Beitragen

Siehe CONTRIBUTING.md

Externe Mitwirkende

  • Programming Language Group, The University of Sydney: Erstunterstützung für ARM64.
  • GitHub-Benutzer gogo2464: Dokumentationsüberarbeitung.

Zitieren

  1. Datalog Disassembly
root@kitploit:~
@inproceedings {flores-montoya2020,
    author = {Antonio Flores-Montoya and Eric Schulte},
    title = {Datalog Disassembly},
    booktitle = {29th USENIX Security Symposium (USENIX Security 20)},
    year = {2020},
    isbn = {978-1-939133-17-5},
    pages = {1075--1092},
    url = {https://www.usenix.org/conference/usenixsecurity20/presentation/flores-montoya},
    publisher = {USENIX Association},
    month = aug,
}
  1. GTIRB
root@kitploit:~
@misc{schulte2020gtirb,
    title={GTIRB: Intermediate Representation for Binaries},
    author={Eric Schulte and Jonathan Dorn and Antonio Flores-Montoya and Aaron Ballman and Tom Johnson},
    year={2020},
    eprint={1907.02859},
    archivePrefix={arXiv},
    primaryClass={cs.PL}
}
  1. Ddisasm WIS
root@kitploit:~
@INPROCEEDINGS{11023516,
  author={Flores-Montoya, Antonio and Lim, Junghee and Seitz, Adam and Sood, Akshay and Raff, Edward and Holt, James},
  booktitle={2025 IEEE Symposium on Security and Privacy (SP)},
  title={Disassembly as Weighted Interval Scheduling with Learned Weights},
  year={2025},
  volume={},
  number={},
  pages={3033-3050},
  keywords={Measurement;Privacy;Accuracy;Heuristic algorithms;Reverse engineering;Binary codes;Benchmark testing;Scheduling;Inference algorithms;Security;disassembly;reverse engineering;learning;binary analysis},
  doi={10.1109/SP61157.2025.00192}}
Tool herunterladen