Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
android-reverse-engineering-skill — Descompila arquivos Android APK/XAPK/JAR/AAR e extrai APIs HTTP, padrões de autenticação e fluxos de chamada usando jadx, com recuperação de nomes Kotlin resistente a R8 para pesquisa de segurança e testes de penetração. | Kitploit
Ferramentas/GitHubGitHub/simoneavogadro/android-reverse-engineering-skill
Segurança AndroidAnálise EstáticaAnálise de VulnerabilidadesPentesting de Apps MóveisEngenharia ReversaTestes de Segurança de APIsColeta de InformaçõesTestes de Penetração

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Segurança Móvel
Análise de Binários
Aprendizado e Educação
GitHubsimoneavogadro/android-reverse-engineering-skill

android-reverse-engineering-skill

Descompila arquivos Android APK/XAPK/JAR/AAR e extrai APIs HTTP, padrões de autenticação e fluxos de chamada usando jadx, com recuperação de nomes Kotlin resistente a R8 para pesquisa de segurança e testes de penetração.

Ver Repositório
6.7k73734há 21 diasRevisado pelo Kitploit

Android Reverse Engineering & API Extraction — Habilidade do Claude Code

License: Apache-2.0 GitHub stars GitHub last commit

Uma habilidade do Claude Code que descompila arquivos APK/XAPK/JAR/AAR do Android e extrai as APIs HTTP usadas pelo aplicativo — endpoints Retrofit, chamadas OkHttp, URLs codificadas, padrões de autenticação — para que você possa documentá-las e reproduzi-las sem o código-fonte original.

Suporte de primeira classe para Kotlin: aplicativos Android modernos são Kotlin/KMP, fortemente ofuscados com R8. Esta habilidade recupera os nomes originais de classes Kotlin a partir de metadados que o R8 não pode remover, e extrai APIs de Ktor, Apollo (GraphQL) e Koin — não apenas da pilha clássica Retrofit/OkHttp. Veja Recuperação de nomes Kotlin abaixo.

Suporte para Windows / PowerShell (experimental): Os scripts *.ps1 que acompanham os bash são uma contribuição recente da comunidade, ainda em estabilização. Para quaisquer problemas, por favor abra uma issue neste repositório (não nos forks upstream dos contribuidores): os scripts PowerShell são mantidos aqui por @SimoneAvogadro.

Índice

  • O que faz
  • Requisitos
  • Instalação
  • Uso
  • Estrutura do Repositório
  • Referências
  • Agradecimentos
  • Aviso Legal
  • Licença

O que faz

CapacidadeDescrição
Impressão digital primeiro (Fase 0)Triagem de um APK/XAPK em segundos — detecta o framework (Flutter / React Native / Cordova / Xamarin / Kotlin nativo), pilha HTTP, nível de ofuscação e bibliotecas nativas antes de gastar tempo numa descompilação completa
DescompilarArquivos APK, XAPK, JAR e AAR usando jadx e Fernflower/Vineflower (motor único ou comparação lado a lado)
Recuperar nomes KotlinReconstruir nomes de classes originais *Repository / *ViewModel / *UseCase a partir de binários ofuscados por R8 usando metadados Kotlin que o R8 não pode remover
Extrair APIsRetrofit, OkHttp, Volley e pilhas modernas Kotlin/KMP: Ktor, Apollo (GraphQL), Koin DI — endpoints, URLs codificadas, cabeçalhos de autenticação, tokens e esquemas de assinatura de requisição HMAC
Rastrear fluxos de chamadaDe Activities/Fragments através de ViewModels e repositórios até chamadas HTTP
Analisar estruturaManifesto, pacotes, padrões de arquitetura
Lidar com ofuscaçãoExtração de caminhos/URLs resistente ao R8, além de estratégias para navegar na saída do ProGuard/R8

Requisitos

Obrigatório:

  • Java JDK 17+
  • jadx (CLI)

Opcional (recomendado):

  • Vineflower ou Fernflower — melhor saída em código Java complexo
  • dex2jar — necessário para usar Fernflower em arquivos APK/DEX

Consulte plugins/android-reverse-engineering/skills/android-reverse-engineering/references/setup-guide.md para instruções detalhadas de instalação.

Instalação

Do GitHub (recomendado)

Dentro do Claude Code, execute:

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

A habilidade estará permanentemente disponível em todas as sessões futuras.

De um clone local

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

Em seguida, no Claude Code:

/plugin marketplace add /caminho/para/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill

Uso

Comando de barra

/decompile caminho/para/app.apk

Isso executa o fluxo de trabalho completo: verificação de dependências, descompilação e análise de estrutura inicial.

Linguagem natural

A habilidade ativa com frases como:

  • "Descompile este APK"
  • "Faça engenharia reversa deste aplicativo Android"
  • "Extraia endpoints de API deste aplicativo"
  • "Siga o fluxo de chamada do LoginActivity"
  • "Analise esta biblioteca AAR"

Scripts manuais

Os scripts também podem ser usados de forma independente:

# Verificar dependências
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/check-deps.sh

# Instalar uma dependência ausente (detecta automaticamente o SO e gerenciador de pacotes)
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

# Impressão digital de um APK/XAPK ANTES de descompilar (triagem Fase 0):
# framework, pilha HTTP, nível de ofuscação, bibliotecas nativas, SDKs notáveis
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/fingerprint.sh app.apk

# Descompilar APK com jadx (padrão)
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh app.apk

# Descompilar XAPK (extrai e descompila automaticamente cada APK interno)
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh app-bundle.xapk

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

# Executar ambos os motores e comparar
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/decompile.sh --engine both --deobf app.apk

# Encontrar chamadas de API — padrão para uma varredura completa em todas as pilhas suportadas
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

# Pilhas modernas Kotlin/KMP e extração resistente a ofuscação
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/find-api-calls.sh output/sources/ --ktor    # Cliente Ktor
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   # literais de caminho entre aspas que sobrevivem à inlining do R8

Recuperação de nomes Kotlin (desofuscação R8)

A maioria dos aplicativos Kotlin/KMP do mundo real é distribuída através do R8, então as classes descompiladas aparecem como a.b.c. O R8 renomeia os símbolos JVM, mas não pode remover as strings de metadados Kotlin — o runtime Kotlin (reflexão, corrotinas) precisa dos nomes totalmente qualificados originais em tempo de execução. Esta habilidade extrai essas anotações @DebugMetadata / @Metadata para reconstruir um mapa de nomes de classe ofuscado → real. Em um aplicativo típico, recupera ~100% das classes *Repository / *ViewModel / *UseCase / *Impl que você realmente deseja ler.

Baixar ferramenta