Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
android-reverse-engineering-skill — Dekompiliert Android-APK/XAPK/JAR/AAR-Dateien und extrahiert HTTP-APIs, Authentifizierungsmuster und Aufrufabläufe mithilfe von jadx, mit R8-resistenter Kotlin-Namenswiederherstellung für Sicherheitsforschung und Penetrationstests. | Kitploit
Tools/GitHubGitHub/simoneavogadro/android-reverse-engineering-skill
Android-SicherheitStatische AnalyseSchwachstellenanalyseMobile App-PenetrationstestsReverse EngineeringAPI-SicherheitstestsInformationsbeschaffungPenetrationstests

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Mobile Sicherheit
Binäranalyse
Lernen & Bildung
GitHubsimoneavogadro/android-reverse-engineering-skill

android-reverse-engineering-skill

Dekompiliert Android-APK/XAPK/JAR/AAR-Dateien und extrahiert HTTP-APIs, Authentifizierungsmuster und Aufrufabläufe mithilfe von jadx, mit R8-resistenter Kotlin-Namenswiederherstellung für Sicherheitsforschung und Penetrationstests.

Repository anzeigen
6.7k73768vor 8 TagenVon Kitploit geprüft

Android Reverse Engineering & API Extraction — Claude Code skill

License: Apache-2.0 GitHub stars GitHub last commit

Eine Claude Code Skill, die Android APK/XAPK/JAR/AAR-Dateien dekompiliert und die von der App verwendeten HTTP-APIs extrahiert — Retrofit-Endpunkte, OkHttp-Aufrufe, hartcodierte URLs, Authentifizierungsmuster — damit du sie dokumentieren und reproduzieren kannst, ohne den ursprünglichen Quellcode zu haben.

Erstklassige Kotlin-Unterstützung: Moderne Android-Apps sind Kotlin/KMP und stark mit R8 obfuskiert. Diese Skill rekonstruiert die ursprünglichen Kotlin-Klassennamen aus Metadaten, die R8 nicht entfernen kann, und extrahiert APIs aus Ktor, Apollo (GraphQL) und Koin — nicht nur aus dem klassischen Retrofit/OkHttp-Stack. Siehe Kotlin name recovery unten.

Windows / PowerShell-Unterstützung (experimentell): Die *.ps1-Skripte neben den Bash-Varianten sind ein kürzlicher Community-Beitrag und werden noch stabilisiert. Bei Problemen öffne bitte ein Issue in diesem Repository (nicht in den Upstream-Forks der Beitragenden): Die PowerShell-Skripte werden hier von @SimoneAvogadro gepflegt.

Inhaltsverzeichnis

  • Was es macht
  • Voraussetzungen
  • Installation
  • Verwendung
  • Repository-Struktur
  • Referenzen
  • Danksagungen
  • Haftungsausschluss
  • Lizenz

Was es macht

FähigkeitBeschreibung
Fingerprint zuerst (Phase 0)Triage einer APK/XAPK in Sekunden — erkennt das Framework (Flutter / React Native / Cordova / Xamarin / native-Kotlin), den HTTP-Stack, den Obfuskationsgrad und native Libs, bevor Zeit in eine vollständige Dekompilierung investiert wird
DekompilierenAPK-, XAPK-, JAR- und AAR-Dateien mit jadx und Fernflower/Vineflower (einzelne Engine oder Side-by-Side-Vergleich)
Kotlin-Namen wiederherstellenRekonstruiert ursprüngliche *Repository / *ViewModel / *UseCase-Klassennamen aus R8-obfuskierten Binärdateien mithilfe von Kotlin-Metadaten, die R8 nicht entfernen kann
APIs extrahierenRetrofit, OkHttp, Volley und moderne Kotlin/KMP-Stacks: Ktor, Apollo (GraphQL), Koin DI — Endpunkte, hartcodierte URLs, Auth-Header, Tokens und HMAC-Request-Signaturverfahren
Aufrufabläufe verfolgenVon Activities/Fragments über ViewModels und Repositories bis hin zu HTTP-Aufrufen
Struktur analysierenManifest, Pakete, Architekturmuster
Obfuskation behandelnR8-resistente Pfad-/URL-Extraktion sowie Strategien zur Navigation durch ProGuard/R8-Ausgaben

Voraussetzungen

Erforderlich:

  • Java JDK 17+
  • jadx (CLI)

Optional (empfohlen):

  • Vineflower oder Fernflower — bessere Ausgabe bei komplexem Java-Code
  • dex2jar — erforderlich, um Fernflower auf APK/DEX-Dateien anzuwenden

Detaillierte Installationsanweisungen findest du in plugins/android-reverse-engineering/skills/android-reverse-engineering/references/setup-guide.md.

Installation

Von GitHub (empfohlen)

Führe in Claude Code aus:

/plugin marketplace add SimoneAvogadro/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill

Die Skill ist dauerhaft in allen zukünftigen Sitzungen verfügbar.

Aus einem lokalen Clone

git clone https://github.com/SimoneAvogadro/android-reverse-engineering-skill.git

Dann in Claude Code:

/plugin marketplace add /path/to/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill

Verwendung

Slash-Befehl

/decompile path/to/app.apk

Dies führt den vollständigen Workflow aus: Abhängigkeitsprüfung, Dekompilierung und initiale Strukturanalyse.

Natürliche Sprache

Die Skill wird durch Formulierungen wie die folgenden aktiviert:

  • "Decompile this APK"
  • "Reverse engineer this Android app"
  • "Extract API endpoints from this app"
  • "Follow the call flow from LoginActivity"
  • "Analyze this AAR library"

Manuelle Skripte

Die Skripte können auch eigenständig verwendet werden:

# Check dependencies
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/check-deps.sh

# Install a missing dependency (auto-detects OS and package manager)
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/install-dep.sh jadx
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/install-dep.sh vineflower

# Fingerprint an APK/XAPK BEFORE decompiling (Phase 0 triage):
# framework, HTTP stack, obfuscation level, native libs, notable SDKs
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/fingerprint.sh app.apk

# Decompile APK with jadx (default)
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh app.apk

# Decompile XAPK (auto-extracts and decompiles each APK inside)
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh app-bundle.xapk

# Decompile with Fernflower
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh --engine fernflower library.jar

# Run both engines and compare
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh --engine both --deobf app.apk

# Find API calls — defaults to a full scan across every supported stack
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --retrofit
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --urls

# Modern Kotlin/KMP stacks and obfuscation-resistant extraction
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --ktor    # Ktor client
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --apollo  # Apollo / GraphQL
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --paths   # quoted path literals that survive R8 inlining

Kotlin name recovery (R8 deobfuscation)

Die meisten realen Kotlin/KMP-Apps werden durch R8 geschickt, sodass die dekompilierten Klassen als a.b.c herauskommen. R8 benennt die JVM-Symbole um, kann aber die Kotlin-Metadaten-Strings nicht entfernen — die Kotlin-Runtime (Reflection, Coroutines) benötigt die ursprünglichen vollqualifizierten Namen zur Laufzeit. Diese Skill durchsucht diese @DebugMetadata / @Metadata-Annotationen, um eine obfuscated → real-Klassennamen-Zuordnung zu rekonstruieren. Bei einer typischen App werden etwa 100 % der *Repository / *ViewModel / *UseCase / *Impl-Klassen wiederhergestellt, die man tatsächlich lesen möchte.

Tool herunterladen