Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
sleigh — GhidraのSLEIGHプロセッサ仕様ライブラリのCMakeビルド。リバースエンジニアリングツール向けに、スタンドアロンの逆アセンブリおよびp-codeリフティングエンジンを提供します。 | Kitploit
ツール/GitHubGitHub/lifting-bits/sleigh
静的分析コード分析動的コード分析 (DAST)リバースエンジニアリングスクリプトと自動化ユーティリティとフレームワークバイナリ解析
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 ライブラリのビルドとインストール

# 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

Ghidra ソースコードに関する注記

Ghidra のソースコードは実際にはこの git リポジトリには含まれておらず、デフォルトでは CMake がインターネットから安定版を自動的に取得します。

どの Ghidra ソースコードコミットを使用/コンパイルするかをカスタマイズする方法 (独自のローカルコピーの Ghidra ソースを指定する方法を含む) の詳細については、src/README.md を参照してください。

パッケージング

CMake 構成は、Sleigh のパッケージのビルドもサポートしています。

例:

# Package 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 ディレクトリにあります。次のシグネチャを持ち、システム上で特定の spec ファイルの場所を見つけるのに役立ちます:

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 という名前の spec ファイルを探します。search_paths のデフォルト引数は sleigh::gDefaultSearchPaths であり、CMake 構成時に生成されたインストール/ビルドディレクトリと、一般的なインストール場所のセットが含まれています。

ヘルパーをビルドしたくない場合は、CMake 構成時に CMake 変数 sleigh_BUILD_SUPPORT オプションを OFF に設定する必要があります。

依存関係としての統合

Sleigh のインストールは、プロジェクトをビルドする際に使用できる CMake インターフェースを提供します。

CMake パッケージ構成ファイルの使用方法の例は、find_package の例にあります。

また、sleigh コンパイラを使用して .slaspec ファイルをコンパイルするための CMake ヘルパー関数 sleigh_compile も提供しています。

Sleigh 仕様のコンパイルを含むより複雑な CMake の例は、example ディレクトリにあり、アップストリームが提供する sleigh のサンプルソースコードを使用しています。

最後に、インストールされたコンパイル済み sleigh ファイルの場所は、CMake 変数 sleigh_INSTALL_SPECDIR を通じて特定できます。これはコンパイル済み sleigh ファイルのルートディレクトリへの絶対パスです---何が期待できるかを知るために、これを手動で確認することをお勧めします。

公開されている CMake 変数とモジュールについてさらに学ぶために、CMake 構成ファイル と specfiles CMake ファイル を参照することも推奨されます。

ライセンス

LICENSE ファイルを参照してください。

ツールをダウンロード