From redcap-droid
Decompile Android APK, XAPK, JAR, and AAR files using jadx or Fernflower/Vineflower. Reverse engineer Android apps, extract HTTP API endpoints (Retrofit, OkHttp, Volley), trace call flows from UI to network layer, and locate compile-time feature gates in bytecode. Use when the user wants to decompile, analyze, or reverse engineer Android packages, find API endpoints, follow call flows, or locate and understand a feature-gate flag. Adopted from SimoneAvogadro/android-reverse-engineering-skill under Apache 2.0 with attribution preserved.
How this skill is triggered — by the user, by Claude, or both
Slash command
/redcap-droid:redcap-droidThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Credit:** Adopted from [SimoneAvogadro/android-reverse-engineering-skill](https://github.com/SimoneAvogadro/android-reverse-engineering-skill) under Apache 2.0. Path placeholders rebranded for the redcap suite and a compile-time-gate workflow added (Phase 6); the decompile / trace / extract core is Simone's work, with thanks.
Credit: Adopted from SimoneAvogadro/android-reverse-engineering-skill under Apache 2.0. Path placeholders rebranded for the redcap suite and a compile-time-gate workflow added (Phase 6); the decompile / trace / extract core is Simone's work, with thanks.
Decompile Android APK, XAPK, JAR, and AAR files using jadx and Fernflower/Vineflower, trace call flows through application code and libraries, and produce structured documentation of extracted APIs. Two decompiler engines are supported — jadx for broad Android coverage and Fernflower for higher-quality output on complex Java code — and can be used together for comparison.
Java JDK 17+ and jadx required. Fernflower/Vineflower and dex2jar optional but recommended. Run the dependency checker:
bash ${CLAUDE_PLUGIN_ROOT}/skills/redcap-droid/scripts/check-deps.sh
If anything is missing, follow ${CLAUDE_PLUGIN_ROOT}/skills/redcap-droid/references/setup-guide.md.
bash ${CLAUDE_PLUGIN_ROOT}/skills/redcap-droid/scripts/check-deps.sh
Parse INSTALL_REQUIRED:<dep> and INSTALL_OPTIONAL:<dep> lines. For required misses, install:
bash ${CLAUDE_PLUGIN_ROOT}/skills/redcap-droid/scripts/install-dep.sh <dep>
Script handles macOS / Linux package managers, falls back to user-local installs in ~/.local/. Re-run check-deps.sh to verify before proceeding.
bash ${CLAUDE_PLUGIN_ROOT}/skills/redcap-droid/scripts/decompile.sh [OPTIONS] <file>
Options:
-o <dir> — output directory--deobf — enable deobfuscation (recommended for obfuscated apps)--no-res — skip resources (faster, for large APKs)--engine ENGINE — jadx (default), fernflower, or bothEngine selection:
| Situation | Engine |
|---|---|
| First pass on APK | jadx (fast, handles resources) |
| JAR/AAR library | fernflower (better Java output) |
| jadx output has warnings | both (compare per class) |
| Complex lambdas/generics/streams | fernflower |
| Quick overview of large APK | jadx --no-res |
See references/jadx-usage.md and references/fernflower-usage.md.
Read AndroidManifest.xml from <output>/resources/AndroidManifest.xml:
android:name on <application>)Survey <output>/sources/ packages:
api, network, data, repository, service, retrofit, http packagesIdentify architecture pattern:
Presenter classesViewModel + LiveData / StateFlowdomain / data / presentation packagesFrom entry points (main Activity, Application class):
onCreate() → view setup → click listenersFollow initialization: Application.onCreate() usually sets up HTTP client, base URL, DI framework. Read this first.
Map DI bindings (Dagger / Hilt): find @Module classes.
Handle obfuscated code: when class names are mangled, use string literals and library API calls as anchors. Retrofit annotations and URL strings are never obfuscated.
See references/call-flow-analysis.md for grep commands and techniques.
bash ${CLAUDE_PLUGIN_ROOT}/skills/redcap-droid/scripts/find-api-calls.sh <output>/sources/
bash ${CLAUDE_PLUGIN_ROOT}/skills/redcap-droid/scripts/find-api-calls.sh <output>/sources/ --retrofit
bash ${CLAUDE_PLUGIN_ROOT}/skills/redcap-droid/scripts/find-api-calls.sh <output>/sources/ --urls
bash ${CLAUDE_PLUGIN_ROOT}/skills/redcap-droid/scripts/find-api-calls.sh <output>/sources/ --auth
For each endpoint document: HTTP method, path, base URL, path / query params, request body shape, headers (especially auth), response type, call chain. Format per references/api-extraction-patterns.md.
For engineering-mode / feature-flag / consumer-rights investigation, after decompiling the admin JAR or system app, grep for compile-time gates:
grep -rInE '(em_support|engineer_?mode|engineering_?mode|factory_?mode|debug_?mode|developer_?mode|hidden_?menu|show_[0-9]+g|feature_[a-z_]+_support|brand_[0-9]+|admin_?mode|test_?mode|diag_?mode)' <output>/sources/
For each match, trace:
if / switch guards on UI rendering or API handlersThen hand off:
redcap-kernel if a firmware re-flash is needed to flip the flag at restredcap-payloads if the gate is bypassable via runtime request manipulationAt the end of the workflow, deliver:
Androguard is a Python library / CLI for static DEX-level analysis. It's complementary to jadx/Fernflower:
Use Androguard when the question is "which methods reference X?", "call graph from Activity Y?", "every xref to WebView.loadUrl". Faster than grep-walking jadx sources for Phase 4 and Phase 6.
Install (optional):
bash ${CLAUDE_PLUGIN_ROOT}/skills/redcap-droid/scripts/install-dep.sh androguard
Full usage: references/androguard-usage.md.
references/setup-guide.md — installing Java, jadx, Fernflower/Vineflower, dex2jarreferences/jadx-usage.md — jadx CLI options and workflowsreferences/fernflower-usage.md — Fernflower/Vineflower CLI, APK workflow via dex2jarreferences/api-extraction-patterns.md — library-specific search patterns + documentation templatereferences/call-flow-analysis.md — call-flow tracing techniques and grep recipesreferences/androguard-usage.md — Androguard (optional) programmatic static analysis, call graphs, xrefsassets/ or lib/, hand those to ImHex for pattern parsing.Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub gitdiddy69/redcap --plugin redcap-droid