Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 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-SicherheitstestsInformationsbeschaffungPenetrationstestsMobile Sicherheit

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
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.7k73714vor 1 TagVon Kitploit geprüft

Android Reverse Engineering & API-Extraktion — Claude-Code-Skill

License: Apache-2.0 GitHub stars GitHub last commit

Ein Claude-Code-Skill, das Android-APK/XAPK/JAR/AAR-Dateien dekompiliert und die HTTP-APIs extrahiert, die von der App verwendet werden — Retrofit-Endpunkte, OkHttp-Aufrufe, hartkodierte URLs, Authentifizierungsmuster — sodass du sie ohne den ursprünglichen Quellcode dokumentieren und reproduzieren kannst.

Kotlin-Unterstützung erster Klasse: Moderne Android-Apps sind Kotlin/KMP und werden mit R8 stark verschleiert. Dieses Skill stellt die ursprünglichen Kotlin-Klassennamen aus Metadaten wieder her, die R8 nicht entfernen kann, und extrahiert APIs aus Ktor, Apollo (GraphQL) und Koin — nicht nur aus dem klassischen Retrofit/OkHttp-Stack. Siehe Kotlin-Namenswiederherstellung unten.

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

Inhaltsverzeichnis

  • Funktionsumfang
  • Anforderungen
  • Installation
  • Verwendung
  • Repository-Struktur
  • Referenzen
  • Danksagungen
  • Haftungsausschluss
  • Lizenz

Funktionsumfang

Anforderungen

Erforderlich:

  • Java JDK 17+
  • jadx (CLI)

Optional (empfohlen):

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

Ausführliche 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 Folgendes aus:

root@kitploit:~
/plugin marketplace add SimoneAvogadro/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill

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

Aus einem lokalen Klon

root@kitploit:~
git clone https://github.com/SimoneAvogadro/android-reverse-engineering-skill.git

Dann in Claude Code:

root@kitploit:~
/plugin marketplace add /path/to/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill

Verwendung

Slash-Befehl

root@kitploit:~
/decompile path/to/app.apk

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

Natürliche Sprache

Das Skill aktiviert sich bei Formulierungen wie:

  • „Dekompiliere diese APK"
  • „Führe Reverse Engineering an dieser Android-App durch"
  • „Extrahiere API-Endpunkte aus dieser App"
  • „Verfolge den Aufrufablauf von LoginActivity"
  • „Analysiere diese AAR-Bibliothek"

Manuelle Skripte

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

root@kitploit:~
# 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-Namenswiederherstellung (R8-Entschleierung)

Die meisten realen Kotlin/KMP-Apps werden über R8 ausgeliefert, daher erscheinen die dekompilierten Klassen als a.b.c. R8 benennt die JVM-Symbole um, kann aber die Kotlin-Metadaten-Strings nicht entfernen — die Kotlin-Laufzeit (Reflection, Coroutines) benötigt die ursprünglichen vollqualifizierten Namen zur Laufzeit. Dieses Skill durchsucht diese @DebugMetadata- / @Metadata-Annotationen, um eine obfuscated → real-Klassennamen-Zuordnung zu erstellen. Bei einer typischen App stellt es ~100 % der *Repository- / *ViewModel- / *UseCase- / *Impl-Klassen wieder her, die du tatsächlich lesen möchtest.

root@kitploit:~
# 1. Build the mapping from the decompiled sources
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/recover-kotlin-names.sh output/sources/ output/names/
#    → output/names/mapping.tsv, mapping.json, by_package/

# 2. Query it: resolve an obfuscated name, search by real name, or grep
#    the sources with each hit annotated with its recovered class name
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/lookup-name.sh output/names/ LoginRepository
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/lookup-name.sh output/names/ -o a.b.c
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/lookup-name.sh output/names/ --grep 'login' output/sources/

Repository-Struktur

root@kitploit:~
android-reverse-engineering-skill/
├── .claude-plugin/
│   └── marketplace.json                    # Marketplace catalog
├── plugins/
│   └── android-reverse-engineering/
│       ├── .claude-plugin/
│       │   └── plugin.json                 # Plugin manifest
│       ├── skills/
│       │   └── android-reverse-engineering/
│       │       ├── SKILL.md                # Core workflow (Phase 0–5)
│       │       ├── references/
│       │       │   ├── setup-guide.md
│       │       │   ├── jadx-usage.md
│       │       │   ├── fernflower-usage.md
│       │       │   ├── api-extraction-patterns.md
│       │       │   ├── kotlin-name-recovery.md
│       │       │   ├── third_party_hosts.txt   # denylist for first/third-party bucketing
│       │       │   └── call-flow-analysis.md
│       │       └── scripts/
│       │           ├── check-deps.sh       # Bash
│       │           ├── check-deps.ps1      # PowerShell
│       │           ├── install-dep.sh
│       │           ├── install-dep.ps1
│       │           ├── decompile.sh
│       │           ├── decompile.ps1
│       │           ├── fingerprint.sh          # Phase 0 — pre-decompile triage
│       │           ├── recover-kotlin-names.sh # R8 → real Kotlin class names
│       │           ├── lookup-name.sh          # query the recovered name map
│       │           ├── find-api-calls.sh
│       │           └── find-api-calls.ps1
│       └── commands/
│           └── decompile.md                # /decompile slash command
├── LICENSE
└── README.md

