UniDBG

v1.0.0Securitystable

Allows you to emulate an Android native library, and an experimental iOS emulation

androidcapstonedebuggerdynarmicemulation
Share:
4,975
Stars
0
Downloads
0
Weekly
0/5

What is UniDBG?

UniDBG is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to allows you to emulate an android native library, and an experimental ios emulation

Allows you to emulate an Android native library, and an experimental iOS emulation

This server falls under the Security category on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • Allows you to emulate an Android native library, and an expe

Use Cases

Emulate Android native libraries and execute binary code.
Perform security analysis and reverse engineering on mobile platforms.
zhkl0228

Maintainer

LicenseApache-2.0
Languagejava
Versionv1.0.0
UpdatedMay 21, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx unidbg

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use UniDBG

UniDBG is an open-source Java-based Android (and experimental iOS) native library emulator that lets you run ARM32 and ARM64 binaries on your development machine without a physical device or emulator. It fully implements the JNI Invocation API so Android .so files can be called as if running inside a real ART runtime, and it includes an MCP integration that allows AI tools like Cursor to assist with debugging by reading registers, disassembling instructions, inspecting memory, setting breakpoints, and invoking native functions interactively. Security researchers use it to extract cryptographic keys, analyze obfuscated native code, and reverse-engineer mobile app signing algorithms without running the actual Android OS.

Prerequisites

  • Java Development Kit (JDK) 8 or 11 installed (JDK 8 is most widely tested)
  • Maven 3.6+ or Gradle for building the project from source
  • Git to clone the repository
  • Basic familiarity with ARM assembly and the Android NDK / JNI layer
  • Cursor, Claude Code, or another MCP-compatible IDE for the AI-assisted debugging integration
1

Clone the UniDBG repository

Clone the project and change into the directory. The repository contains the core emulator and pre-built example projects.

git clone https://github.com/zhkl0228/unidbg.git
cd unidbg
2

Build the project with Maven

Build all modules. The first build downloads dependencies from Maven Central and may take a few minutes.

mvn clean package -DskipTests
3

Create a test harness for your target library

Create a Java class that extends AbstractJni, loads your .so file via emulator.loadLibrary(), and calls the target function. See the unidbg-android/src/test/java/ directory for examples such as TTEncrypt and SignUtil.

4

Run the emulator and enter the debugger

Execute your test class. To activate the interactive debugger at a specific point, call emulator.attach() in your Java code before the function call you want to inspect.

mvn test -pl unidbg-android -Dtest=YourTestClass
5

Activate the MCP server for AI-assisted debugging

At the UniDBG interactive debugger console prompt, type 'mcp' to start the MCP server. This allows Cursor or another MCP client to connect and use register inspection, memory read/write, disassembly, and step tools.

mcp
6

Connect your MCP client to the debug session

With the MCP server active inside the debugger, configure your MCP client to connect to the local UniDBG MCP endpoint. Cursor can then inspect memory and registers and help you understand what the native code is doing.

UniDBG Examples

Client configuration

UniDBG's MCP server is activated interactively from the debugger console. Configure your Cursor or Claude Code client to connect to the local MCP server that UniDBG exposes when 'mcp' is typed in the debugger.

{
  "mcpServers": {
    "unidbg": {
      "command": "npx",
      "args": ["unidbg"]
    }
  }
}

Example debugger and MCP interactions

After connecting to the UniDBG MCP server, use these prompts to drive the debugging session with AI assistance.

- "Show me the current values of all CPU registers."
- "Disassemble the next 20 instructions from the current program counter."
- "Read 64 bytes of memory at address 0x400000 and interpret it as a string."
- "Set a breakpoint at symbol 'Java_com_example_App_sign' and continue execution."
- "Call the native function 'calcKey' with arguments 0x1 and 0xDEADBEEF and show me the return value."

Troubleshooting UniDBG

UnsatisfiedLinkError when loading the target .so file

UniDBG emulates the Android runtime but requires that all native dependencies of your .so are also loaded. Add missing .so files (like libssl.so, libcrypto.so) using emulator.loadLibrary() before loading your target library. Check the unidbg output for which symbol is unresolved.

JNI calls return null or throw NullPointerException

Your test class must implement the AbstractJni callbacks for any Java methods the native code calls back into. Check the error log to find which Java method is being called and add a matching implementation in your test harness.

Build fails with 'Could not resolve dependencies' errors

Check your Maven settings for proxy configuration if behind a corporate firewall. Alternatively, try building offline after an initial successful dependency download: mvn package -DskipTests -o. Ensure you are using JDK 8 or 11 — newer JDK versions (17+) may have compatibility issues.

Frequently Asked Questions about UniDBG

What is UniDBG?

UniDBG is a Model Context Protocol (MCP) server that allows you to emulate an android native library, and an experimental ios emulation It connects AI assistants to external tools and data sources through a standardized interface.

How do I install UniDBG?

Follow the installation instructions on the UniDBG GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with UniDBG?

UniDBG works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is UniDBG free to use?

Yes, UniDBG is open source and available under the Apache-2.0 license. You can use it freely in both personal and commercial projects.

UniDBG Alternatives — Similar Security Servers

Looking for alternatives to UniDBG? Here are other popular security servers you can use with Claude, Cursor, and VS Code.

Casdoor

13.6k

An open-source Agent-first Identity and Access Management (IAM) /LLM MCP & agent gateway and auth server with web UI supporting OpenClaw, MCP, OAuth, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, Face ID, Google Workspace, Azure AD

ghidraMCP

9.0k

An Model Context Protocol server that enables LLMs to autonomously reverse engineer applications by exposing Ghidra's decompilation and analysis tools. It allows AI agents to list code structures, rename methods, and analyze binaries directly through

HexStrike AI

8.9k

HexStrike AI MCP Agents is an advanced MCP server that lets AI agents (Claude, GPT, Copilot, etc.) autonomously run 150+ cybersecurity tools for automated pentesting, vulnerability discovery, bug bounty automation, and security research. Seamlessly b

IDA Pro MCP

8.7k

Enables AI-assisted reverse engineering in IDA Pro by providing tools to analyze binaries, decompile functions, manage comments, search patterns, and interact with the IDA database through natural language.

Anthropic Cybersecurity Skills

6.6k

754 structured cybersecurity skills for AI agents · Mapped to 5 frameworks: MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, D3FEND & NIST AI RMF · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI & 20+ platform

Hooker

5.1k

🔥🔥 hooker is a Frida-based reverse engineering toolkit for Android. It offers a user-friendly CLI, universal scripts, auto hook generation, memory roaming to detect activities/services, one-click SOCKS5 proxy setup, Frida JustTrustMe, and BoringSSL u

Browse More Security MCP Servers

Explore all security servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "unidbg": { "command": "npx", "args": ["-y", "unidbg"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use UniDBG?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides