Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
spectrIDA-Reverse_Engineering_Stack — Parallel IDA Pro binary analysis with AI-powered function naming, Neo4j knowledge graph, and phantomrt emulation/hooking/fuzzing engine for automated reverse engineering across PE, ELF, and NSO formats. | Kitploit
Tools/GitHubGitHub/ggfuchsi-oss/spectrida-reverse_engineering_stack
Static AnalysisDynamic Analysis (Sandboxing)ExploitationReverse EngineeringDebuggersFuzzingMalware AnalysisCTFBinary Analysis
AI-Assisted Reversing
Firmware Analysis
GitHubggfuchsi-oss/spectrida-reverse_engineering_stack

spectrIDA-Reverse_Engineering_Stack

Parallel IDA Pro binary analysis with AI-powered function naming, Neo4j knowledge graph, and phantomrt emulation/hooking/fuzzing engine for automated reverse engineering across PE, ELF, and NSO formats.

View Repository
4991152 months agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

👻 spectrIDA

Ghost through binaries.

A local, AI-powered reverse engineering assistant: parallel IDA Pro analysis, AI function naming, a terminal that doesn't suck, a Neo4j knowledge graph of everything it's ever figured out, and an MCP server so Claude can search and chain through that graph directly.

And now — with phantomrt — it doesn't just read the walls. It walks through them: emulates, hooks, and fuzzes the functions it named, and writes what actually happens back onto the graph.

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

What it is

IDA Pro's auto-analysis is single-threaded. On a 34 MB il2cpp DLL that's minutes. spectrIDA splits the binary into N shards, runs them in parallel via idalib, merges into one .i64, then lets a fine-tuned 8B model name every function — all from one terminal UI with a cyberpunk theme and exactly the right amount of sarcasm.

That's Chapter 1, and it stands on its own: pure speed, no AI required if you don't want it.

Chapter 2 turns the output into something that outlives the session — a Neo4j graph an MCP client (Claude, pi, whatever speaks MCP) can actually live in, instead of you copy-pasting decompiler output into a chat window one function at a time:

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)

Chapter 3 (phantomrt) adds the half that static tools never have: it runs the code. Emulates a function with no OS (works on binaries you can't even launch, like a Switch .nso), or hooks the live process, or fuzzes it — and stamps the verdict (crashes / needs live state / clean) onto the same graph node as the name.

Full rundown, including what's still on the to-do pile, is down in Chapter 2 and Chapter 3.

It is not Ghidra. It does one annoying thing (slow analysis + naming) fast, and it's genuinely fun to use. 199 downloads speak for themselves.

No cloud. No telemetry. Runs entirely on your machine.


Numbers

tasktime
Among Us DLL — single-threaded IDA~4 hours
Among Us DLL — spectrIDA (16 workers)67 seconds
153,649 function binary — full naming passovernight
Binary overview (what does this thing do?)~30 seconds

Hardware these were measured on: AMD Ryzen 7 5800X3D (8C/16T), 32 GB RAM, RTX 4070 12 GB. Different hardware moves the parallel-analysis numbers (more cores, more shards, faster); the naming numbers are mostly GPU-bound. The 4-hour/67-second Among Us figures predate Chapter 2 and aren't independently re-verified in every release — re-run spectrida analyze yourself if you want a number for your own machine and binary, results vary with shard density and binary size.

Numbers actually re-verified during Chapter 2 development, same hardware:

binaryfunctionstasktime / result
test_small.dll (PE)189parallel analysis, 4 workers, CLI6.4s
test_small.dll (PE)164full MCP pipeline (analyze + demangle + graph write)9.8s
main.nso — Mario Odyssey (NSO), 16 workers28,038 seed functionsparallel sharded scan phase54.5s
main.nso — Mario Odyssey (NSO), 16 workers74,790 total functions+ merge/full-analysis phase143.1s
main.nso — Mario Odyssey (NSO), 16 workers74,790 total functionsend-to-end wall time197.6s
main.nso — Mario Odyssey (NSO)74,790resolved via demangling alone (Itanium ABI, free, no AI)67,300 (90.0%)

That NSO row is the real equivalent of the old Among Us "4 hours → 67 seconds" claim, measured fresh this release on a 74,790-function Switch binary, no AI naming involved (demangling only — populate=False). The parallel phase (16 cores, ~55s) does the initial sharded discovery; the merge phase (~143s) is single-threaded by design — one IDA database, one writer — so if you watch Task Manager during that part and see 15 cores napping, that's not a bug report, that's physics.

Getting an honest number here was its own small horror story. The first version of NSO support ran clean, exited 0, and proudly returned 727 functions for a binary that has roughly 75,000 of them — not a crash, just spectacularly, confidently wrong, which is somehow worse. Turns out IDA has no native NSO loader, so the file silently loaded as plain x86 ("metapc") even though the Switch has been ARM64 since the box launched. Every shard ran an x86 prologue scanner against pure AArch64 instructions and called whatever it accidentally matched a "function." Fixing the architecture fixed nothing on its own, because the binary was also still LZ4-compressed in memory — so half of what got scanned was, generously, noise. And even once it was properly decompressed and flagged AArch64, each shard was only hunting for call targets inside its own tiny slice of the binary, missing every call that crossed a shard boundary — which in a binary this size is most of them. Three bugs, one number, and not one of them had the decency to throw an exception. (We also tried shaving the merge phase down by skipping IDA's stack-frame analysis — got a beautiful speedup and a database where Hex-Rays politely refused to decompile half of it. That got reverted fast. Kept the much smaller, much safer FLIRT-signature skip instead, which is worth a shrug-worthy ~3% and didn't break anything, which by this point felt like a personality trait worth keeping.)

On naming accuracy: it's not Ghidra-grade ground truth, it's an 8B model guessing from pseudocode. Generic helpers/getters tend to land well; deeply game-specific logic is more of a coin flip. Rename anything it gets wrong — that's why rename_function persists straight back into the graph.


Features

Download Tool