SimoneAvogadro / android-reverse-engineering-skill
git clone https://github.com/SimoneAvogadro/android-reverse-engineering-skill.git
v1.1.0 Β· 5mo ago
π₯ on GitHub Trending today
Claude Code skill to support Android app's reverse engineering
β
stars, 24h
+156
stars, 7 days Β· #342
β
stars, 30 days
8.2k
β
total Β· +2% this week
928
forks Β· 11 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageShell
LicenseApache-2.0
Created2026-02-02 (8mo ago)
Last push8d ago
Watchers36
OwnerUser
Seen on GitHub Trending
- 2026-10-20 β #10 weekly in shell Β· +156 β
Links
- GitHub: github.com/SimoneAvogadro/android-reverse-engineering-skill
- Releases Β· Issues Β· Hacker News mentions
README excerpt
# Android Reverse Engineering & API Extraction β Claude Code skill A Claude Code skill that decompiles Android APK/XAPK/JAR/AAR files and **extracts the HTTP APIs** used by the app β Retrofit endpoints, OkHttp calls, hardcoded URLs, authentication patterns β so you can document and reproduce them without the original source code. > **First-class Kotlin support**: modern Android apps are Kotlin/KMP, heavily obfuscated with R8. This skill recovers the **original Kotlin class names** from metadata R8 cannot strip, and extracts APIs from **Ktor**, **Apollo (GraphQL)** and **Koin** β not just the classic Retrofit/OkHttp stack. See Kotlin name recovery below. > **Windows / PowerShell support (experimental)**: The `*.ps1` scripts alongside the bash ones are a recent community contribution, still being stabilised. For any issues please open an issue on **this** repository (not on the contributors' upstream forks): the PowerShell scripts are maintained here by @SimoneAvogadro. ## Table of Contents - What it does - Requirements - Installation - Usage - Repository Structure - References - Acknowledgments - Disclaimer - License ## What it does | Capability | Description | |------------|-------------| | **Fingerprint first (Phase 0)** | Triage an APK/XAPK in seconds β detect the framework (Flutter / React Native / Cordova / Xamarin / native-Kotlin), HTTP stack, obfuscation level and native libs *before* spending time on a full decompile | | **Decompile** | APK, XAPK, JAR, and AAR files using jadx and Fernflower/Vineflower (single engine or side-by-side comparison) | | **Recover Kotlin names** | Rebuild original `*Repository` / `*ViewModel` / `*UseCase` class names from R8-obfuscated binaries using Kotlin metadata that R8 cannot strip | | **Extract APIs** | Retrofit, OkHttp, Volley **and modern Kotlin/KMP stacks: Ktor, Apollo (GraphQL), Koin DI** β endpoints, hardcoded URLs, auth headers, tokens and HMAC request-signing schemes | | **Trace call flows** | From Activities/Fragments through ViewModels and repositories down to HTTP calls | | **Analyze structure** | Manifest, packages, architecture patterns | | **Handle obfuscation** | R8-resistant path/URL extraction plus strategies for navigating ProGuard/R8 output | ## Requirements **Required:** - Java JDK 17+ - jadx (CLI) **Optional (recommended):** - Vineflower or Fernflower β better output on complex Java code - dex2jar β needed to use Fernflower on APK/DEX files See `plugins/android-reverse-engineering/skills/android-reverse-engineering/references/setup-guide.md` for detailed installation instructions. ## Installation ### From GitHub (recommended) Inside Claude Code, run: [code] The skill will be permanently available in all future sessions. ### From a local clone [code] Then in Claude Code: [code] ## Usage ### Slash command [code] This runs the full workflow: dependency check, decompilation, and initial structure analysis. ### Natural language The skill activates on phrases like: - "Decompile this A