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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
spectrIDA-Reverse_Engineering_Stack — 並列IDA Proバイナリ解析、AI駆動の関数命名機能、Neo4j知識グラフ、およびphantomrtエミュレーション/フッキング/ファジングエンジンを統合し、PE、ELF、NSO形式のリバースエンジニアリングを自動化します。 | Kitploit
ツール/GitHubGitHub/ggfuchsi-oss/spectrida-reverse_engineering_stack
静的分析動的分析 (サンドボックス)エクスプロイトリバースエンジニアリングデバッガファジングマルウェア分析CTFバイナリ解析
AI支援リバースエンジニアリング
ファームウェア解析
GitHubggfuchsi-oss/spectrida-reverse_engineering_stack

spectrIDA-Reverse_Engineering_Stack

並列IDA Proバイナリ解析、AI駆動の関数命名機能、Neo4j知識グラフ、およびphantomrtエミュレーション/フッキング/ファジングエンジンを統合し、PE、ELF、NSO形式のリバースエンジニアリングを自動化します。

リポジトリを見る
4991152ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

👻 spectrIDA

バイナリを行き来するゴースト。

ローカルで動作するAI搭載リバースエンジニアリングアシスタント:並列IDA Pro解析、AIによる関数命名、ストレスのないターミナル、これまでに解析したすべてを記録するNeo4jナレッジグラフ、そしてClaudeがそのグラフを直接検索・連鎖できるMCPサーバー。

そして今や、phantomrt によって、壁を読むだけでなく、その中を歩き回れるようになりました。つまり、命名した関数をエミュレート、フック、ファジングし、実際に起きたこと をグラフに書き戻します。

``` spectrida analyze GameAssembly.dll --workers 16 ``` ## クイックスタート``` ◈ spectrIDA ▸ GameAssembly.dll

✓ 00 ✓ 01 ✓ 02 ✓ 03 ▸ 04 · 05 · 06 · 07 ✓ 08 ✓ 09 ✓ 10 ✓ 11 ✓ 12 ✓ 13 ▸ 14 · 15

14/16 shards │ 141,203 functions found ████████████████████████████░░░░ 89% ~4s remaining

## 概要

IDA Proの自動解析はシングルスレッドです。34MBのil2cpp DLLでは*数分*かかります。spectrIDAはバイナリをN個のシャードに分割し、idalibを介して並列実行し、1つの`.i64`にマージした後、微調整された8Bモデルで**すべての関数に名前を付け**ます。しかも、サイバーパンクテーマと絶妙な皮肉が効いた1つのターミナルUIからすべてを実行できます。

それが第1章であり、単独で完結しています。純粋な速度向上であり、必要なければAIは不要です。

