Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
sleigh — CMake-Build von Ghidras SLEIGH-Prozessorspezifikationsbibliothek, die eigenständige Disassemblierungs- und P-Code-Lifting-Engines für Reverse-Engineering-Tools bereitstellt. | Kitploit
Tools/GitHubGitHub/lifting-bits/sleigh
Statische AnalyseCode-AnalyseDynamische Code-Analyse (DAST)Reverse EngineeringScripting & AutomatisierungDienstprogramme & FrameworksBinäranalyse
GitHublifting-bits/sleigh

sleigh

CMake-Build von Ghidras SLEIGH-Prozessorspezifikationsbibliothek, die eigenständige Disassemblierungs- und P-Code-Lifting-Engines für Reverse-Engineering-Tools bereitstellt.

Repository anzeigen
191268vor 3 TagenVon Kitploit geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Sleigh-Bibliothek

Sleigh ist eine Sprache zur Beschreibung der Semantik von Befehlssätzen universeller Mikroprozessoren, mit ausreichendem Detaillierungsgrad, um das Reverse Engineering von für diese Architekturen kompilierter Software zu erleichtern. Sie ist Teil der Ghidra Reverse Engineering Platform und bildet die Grundlage für zwei ihrer Hauptkomponenten: ihre Disassemblierungs- und Dekompilierungs-Engines.

Dieses Repository stellt ein CMake-basiertes Build-Projekt für Sleigh bereit, damit es als eigenständige Bibliothek gebaut und paketiert und in anderen Projekten als Ghidra wiederverwendet werden kann.

Unterstützte Plattformen

NameUnterstützung
LinuxJa
macOSJa
WindowsJa

Abhängigkeiten und Voraussetzungen

Erforderlich

NameVersionUnter Linux zu installierendes PaketUnter macOS mit Homebrew zu installierendes Paket
(HEAD-Builds) zlibAktuellzlib1g-devzlib
GitNeuestegitN/A
CMake3.18+cmakecmake

HINWEIS: Dieses CMake-Projekt lädt den Ghidra-Quellcode während der Konfiguration aus dem Internet herunter. Weitere Details finden Sie im Abschnitt mit Hinweisen zum Ghidra-Quellcode.

Optional

Zum Erstellen der Dokumentation:

NameVersionUnter Linux zu installierendes PaketUnter macOS mit Homebrew zu installierendes Paket
DoxygenNeuestedoxygendoxygen
GraphVizNeuestegraphvizgraphviz

Die Sleigh-Bibliothek bauen und installieren

# Clone this repository (CMake project for sleigh)
git clone https://github.com/lifting-bits/sleigh.git
cd sleigh

# Configure CMake
cmake -B build -S .

# Build Sleigh
cmake --build build --parallel 8

# Install Sleigh
cmake --install build --prefix ./install

Hinweis zum Ghidra-Quellcode

Der Ghidra-Quellcode ist nicht tatsächlich in diesem Git-Repository enthalten, und standardmäßig lädt CMake automatisch eine stabile Version aus dem Internet für Sie herunter.

Weitere Informationen dazu, wie Sie anpassen können, welcher Ghidra-Quellcode-Commit verwendet/kompiliert wird, einschließlich der Angabe Ihrer eigenen lokalen Kopie des Ghidra-Quellcodes, finden Sie in src/README.md.

Paketierung

Die CMake-Konfiguration unterstützt auch das Erstellen von Paketen für Sleigh.

Zum Beispiel:

# Package Sleigh
cmake --build build --target package

API-Nutzung

Ein Beispielprogramm namens sleigh-lift wurde beigefügt, um die Verwendung der Sleigh-API zu demonstrieren. Es nimmt eine hexadezimale Byte-Zeichenkette entgegen und kann diese disassemblieren oder in P-Code überführen. Das Programm kann wie folgt aufgerufen werden, wobei das Argument action entweder disassemble oder pcode sein muss:

sleigh-lift [action] [sla_file] [bytes] [-a address] [-p root_sla_dir] [-s pspec_file]

Um beispielsweise die folgende Byte-Zeichenkette zu disassemblieren:

$ sleigh-lift disassemble x86-64.sla 4881ecc00f0000
0x00000000: SUB RSP,0xfc0

Und um sie in P-Code zu überführen:

$ sleigh-lift pcode x86-64.sla 4881ecc00f0000
(register,0x200,1) = INT_LESS (register,0x20,8) (const,0xfc0,8)
(register,0x20b,1) = INT_SBORROW (register,0x20,8) (const,0xfc0,8)
(register,0x20,8) = INT_SUB (register,0x20,8) (const,0xfc0,8)
(register,0x207,1) = INT_SLESS (register,0x20,8) (const,0x0,8)
(register,0x206,1) = INT_EQUAL (register,0x20,8) (const,0x0,8)
(unique,0x12c00,8) = INT_AND (register,0x20,8) (const,0xff,8)
(unique,0x12c80,1) = POPCOUNT (unique,0x12c00,8)
(unique,0x12d00,1) = INT_AND (unique,0x12c80,1) (const,0x1,1)
(register,0x202,1) = INT_EQUAL (unique,0x12d00,1) (const,0x0,1)

Wenn Sie sleigh-lift nicht bauen möchten, müssen Sie die CMake-Variable sleigh_BUILD_EXTRATOOLS während der CMake-Konfiguration auf OFF setzen.

Hilfsprogramme

Dieses Repository enthält ein Hilfsprogramm, das nicht Teil von Sleigh/Ghidra ist und das Sie im Verzeichnis support finden. Es hat die folgende Signatur und kann dem Benutzer helfen, den Speicherort einer bestimmten Spezifikationsdatei auf dem System zu finden:

std::optional<std::filesystem::path>
FindSpecFile(std::string_view file_name,
             const std::vector<std::filesystem::path> &search_paths =
                 gDefaultSearchPaths);

Die Funktion sleigh::FindSpecFile durchsucht die vom Benutzer über das Argument search_paths angegebenen Pfade nach einer Spezifikationsdatei mit dem Namen file_name. Das Standardargument für search_paths ist sleigh::gDefaultSearchPaths, das die während der CMake-Konfiguration generierten Installations-/Build-Verzeichnisse sowie eine Reihe gängiger Installationsorte enthält.

Wenn Sie die Hilfsprogramme nicht bauen möchten, müssen Sie die CMake-Variable sleigh_BUILD_SUPPORT während der CMake-Konfiguration auf OFF setzen.

Integration als Abhängigkeit

Eine Installation von Sleigh stellt eine CMake-Schnittstelle bereit, die Sie beim Bauen Ihres Projekts verwenden können.

Ein Beispiel für die Verwendung der CMake-Paketkonfigurationsdatei finden Sie im find_package-Beispiel.

Wir stellen außerdem eine CMake-Hilfsfunktion sleigh_compile bereit, um Ihre .slaspec-Dateien mit einem Sleigh-Compiler zu kompilieren.

Ein komplexeres CMake-Beispiel mit dem Kompilieren von Sleigh-Spezifikationen finden Sie im Verzeichnis example, das den vom Upstream bereitgestellten Sleigh-Beispielquellcode verwendet.

Schließlich können Sie die installierten kompilierten Sleigh-Dateien über die CMake-Variable sleigh_INSTALL_SPECDIR lokalisieren, die ein absoluter Pfad zum Stammverzeichnis für die kompilierten Sleigh-Dateien ist – Sie sollten dies manuell überprüfen, um zu wissen, was Sie erwarten können.

Es wird auch empfohlen, die CMake-Konfigurationsdatei und die specfiles CMake-Datei zu konsultieren, um mehr über die verfügbar gemachten CMake-Variablen und -Module zu erfahren.

Lizenz

Siehe die LICENSE-Datei.

Tool herunterladen