Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sleigh — Build CMake della libreria delle specifiche del processore SLEIGH di Ghidra, che fornisce motori standalone di disassemblaggio e p-code lifting per strumenti di reverse engineering. | Kitploit
Strumenti/GitHubGitHub/lifting-bits/sleigh
Analisi StaticaAnalisi del CodiceAnalisi Dinamica del Codice (DAST)Reverse EngineeringScripting e AutomazioneUtilità e FrameworkAnalisi di Binari
GitHublifting-bits/sleigh

sleigh

Build CMake della libreria delle specifiche del processore SLEIGH di Ghidra, che fornisce motori standalone di disassemblaggio e p-code lifting per strumenti di reverse engineering.

Vedi Repository
1912683 giorni faRevisionato da Kitploit
Sito web

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Sleigh Library

Sleigh è un linguaggio utilizzato per descrivere la semantica dei set di istruzioni dei microprocessori general-purpose, con un livello di dettaglio sufficiente a facilitare il reverse engineering del software compilato per queste architetture. Fa parte della piattaforma di reverse engineering Ghidra e costituisce la base di due dei suoi componenti principali: i motori di disassemblaggio e decompilazione.

Questo repository fornisce un progetto di build basato su CMake per Sleigh, in modo che possa essere compilato e impacchettato come libreria standalone e riutilizzato in progetti diversi da Ghidra.

Piattaforme supportate

NomeSupporto
LinuxSì
macOSSì
WindowsSì

Dipendenze e prerequisiti

Richiesti

NomeVersionePacchetto Linux da installarePacchetto Homebrew macOS da installare
(build HEAD) zlibRecentezlib1g-devzlib
GitUltimagitN/A
CMake3.18+cmakecmake

NOTA: questo progetto CMake scarica il codice sorgente di Ghidra da internet durante la configurazione. Consulta la nota sulla sezione del codice sorgente di Ghidra per maggiori dettagli.

Opzionali

Per la generazione della documentazione:

NomeVersionePacchetto Linux da installarePacchetto Homebrew macOS da installare
DoxygenUltimadoxygendoxygen
GraphVizUltimagraphvizgraphviz

Compilare e installare la libreria Sleigh

# 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

Nota sul codice sorgente di Ghidra

Il codice sorgente di Ghidra non è effettivamente incluso in questo repository git e, per impostazione predefinita, CMake scaricherà automaticamente una versione stabile da internet per te.

Consulta src/README.md per maggiori informazioni su come personalizzare quale commit del codice sorgente di Ghidra verrà utilizzato/compilato, inclusa la possibilità di specificare una tua copia locale del sorgente di Ghidra.

Packaging

La configurazione CMake supporta anche la creazione di pacchetti per Sleigh.

Ad esempio:

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

Utilizzo dell'API

È stato incluso un programma di esempio chiamato sleigh-lift per dimostrare come utilizzare l'API di Sleigh. Accetta una stringa esadecimale di byte e può disassemblarla o convertirla in p-code. Il programma può essere invocato come segue, dove l'argomento action deve essere disassemble o pcode:

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

Ad esempio, per disassemblare la seguente stringa di byte:

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

E per convertirla in p-code:

$ 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)

Se non desideri compilare sleigh-lift, devi impostare l'opzione della variabile CMake sleigh_BUILD_EXTRATOOLS su OFF durante la configurazione di CMake.

Helper

Questo repository contiene un helper non facente parte di Sleigh/Ghidra, che puoi trovare nella directory support. Ha la seguente firma e può aiutare l'utente a trovare la posizione di un determinato file di specifica sul sistema:

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

La funzione sleigh::FindSpecFile cercherà nei percorsi forniti dall'utente tramite l'argomento search_paths un file di specifica con il nome file_name. L'argomento predefinito per search_paths è sleigh::gDefaultSearchPaths, che contiene le directory di installazione/build generate durante la configurazione di CMake e un insieme di posizioni di installazione comuni.

Se non desideri compilare gli helper, devi impostare l'opzione della variabile CMake sleigh_BUILD_SUPPORT su OFF durante la configurazione di CMake.

Integrazione come dipendenza

Un'installazione di Sleigh fornisce un'interfaccia CMake che puoi utilizzare durante la compilazione del tuo progetto.

Puoi trovare un esempio di come utilizzare il file di configurazione del pacchetto CMake nell'esempio find_package.

Forniamo inoltre una funzione helper CMake sleigh_compile per compilare i tuoi file .slaspec utilizzando un compilatore sleigh.

Puoi trovare un esempio CMake più complesso con la compilazione delle specifiche Sleigh nella directory example, che utilizza il codice sorgente di esempio sleigh fornito upstream.

Infine, puoi individuare i file sleigh compilati installati tramite la variabile CMake sleigh_INSTALL_SPECDIR, che è un percorso assoluto alla directory radice dei file sleigh compilati---dovresti ispezionarla manualmente per sapere cosa aspettarti.

Si consiglia inoltre di consultare il file di configurazione CMake e il file CMake specfiles per saperne di più sulle variabili e sui moduli CMake esposti.

Licenza

Consulta il file LICENSE.

Scarica lo strumento