第2章では、出力をセッションを超えて存続するものに変換します。MCPクライアント(Claude、[pi](https://pi.dev)、MCPを話す任意のもの)が実際に利用できるNeo4jグラフを生成し、あなたがデコンパイラの出力を1関数ずつチャットウィンドウにコピーペーストする必要がなくなります。```
Binary  ─▶  Parallel IDA Analysis  ─▶  Demangle  ─▶  AI Naming  ─▶  Neo4j Graph  ─▶  MCP Server  ─▶  Claude
              (N idalib shards)       (free, real)   (stripped     (persists,        (search/chain/
                                                       leftovers     forever,          rename, live)
                                                       only)         across sessions)

第3章 (phantomrt) は、静的ツールには決してない半分の機能を追加します。それはコードを実行します。OSなしで関数をエミュレートし(起動すらできないバイナリ、例えばSwitchの.nsoでも動作)、ライブプロセスにフックしたり、ファジングしたりします。そして、その判定結果(crashes / needs live state / clean)を、名前と同じグラフノードに刻印します。

完全な詳細、まだやるべきことも含めて、第2章と第3章にあります。

これはGhidraではありません。ひとつの厄介なこと(遅い解析+命名)を高速にこなし、実際に使うのが楽しいです。199ダウンロードがそれを物語っています。

クラウドなし。テレメトリーなし。完全にあなたのマシン上で動作します。


数値

タスク時間
Among Us DLL — シングルスレッドIDA~4時間
Among Us DLL — spectrIDA (16ワーカー)67秒
153,649関数のバイナリ — 全命名パス一晩
バイナリ概要(これは何をするものか?)~30秒

測定に使用したハードウェア: AMD Ryzen 7 5800X3D (8C/16T)、32 GB RAM、RTX 4070 12 GB。 異なるハードウェアでは並列解析の数値が変わります(コア数が多いほど、シャード数が多いほど高速になります)。命名の数値はほとんどGPUに依存します。4時間/67秒のAmong Usの数値は第2章以前のもので、すべてのリリースで独立して再検証されているわけではありません。ご自身のマシンとバイナリでの数値が必要な場合は、spectrida analyze を自分で再実行してください。結果はシャード密度とバイナリサイズによって異なります。

実際に第2章の開発中に再検証された数値(同じハードウェア):

バイナリ関数タスク時間 / 結果
test_small.dll (PE)189並列解析、4ワーカー、CLI6.4s
test_small.dll (PE)164完全なMCPパイプライン(解析+デマングル+グラフ書き込み)9.8s
main.nso — Mario Odyssey (NSO)、16ワーカー28,038 シード関数並列シャードスキャンフェーズ54.5s
main.nso — Mario Odyssey (NSO)、16ワーカー74,790 全関数+ マージ/完全解析フェーズ143.1s
main.nso — Mario Odyssey (NSO)、16ワーカー74,790 全関数エンドツーエンドのウォールタイム197.6s
main.nso — Mario Odyssey (NSO)74,790デマングルのみで解決(Itanium ABI、無料、AIなし)67,300 (90.0%)

そのNSOの行は、以前のAmong Usの「4時間→67秒」という主張の実際の相当物であり、今回のリリースで新たに74,790関数のSwitchバイナリで測定されたものです。AI命名は関与していません(デマングルのみ — populate=False)。並列フェーズ(16コア、約55秒)は初期のシャード発見を行います。マージフェーズ(約143秒)は設計上シングルスレッドです — 1つのIDAデータベース、1つのライター — そのため、その部分でタスクマネージャーを見て15コアが休んでいるのを見ても、それはバグ報告ではなく、物理的な制約です。

ここで正直な数値を得ること自体が、ちょっとしたホラーストーリーでした。NSOサポートの最初のバージョンは正常に動作し、終了コード0で、約75,000関数あるバイナリに対して727関数を堂々と返しました。クラッシュではなく、ただ見事に、自信満々に間違っていたのです。それがなぜか悪質です。IDAにはネイティブのNSOローダーがないため、ファイルはプレーンx86("metapc")として静かにロードされました。Switchは発売当初からARM64であるにもかかわらずです。すべてのシャードは、純粋なAArch64命令に対してx86プロローグスキャナーを実行し、誤って「関数」に一致したものを何でも関数と呼びました。アーキテクチャを修正してもそれだけでは何も解決しませんでした。なぜなら、バイナリはメモリ上で依然としてLZ4圧縮されていたからです。そのため、スキャンされたものの半分は、控えめに見てもノイズでした。そして、適切に解凍され、AArch64と識別された後でも、各シャードはバイナリのごく小さなスライス内のコールターゲットのみを探し、シャード境界をまたぐすべてのコールを見逃していました。このサイズのバイナリでは、それらがほとんどです。3つのバグ、1つの数値、そしてそのどれもが例外を投げるという礼儀さえ持っていませんでした。(また、IDAのスタックフレーム解析をスキップすることでマージフェーズを短縮しようと試みました。素晴らしい高速化と、Hex-Raysがその半分の逆コンパイルを丁寧に拒否するデータベースを得ました。それはすぐに戻されました。代わりに、はるかに小さく、はるかに安全なFLIRTシグネチャスキップを保持しました。これは肩をすくめる程度の約3%の価値があり、何も壊しませんでした。この時点ではそれは維持する価値のある性格特性のように感じられました。)

命名精度について: Ghidra並みの正解率ではなく、8Bモデルが疑似コードから推測しているものです。一般的なヘルパー/ゲッターはうまく当たる傾向がありますが、ゲーム固有の深いロジックはコイン投げのようなものです。間違ったものはすべて名前を変更してください — それがrename_functionが直接グラフに反映される理由です。


機能

  • 並列シャード解析 — アドレス空間シャードに分割し、N個のidalibインスタンスを実行し、1つの.i64にマージします。ワーカーはフラグ、設定、環境変数を介して設定可能。
  • プラグイン可能なフォーマット対応 — PE、NSO (Switch)、ELF (.so/Linux) が標準搭載されています。新しいフォーマットを追加するのは単一ファイルで、コアの変更は不要です。spectrida formats で登録済みのリストを表示します。新しいバイナリフォーマットの追加 を参照。
  • AI関数命名 — ファインチューニングされたQwen3-8BがOllamaを介してローカルで動作し、トークンごとに名前をストリーミングします。Nを押す。考えるのを見守る。名前が現れる。
  • バッチ命名 — Bでリスト内のすべてのsub_*関数に名前を付けます。その場を離れる。戻ってくる。
  • バイナリ概要 — Oを押すか、spectrida overview file.i64を実行。モデルが120のサンプリングされた関数名を読み取り、バイナリが何をするか、サブシステムは何か、セキュリティ関連の情報を教えてくれます。153k関数のIL2CPPランタイムを30秒で正しく識別しました。
  • コールチェーンエクスプローラ — Cで呼び出し元と呼び出し先を表示します。モデルはこれらを命名時のコンテキストとして使用します — Player$$TakeDamageによって呼び出される関数は、単独の場合よりも適切に名前が付けられます。
  • 逆コンパイラビュー — DでHex-Rays疑似コードを切り替え。
  • エクスポート — すべてをJSON、CSV、IDA .idcスクリプト、またはシンボルファイルにダンプします。.idcは、AIが生成したすべての名前をワンクリックで任意のIDAインストールに適用します。
  • プログラムAPI — from spectrida.api import open_i64。スクリプト、ノートブック、Claude CodeからTUIに触れることなくすべてを操作できます。
  • MCPサーバー — spectrida install mcp でClaude Codeや pi に直接接続でき、手動のJSON編集は不要です。ClaudeはNeo4jバックエンドの関数グラフ(名前、疑似コード、逆アセンブリ、呼び出し元/呼び出し先)を検索/読み取り/連鎖し、新しいバイナリ自体の新鮮な解析を開始できます — analyze_binary は1つのツール呼び出しから全パイプライン(並列解析 → デマングル → AI命名 → グラフ)をバックグラウンドジョブとして実行し、ポーリングします。PEとNSOで動作します。下の第2章を参照。
  • デモモード (spectrida --demo) — ゼロセットアップですべてを試せます。IDAもOllamaも不要。
  • 初回実行ウィザード — Ollamaとモデルのインストールを支援し、IDAのインストールを自動検出し、その後は二度と尋ねません。

インストール```bash

pip install spectrida

必要条件: **IDA Pro 9.x** with idalib · **Python 3.10+** · **Ollama**```bash
# install Ollama (Windows)
winget install Ollama.Ollama

# pull the model (8.7 GB — go get coffee)
ollama pull hf.co/gdfhhjk/spectrida-re-gguf:latest

# first run — detects your IDA install and sets everything up
spectrida onboard

# or just try the demo right now
spectrida --demo

コマンド```bash

analyze a binary from scratch

spectrida analyze GameAssembly.dll spectrida analyze GameAssembly.dll --workers 8 # custom worker count

open an existing .i64 in the browser

spectrida open file.i64

ask the AI what this binary is

spectrida overview file.i64 spectrida overview file.i64 --addr 0x10001000 --addr 0x10353fd0 # include specific functions

export function names

spectrida export file.i64 -f idc # IDA script — apply names to any install spectrida export file.i64 -f json # full dump with addresses + sizes spectrida export file.i64 -f csv # spreadsheet spectrida export file.i64 -f symbols # addr name pairs spectrida export file.i64 --named-only # skip sub_* functions

check Ollama + model status

spectrida serve

re-run the setup wizard

spectrida onboard

## TUIキー

| キー | アクション |
|-----|--------|
| `N` | 選択した関数に名前を付ける — AIが結果をライブストリーミング |
| `R` | 名前変更 — AIの提案で事前入力 |
| `D` | 逆コンパイルされた擬似コードの切り替え (Hex-Rays) |
| `C` | 呼び出しチェーン — 呼び出し元と呼び出し先 |
| `B` | 現在のリスト内のすべての `sub_*` 関数を一括で命名 |
| `O` | 概要 — バイナリ全体のAI要約 |
| `/` | あいまい検索 |
| `?` | ヘルプ |
| `Q` | 終了 |

## プログラムAPI

TUIは不要 — スクリプト、Claude Code、ノートブックなどからspectrIDAを駆動:```python
import asyncio
from spectrida.api import open_i64

async def main():
    async with open_i64("GameAssembly.i64") as db:

        # list all 153k functions
        funcs = await db.list_functions()

        # name one function — returns name + reasoning + confidence
        result = await db.name_function(0x10001000)
        print(result["new_name"])     # init_atexit_handler
        print(result["reasoning"])    # allocates array of 3 fn ptrs, calls _atexit...
ツールをダウンロード