Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
android-reverse-engineering-skill — Decompila file APK/XAPK/JAR/AAR Android ed estrae API HTTP, pattern di autenticazione e flussi di chiamata utilizzando jadx, con recupero dei nomi Kotlin resistenti a R8 per ricerca sulla sicurezza e penetration testing. | Kitploit
Strumenti/GitHubGitHub/simoneavogadro/android-reverse-engineering-skill
Sicurezza AndroidAnalisi StaticaAnalisi delle VulnerabilitàPentesting di App MobiliReverse EngineeringTest di Sicurezza delle APIRaccolta InformazioniPenetration Testing

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sicurezza Mobile
Analisi di Binari
Apprendimento e Formazione
GitHubsimoneavogadro/android-reverse-engineering-skill

android-reverse-engineering-skill

Decompila file APK/XAPK/JAR/AAR Android ed estrae API HTTP, pattern di autenticazione e flussi di chiamata utilizzando jadx, con recupero dei nomi Kotlin resistenti a R8 per ricerca sulla sicurezza e penetration testing.

Vedi Repository
6.7k737739 giorni faRevisionato da Kitploit

Android Reverse Engineering & API Extraction — Skill per Claude Code

License: Apache-2.0 GitHub stars GitHub last commit

Una skill per Claude Code che decompila file APK/XAPK/JAR/AAR di Android ed estrae le API HTTP utilizzate dall'app — endpoint Retrofit, chiamate OkHttp, URL hardcoded, pattern di autenticazione — così puoi documentarle e riprodurle senza il codice sorgente originale.

Supporto Kotlin di prima classe: le app Android moderne sono Kotlin/KMP, pesantemente offuscate con R8. Questa skill recupera i nomi originali delle classi Kotlin dai metadati che R8 non può rimuovere, ed estrae le API da Ktor, Apollo (GraphQL) e Koin — non solo dal classico stack Retrofit/OkHttp. Vedi Recupero dei nomi Kotlin di seguito.

Supporto Windows / PowerShell (sperimentale): gli script *.ps1 affiancati a quelli bash sono un recente contributo della community, ancora in fase di stabilizzazione. Per qualsiasi problema, apri una issue su questo repository (non sui fork upstream dei contributori): gli script PowerShell sono mantenuti qui da @SimoneAvogadro.

Indice

  • Cosa fa
  • Requisiti
  • Installazione
  • Utilizzo
  • Struttura del repository
  • Riferimenti
  • Ringraziamenti
  • Disclaimer
  • Licenza

Cosa fa

FunzionalitàDescrizione
Fingerprint first (Fase 0)Analizza un APK/XAPK in pochi secondi — rileva il framework (Flutter / React Native / Cordova / Xamarin / native-Kotlin), lo stack HTTP, il livello di offuscamento e le librerie native prima di dedicare tempo a una decompilazione completa
DecompilaFile APK, XAPK, JAR e AAR usando jadx e Fernflower/Vineflower (motore singolo o confronto affiancato)
Recupera i nomi KotlinRicostruisce i nomi originali delle classi *Repository / *ViewModel / *UseCase da binari offuscati con R8 usando i metadati Kotlin che R8 non può rimuovere
Estrae le APIRetrofit, OkHttp, Volley e stack moderni Kotlin/KMP: Ktor, Apollo (GraphQL), Koin DI — endpoint, URL hardcoded, header di autenticazione, token e schemi di firma delle richieste HMAC
Traccia i flussi di chiamataDa Activities/Fragments attraverso ViewModels e repository fino alle chiamate HTTP
Analizza la strutturaManifest, package, pattern architetturali
Gestisce l'offuscamentoEstrazione di path/URL resistente a R8 e strategie per navigare l'output di ProGuard/R8

Requisiti

Obbligatori:

  • Java JDK 17+
  • jadx (CLI)

Opzionali (consigliati):

  • Vineflower o Fernflower — output migliore su codice Java complesso
  • dex2jar — necessario per usare Fernflower su file APK/DEX

Vedi plugins/android-reverse-engineering/skills/android-reverse-engineering/references/setup-guide.md per istruzioni dettagliate sull'installazione.

Installazione

Da GitHub (consigliato)

All'interno di Claude Code, esegui:

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

La skill sarà disponibile in modo permanente in tutte le sessioni future.

Da un clone locale

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

Poi in Claude Code:

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

Utilizzo

Comando slash

/decompile path/to/app.apk

Questo esegue il flusso di lavoro completo: verifica delle dipendenze, decompilazione e analisi iniziale della struttura.

Linguaggio naturale

La skill si attiva con frasi come:

  • "Decompila questo APK"
  • "Fai reverse engineering di questa app Android"
  • "Estrai gli endpoint API da questa app"
  • "Segui il flusso di chiamata da LoginActivity"
  • "Analizza questa libreria AAR"

Script manuali

Gli script possono anche essere usati in modo autonomo:

# 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

Recupero dei nomi Kotlin (deoffuscamento R8)

La maggior parte delle app Kotlin/KMP reali viene distribuita attraverso R8, quindi le classi decompilate risultano come a.b.c. R8 rinomina i simboli JVM ma non può rimuovere le stringhe dei metadati Kotlin — il runtime Kotlin (reflection, coroutine) necessita dei nomi completi originali a runtime. Questa skill estrae quelle annotazioni @DebugMetadata / @Metadata per ricostruire una mappa offuscato → reale dei nomi delle classi. Su un'app tipica recupera circa il 100% delle classi *Repository / *ViewModel / *UseCase / *Impl che vuoi effettivamente leggere.

# 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/
Scarica lo strumento