Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
sleigh — Compilação CMake da biblioteca de especificação do processador SLEIGH do Ghidra, fornecendo mecanismos autónomos de desmontagem e elevação de p-code para ferramentas de engenharia reversa. | Kitploit
Ferramentas/GitHubGitHub/lifting-bits/sleigh
Análise EstáticaAnálise de CódigoAnálise Dinâmica de Código (DAST)Engenharia ReversaScripting e AutomaçãoUtilitários e FrameworksAnálise de Binários
GitHublifting-bits/sleigh

sleigh

Compilação CMake da biblioteca de especificação do processador SLEIGH do Ghidra, fornecendo mecanismos autónomos de desmontagem e elevação de p-code para ferramentas de engenharia reversa.

Ver Repositório
191268há 3 diasRevisado pelo Kitploit
Site

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Sleigh Library

Sleigh é uma linguagem usada para descrever a semântica dos conjuntos de instruções de microprocessadores de uso geral, com detalhes suficientes para facilitar a engenharia reversa de software compilado para essas arquiteturas. Faz parte da plataforma de engenharia reversa Ghidra e sustenta dois de seus principais componentes: seus motores de desmontagem e descompilação.

Este repositório fornece um projeto de compilação baseado em CMake para o Sleigh, para que ele possa ser compilado e empacotado como uma biblioteca independente e reutilizado em projetos além do Ghidra.

Plataformas Suportadas

NomeSuporte
LinuxSim
macOSSim
WindowsSim

Dependências e Pré-requisitos

Obrigatórias

NomeVersãoPacote Linux a InstalarPacote macOS Homebrew a Instalar
(builds HEAD) zlibRecentezlib1g-devzlib
GitMais recentegitN/A
CMake3.18+cmakecmake

NOTA: Este projeto CMake baixa o código-fonte do Ghidra da internet durante a configuração. Consulte a nota sobre a seção de código-fonte do Ghidra para mais detalhes.

Opcionais

Para compilar a documentação:

NomeVersãoPacote Linux a InstalarPacote macOS Homebrew a Instalar
DoxygenMais recentedoxygendoxygen
GraphVizMais recentegraphvizgraphviz

Compilar e Instalar a 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 o código-fonte do Ghidra

O código-fonte do Ghidra não está realmente incluído neste repositório git e, por padrão, o CMake baixará automaticamente uma versão estável da internet para você.

Consulte src/README.md para mais informações sobre como personalizar qual commit do código-fonte do Ghidra será usado/compilado, incluindo a especificação de sua própria cópia local do código-fonte do Ghidra.

Empacotamento

A configuração do CMake também suporta a criação de pacotes para o Sleigh.

Por exemplo:

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

Uso da API

Um programa de exemplo chamado sleigh-lift foi incluído para demonstrar como usar a API do Sleigh. Ele recebe uma string hexadecimal de bytes e pode desmontá-la ou elevá-la para p-code. O programa pode ser invocado da seguinte forma, onde o argumento action deve ser disassemble ou pcode:

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

Por exemplo, para desmontar a seguinte string de bytes:

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

E para elevá-la para 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 você não quiser compilar o sleigh-lift, deve definir a opção da variável CMake sleigh_BUILD_EXTRATOOLS como OFF durante a configuração do CMake.

Auxiliares

Este repositório contém um auxiliar que não faz parte do Sleigh/Ghidra, que você pode encontrar no diretório support. Ele tem a seguinte assinatura e pode ajudar o usuário a encontrar a localização de um determinado arquivo de especificação no sistema:

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

A função sleigh::FindSpecFile procurará nos caminhos fornecidos pelo usuário através do argumento search_paths um arquivo de especificação com o nome file_name. O argumento padrão para search_paths é sleigh::gDefaultSearchPaths, que contém os diretórios de instalação/compilação gerados durante a configuração do CMake e um conjunto de locais de instalação comuns.

Se você não quiser compilar os auxiliares, deve definir a opção da variável CMake sleigh_BUILD_SUPPORT como OFF durante a configuração do CMake.

Integração como Dependência

Uma instalação do Sleigh fornece uma interface CMake que você pode usar ao compilar seu projeto.

Você pode encontrar um exemplo de como usar o arquivo de configuração do pacote CMake no exemplo find_package.

Também fornecemos uma função auxiliar CMake sleigh_compile para compilar seus arquivos .slaspec usando um compilador sleigh.

Você pode encontrar um exemplo CMake mais complexo com a compilação de especificações Sleigh no diretório example, que usa o código-fonte de exemplo sleigh fornecido upstream.

Por fim, você pode localizar os arquivos sleigh compilados instalados através da variável CMake sleigh_INSTALL_SPECDIR, que é um caminho absoluto para o diretório raiz dos arquivos sleigh compilados---você deve inspecioná-lo manualmente para saber o que esperar.

Também é sugerido consultar o arquivo de configuração CMake e o arquivo CMake specfiles para aprender mais sobre as variáveis e módulos CMake expostos.

Licença

Consulte o arquivo LICENSE.

Baixar ferramenta