Reverse engineering means working out how software works without its source code: a binary, a firmware image, a file format, a network protocol or an Android app. A local model helps by turning assembly into readable code, naming functions and variables, and answering questions about what the code does. Running it on your own machine matters more here than almost anywhere else: the files you study are often confidential, under NDA or malicious, and should not be uploaded anywhere. Only analyse software you are allowed to.
Pick a host app and a plugin
Keep the reverse-engineering tool you already use and add a plugin that talks to your local model. The apps page lists each one.
| Host app | Chat and explain | Agent over MCP |
|---|---|---|
| Ghidra (free) | GhidrAssist, OGhidra | GhidraMCP, ReVa |
| IDA Pro (paid) | Gepetto | IDA Pro MCP |
| Binary Ninja (paid) | BinAssist | — |
| radare2 (free) | r2ai and decai | — |
| JADX (free, Android) | — | JADX AI MCP |
The MCP plugins don’t include a chat window. Connect them to an MCP client that runs local models, such as LM Studio or Jan.
Pick a model
- For a plugin, a strong general model with tool calling. The plugin makers name gpt-oss, Gemma 3 27B, Qwen3, Devstral and GLM. Agents read a lot of decompiled code at once, so allow 32K tokens of context and pick the biggest model that still runs well. See the reverse-engineering list for what fits your hardware.
- For decompiling one function, LLM4Decompile. These models only turn assembly, or Ghidra’s pseudo-code for the V2 models, back into C. They don’t chat or call tools; run them in llama.cpp or LM Studio with the prompt format from the project’s README.
- For security questions, Foundation-Sec. Cisco’s 8B models are tuned on security text. They are small and fast, but not decompilers.
Expectations
Models still invent function names and misread tricky code, and obfuscated or packed binaries confuse them, just as they confuse people. Treat the output as a fast first draft, check it against the disassembly, and keep notes in the tool rather than in the chat.