Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sleigh — Ghidra의 SLEIGH 프로세서 명세 라이브러리를 CMake로 빌드한 것으로, 리버스 엔지니어링 도구를 위한 독립 실행형 디스어셈블리 및 p-code 리프팅 엔진을 제공합니다. | Kitploit
도구/GitHubGitHub/lifting-bits/sleigh
Static AnalysisCode AnalysisDynamic Code Analysis (DAST)Reverse EngineeringScripting & AutomationUtilities & FrameworksBinary Analysis
GitHublifting-bits/sleigh

sleigh

Ghidra의 SLEIGH 프로세서 명세 라이브러리를 CMake로 빌드한 것으로, 리버스 엔지니어링 도구를 위한 독립 실행형 디스어셈블리 및 p-code 리프팅 엔진을 제공합니다.

저장소 보기
1912683일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

Sleigh 라이브러리

Sleigh는 범용 마이크로프로세서의 명령어 집합의 의미를 기술하는 데 사용되는 언어로, 이러한 아키텍처용으로 컴파일된 소프트웨어의 리버스 엔지니어링을 용이하게 할 만큼 충분히 상세합니다. 이는 Ghidra 리버스 엔지니어링 플랫폼의 일부이며, 두 가지 주요 구성 요소인 디스어셈블리 및 디컴파일 엔진의 기반이 됩니다.

이 저장소는 Sleigh를 독립 실행형 라이브러리로 빌드하고 패키징하여 Ghidra 이외의 프로젝트에서 재사용할 수 있도록 CMake 기반 빌드 프로젝트를 제공합니다.

지원 플랫폼

이름지원
Linux예
macOS예
Windows예

종속성 및 필수 조건

필수

이름버전설치할 Linux 패키지설치할 macOS Homebrew 패키지
(HEAD 빌드) zlib최신zlib1g-devzlib
Git최신gitN/A
CMake3.18+cmakecmake

참고: 이 CMake 프로젝트는 구성 중에 인터넷에서 Ghidra 소스 코드를 가져옵니다. 자세한 내용은 Ghidra 소스 코드에 대한 참고 사항 섹션을 참조하세요.

선택 사항

문서 빌드용:

이름버전설치할 Linux 패키지설치할 macOS Homebrew 패키지
Doxygen최신doxygendoxygen
GraphViz최신graphvizgraphviz

Sleigh 라이브러리 빌드 및 설치

# 이 저장소 복제 (sleigh용 CMake 프로젝트)
git clone https://github.com/lifting-bits/sleigh.git
cd sleigh

# CMake 구성
cmake -B build -S .

# Sleigh 빌드
cmake --build build --parallel 8

# Sleigh 설치
cmake --install build --prefix ./install

Ghidra 소스 코드에 대한 참고 사항

Ghidra 소스 코드는 실제로 이 git 저장소에 포함되어 있지 않으며, 기본적으로 CMake가 인터넷에서 안정적인 버전을 자동으로 가져옵니다.

사용/컴파일할 Ghidra 소스 코드 커밋을 사용자 지정하는 방법(자체 로컬 Ghidra 소스 사본 지정 포함)에 대한 자세한 내용은 src/README.md를 참조하세요.

패키징

CMake 구성은 Sleigh용 패키지 빌드도 지원합니다.

예:

# Sleigh 패키징
cmake --build build --target package

API 사용법

Sleigh API 사용 방법을 보여주기 위해 sleigh-lift라는 예제 프로그램이 포함되어 있습니다. 이 프로그램은 16진수 바이트 문자열을 입력받아 디스어셈블하거나 p-code로 리프트할 수 있습니다. 프로그램은 다음과 같이 호출할 수 있으며, action 인수는 disassemble 또는 pcode여야 합니다:

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

예를 들어, 다음 바이트 문자열을 디스어셈블하려면:

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

그리고 이를 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)

sleigh-lift를 빌드하지 않으려면 CMake 구성 중에 CMake 변수 sleigh_BUILD_EXTRATOOLS 옵션을 OFF로 설정해야 합니다.

헬퍼

이 저장소에는 Sleigh/Ghidra의 일부가 아닌 헬퍼가 support 디렉터리에 포함되어 있습니다. 이는 다음과 같은 시그니처를 가지며, 사용자가 시스템에서 주어진 스펙 파일의 위치를 찾는 데 도움을 줄 수 있습니다:

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

sleigh::FindSpecFile 함수는 사용자가 search_paths 인수를 통해 제공한 경로에서 file_name이라는 이름의 스펙 파일을 검색합니다. search_paths의 기본 인수는 sleigh::gDefaultSearchPaths이며, 이는 CMake 구성 중에 생성된 설치/빌드 디렉터리와 일반적인 설치 위치 집합을 포함합니다.

헬퍼를 빌드하지 않으려면 CMake 구성 중에 CMake 변수 sleigh_BUILD_SUPPORT 옵션을 OFF로 설정해야 합니다.

종속성으로 통합

Sleigh 설치 시 프로젝트를 빌드할 때 사용할 수 있는 CMake 인터페이스를 제공합니다.

CMake 패키지 구성 파일을 사용하는 방법의 예는 find_package 예제에서 찾을 수 있습니다.

또한 sleigh 컴파일러를 사용하여 .slaspec 파일을 컴파일하는 CMake 헬퍼 함수 sleigh_compile도 제공합니다.

Sleigh 사양을 컴파일하는 더 복잡한 CMake 예제는 업스트림에서 제공하는 sleigh 예제 소스 코드를 사용하는 example 디렉터리에서 찾을 수 있습니다.

마지막으로, 설치된 컴파일된 sleigh 파일은 CMake 변수 sleigh_INSTALL_SPECDIR을 통해 찾을 수 있으며, 이는 컴파일된 sleigh 파일의 루트 디렉터리에 대한 절대 경로입니다---무엇을 예상해야 하는지 알기 위해 이를 수동으로 검사해야 합니다.

노출된 CMake 변수와 모듈에 대해 더 알아보려면 CMake 구성 파일과 specfiles CMake 파일을 참조하는 것도 권장합니다.

라이선스

LICENSE 파일을 참조하세요.

도구 다운로드