Referenzen

  • jadx — Dex-zu-Java-Dekompilierer
  • Fernflower — analytischer Dekompilierer von JetBrains
  • Vineflower — Fernflower-Community-Fork
  • dex2jar — DEX-zu-JAR-Konverter
  • apktool — Android-Ressourcen-Decoder

Danksagungen

Dank an die Mitwirkenden, die dieses Skill geprägt haben:

  • @tajchert — Phase-0-Fingerprinting, R8-resistente Kotlin-Namenswiederherstellung (recover-kotlin-names.sh, lookup-name.sh) und Ktor-/Apollo-/Koin-/HMAC-Extraktionsmuster (#16)
  • @philjn — Native Windows-/PowerShell-Unterstützung (check-deps.ps1, install-dep.ps1, decompile.ps1, find-api-calls.ps1) und Erkennung von Split-/gebündelten APKs in decompile.sh (#8)
  • @txhno — Migration zum gepflegten ThexXTURBOXx/dex2jar-Fork (#12)
  • @muqiao215 — Behandlung von Teilerfolgen bei der Dekompilierung, Fernflower-Timeout-Absicherung, Verzeichnis für Zwischenartefakte (#10)
  • @kevinaimonster — Chinesische Lokalisierung (SKILL.md-Suchschlüsselwörter) (#4)

Haftungsausschluss

Dieses Plugin wird ausschließlich für rechtmäßige Zwecke bereitgestellt, einschließlich, aber nicht beschränkt auf:

  • Sicherheitsforschung und autorisierte Penetrationstests
  • Interoperabilitätsanalyse, soweit nach geltendem Recht zulässig (z. B. EU-Richtlinie 2009/24/EG, US-DMCA §1201(f))
  • Malware-Analyse und Incident Response
  • Bildungszwecke und CTF-Wettbewerbe

Du bist allein dafür verantwortlich, sicherzustellen, dass deine Nutzung dieses Tools allen geltenden Gesetzen, Vorschriften und Nutzungsbedingungen entspricht. Nicht autorisiertes Reverse Engineering von Software, die du nicht besitzt oder für deren Analyse du keine Berechtigung hast, kann gegen Gesetze zum Schutz geistigen Eigentums und Computerbetrugsgesetze in deiner Rechtsordnung verstoßen.

Die Autoren lehnen jegliche Haftung für den Missbrauch dieses Tools ab.

Lizenz

Apache 2.0 — siehe LICENSE

Tool herunterladen
FähigkeitBeschreibung
Zuerst Fingerprint (Phase 0)APK/XAPK in Sekunden bewerten — das Framework (Flutter / React Native / Cordova / Xamarin / natives Kotlin), den HTTP-Stack, den Verschleierungsgrad und native Bibliotheken erkennen, bevor du Zeit in eine vollständige Dekompilierung investierst
DekompilierenAPK-, XAPK-, JAR- und AAR-Dateien mit jadx und Fernflower/Vineflower (einzelne Engine oder Side-by-Side-Vergleich)
Kotlin-Namen wiederherstellenUrsprüngliche *Repository- / *ViewModel- / *UseCase-Klassennamen aus R8-verschleierten Binärdateien mithilfe von Kotlin-Metadaten rekonstruieren, die R8 nicht entfernen kann
APIs extrahierenRetrofit, OkHttp, Volley und moderne Kotlin/KMP-Stacks: Ktor, Apollo (GraphQL), Koin DI — Endpunkte, hartkodierte URLs, Auth-Header, Tokens und HMAC-Anfragesignaturschemata
Aufrufabläufe verfolgenVon Activities/Fragments über ViewModels und Repositories bis hin zu HTTP-Aufrufen
Struktur analysierenManifest, Pakete, Architekturmuster
Verschleierung handhabenR8-resistente Pfad-/URL-Extraktion sowie Strategien zur Navigation durch ProGuard/R8-Ausgaben