/ Directory / Playground / Android Reverse Engineering Skill
● Community SimoneAvogadro ⚡ Instant

Android Reverse Engineering Skill

by SimoneAvogadro · SimoneAvogadro/android-reverse-engineering-skill

Claude Code skill for Android APK reverse engineering — apktool, jadx, Frida workflows.

A skill bundle that teaches Claude how to do real Android reverse engineering: unpack APKs, decompile to Java with jadx, patch smali, hook with Frida. It chains the right tools instead of one-shotting jadx and giving up.

Why use it

Key features

Live Demo

What it looks like in practice

android-reverse-engineering-skill.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "android-reverse-engineering-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/SimoneAvogadro/android-reverse-engineering-skill",
        "~/.claude/skills/android-reverse-engineering-skill"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "android-reverse-engineering-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/SimoneAvogadro/android-reverse-engineering-skill",
        "~/.claude/skills/android-reverse-engineering-skill"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "android-reverse-engineering-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/SimoneAvogadro/android-reverse-engineering-skill",
        "~/.claude/skills/android-reverse-engineering-skill"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "android-reverse-engineering-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/SimoneAvogadro/android-reverse-engineering-skill",
        "~/.claude/skills/android-reverse-engineering-skill"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "android-reverse-engineering-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/SimoneAvogadro/android-reverse-engineering-skill",
        "~/.claude/skills/android-reverse-engineering-skill"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "android-reverse-engineering-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/SimoneAvogadro/android-reverse-engineering-skill",
          "~/.claude/skills/android-reverse-engineering-skill"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add android-reverse-engineering-skill -- git clone https://github.com/SimoneAvogadro/android-reverse-engineering-skill ~/.claude/skills/android-reverse-engineering-skill

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use Android Reverse Engineering Skill

Bypass cert pinning on a test app for MITM analysis

👤 Security researchers (with permission!) ⏱ ~15 min intermediate

When to use: You need to inspect a Flutter/OkHttp app's traffic and pinning blocks Burp.

Prerequisites
  • Server/skill installed and authenticated — See repo README
Flow
  1. Identify pinning
    Decompile target.apk and find all references to TrustManager / CertificatePinner / Flutter's HttpClient.✓ Copied
    → List of hooks to patch
  2. Patch + Frida
    Generate a Frida script that no-ops checkServerTrusted across both Java and Flutter paths.✓ Copied
    → Frida .js + run command

Outcome: Working MITM channel on a test target you own.

Pitfalls
  • Reversing apps you don't have rights to is illegal in most jurisdictions. The skill assumes you've documented authorization. — Reversing apps you don't have rights to is illegal in most jurisdictions. The skill assumes you've documented authorization.

Cost & Limits

What this costs to run

API quota
See provider docs for rate limits
Tokens per call
Varies by tool
Monetary
See repo README for pricing details
Tip
Cache tool results and avoid repeated identical calls.

Security

Permissions, secrets, blast radius

Credential storage: Use environment variables; never commit secrets
Data egress: Tool calls go to the provider's API as documented

Troubleshooting

Common errors and fixes

apktool fails to unpack

Use the latest apktool (≥2.9). Older versions miss new resource tables.

Verify: apktool --version ≥ 2.9
repack signs but won't install

Use uber-apk-signer with --allow-resign and target the right SDK level.

Verify: adb install -r app-signed.apk

Alternatives

Android Reverse Engineering Skill vs others

AlternativeWhen to use it insteadTradeoff
trailofbits/skillsYou want broader security skillsMore generic; less Android-specific

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills