Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
sleigh — Compilación CMake de la biblioteca de especificaciones del procesador SLEIGH de Ghidra, que proporciona motores independientes de desensamblado y elevación de p-code para herramientas de ingeniería inversa. | Kitploit
Herramientas/GitHubGitHub/lifting-bits/sleigh
Análisis EstáticoAnálisis de CódigoAnálisis Dinámico de Código (DAST)Ingeniería InversaScripting y AutomatizaciónUtilidades y FrameworksAnálisis de Binarios
GitHublifting-bits/sleigh

sleigh

Compilación CMake de la biblioteca de especificaciones del procesador SLEIGH de Ghidra, que proporciona motores independientes de desensamblado y elevación de p-code para herramientas de ingeniería inversa.

Ver Repositorio
191268hace 3 díasRevisado por Kitploit
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Sleigh Library

Sleigh es un lenguaje utilizado para describir la semántica de los conjuntos de instrucciones de microprocesadores de propósito general, con suficiente detalle para facilitar la ingeniería inversa de software compilado para estas arquitecturas. Forma parte de la plataforma de ingeniería inversa Ghidra y sustenta dos de sus componentes principales: sus motores de desensamblado y descompilación.

Este repositorio proporciona un proyecto de compilación basado en CMake para Sleigh, de modo que pueda compilarse y empaquetarse como una biblioteca independiente y reutilizarse en proyectos distintos de Ghidra.

Plataformas compatibles

NombreSoporte
LinuxSí
macOSSí
WindowsSí

Dependencias y requisitos previos

Requeridas

NombreVersiónPaquete de Linux a instalarPaquete de Homebrew de macOS a instalar
(compilaciones HEAD) zlibRecientezlib1g-devzlib
GitÚltimagitN/A
CMake3.18+cmakecmake

NOTA: Este proyecto de CMake descarga el código fuente de Ghidra desde internet durante la configuración. Consulte la nota sobre la sección del código fuente de Ghidra para obtener más detalles.

Opcionales

Para compilar la documentación:

NombreVersiónPaquete de Linux a instalarPaquete de Homebrew de macOS a instalar
DoxygenÚltimadoxygendoxygen
GraphVizÚltimagraphvizgraphviz

Compilar e instalar la biblioteca 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 sobre el código fuente de Ghidra

El código fuente de Ghidra no está realmente incluido en este repositorio git y, de forma predeterminada, CMake descargará automáticamente una versión estable desde internet por usted.

Consulte src/README.md para obtener más información sobre cómo personalizar qué commit del código fuente de Ghidra se utilizará/compilará, incluida la posibilidad de especificar su propia copia local del código fuente de Ghidra.

Empaquetado

La configuración de CMake también admite la compilación de paquetes para Sleigh.

Por ejemplo:

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

Uso de la API

Se ha incluido un programa de ejemplo llamado sleigh-lift para demostrar cómo usar la API de Sleigh. Toma una cadena hexadecimal de bytes y puede desensamblarla o elevarla a p-code. El programa se puede invocar de la siguiente manera, donde el argumento action debe ser disassemble o pcode:

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

Por ejemplo, para desensamblar la siguiente cadena de bytes:

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

Y para elevarla a 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)

Si no desea compilar sleigh-lift, debe establecer la opción de variable de CMake sleigh_BUILD_EXTRATOOLS en OFF durante la configuración de CMake.

Helpers

Este repositorio contiene un helper que no forma parte de Sleigh/Ghidra, el cual puede encontrar en el directorio support. Tiene la siguiente firma y puede ayudar al usuario a encontrar la ubicación de un archivo de especificación dado en el sistema:

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

La función sleigh::FindSpecFile buscará en las rutas proporcionadas por el usuario a través del argumento search_paths un archivo de especificación con el nombre file_name. El argumento predeterminado para search_paths es sleigh::gDefaultSearchPaths, que contiene los directorios de instalación/compilación generados durante la configuración de CMake y un conjunto de ubicaciones de instalación comunes.

Si no desea compilar los helpers, debe establecer la opción de variable de CMake sleigh_BUILD_SUPPORT en OFF durante la configuración de CMake.

Integración como dependencia

Una instalación de Sleigh proporciona una interfaz de CMake que puede usar al compilar su proyecto.

Puede encontrar un ejemplo de cómo usar el archivo de configuración del paquete de CMake en el ejemplo de find_package.

También proporcionamos una función auxiliar de CMake sleigh_compile para compilar sus archivos .slaspec usando un compilador de sleigh.

Puede encontrar un ejemplo de CMake más complejo con la compilación de especificaciones de Sleigh en el directorio example, que utiliza el código fuente de ejemplo de sleigh proporcionado por el upstream.

Por último, puede localizar los archivos sleigh compilados instalados a través de la variable de CMake sleigh_INSTALL_SPECDIR, que es una ruta absoluta al directorio raíz de los archivos sleigh compilados---debería inspeccionarla manualmente para saber qué esperar.

También se sugiere consultar el archivo de configuración de CMake y el archivo de CMake specfiles para obtener más información sobre las variables y módulos de CMake expuestos.

Licencia

Consulte el archivo LICENSE.

Descargar herramienta