ReVa connects AI assistants to Ghidra. You describe what you want to know about a binary in plain language, and the AI uses Ghidra's analysis tools to answer your questions, annotate the database, and help you understand the program.
ReVa works through the Model Context Protocol (MCP), which means it works with any MCP-compatible AI client — Claude Code, VS Code with Copilot, Cursor, or any other client that supports the protocol.
How It Works
You talk to the AI assistant in natural language. The assistant translates your questions into Ghidra operations — decompiling functions, following cross-references, searching strings, tracing data flow — and synthesizes the results into an answer.
Every operation the assistant performs is visible to you. You can see which functions it examined, what cross-references it followed, and what changes it made. All modifications to the program database happen through Ghidra transactions and can be undone with Edit
Undo.
What Can You Do With ReVa?
Here are some examples of things you can ask:
Task Example Prompt Triage a binary "What does this program do? Survey the imports, strings, and key functions." Understand a function "Decompile the function at 0x00401000 and explain what it does." Trace data flow "Where does the user input from recv() end up? Is there a buffer overflow?" Identify algorithms "What cryptographic algorithm does this function implement? Check for known constants." Annotate the database "Rename the variables in this function to meaningful names and add a summary comment." Define structures "This function parses a network packet. Define a C structure for the packet format." Map the call graph "What functions call the encryption routine, and what do they pass as the key?" Find vulnerabilities "Check whether the input buffer at 0x00401200 has bounds checking before the memcpy." Import and analyze "Import /tmp/firmware.bin and give me an overview." Three Ways to Use ReVa
GUI Mode (Ghidra Plugin)
Run ReVa alongside Ghidra's graphical interface. The AI assistant connects over HTTP while you work in the CodeBrowser. You see changes as they happen and can undo anything the assistant does.
This is the recommended mode for interactive analysis.
CLI Mode (Claude Code)
Use the
mcp-revacommand to integrate directly with Claude Code or other CLI-based AI tools. ReVa manages its own Ghidra project automatically — just point it at a binary and start asking questions.Headless Mode
Run ReVa without the Ghidra GUI for automation, scripting, and CI/CD pipelines. Useful for batch analysis of multiple binaries.
Capabilities at a Glance
Area What the AI Can Do Decompilation Decompile functions, search across all decompilations, rename variables, change data types, add comments Functions List, search, and filter functions; set prototypes and signatures; manage function tags Cross-References Find all references to/from any address; trace data flow forward and backward Call Graphs Build call graphs; find common callers of multiple functions; traverse call trees Strings & Symbols Search and filter strings and symbols with pagination Memory & Data Read memory, inspect data, apply data types, create labels Data Types Browse type archives, define C structures from headers, apply structures to addresses Imports & Exports List imported/exported functions, find import references, resolve thunks C++ Analysis Analyze vtables, find virtual method callers, search for constants Annotations Set comments and bookmarks, search annotations Project Import binaries, run analysis, manage project files Security
By default, the MCP server binds to
127.0.0.1(localhost only). Only processes on your machine can connect.
If you change the server host to
0.0.0.0to accept remote connections, enable API key authentication to prevent unauthorized access. See Configuration Options.All program modifications can be undone using Ghidra's standard undo functionality.
Provided by: ReVa