Pular para o conteúdo
Skillpedia
Diversos35 mil · #6187

reverse-engineering-android-malware-with-jadx

Permite que seu agente analise aplicativos maliciosos para Android. Ele decompila o código para entender como o malware funciona. É útil para investigar ameaças em dispositivos móveis.

O que ela faz

Esta ferramenta ajuda a analisar aplicativos de celular (arquivos APK) suspeitos de serem maliciosos. Ela decompila o código do aplicativo para que você possa ler como ele foi feito, verificar as permissões que ele pede e encontrar atividades perigosas como roubo de dados ou comunicação com servidores maliciosos.

Quando usar

  • ✓Quando um aplicativo de celular parece suspeito ou foi marcado como perigoso.
  • ✓Ao investigar aplicativos que roubam informações bancárias, espionam ou enviam SMS sem permissão.
  • ✓Para descobrir quais dados um aplicativo coleta, para onde envia e quais permissões abusa.

Exemplo do que pedir para a IA

“Analise este aplicativo suspeito para ver se ele rouba dados ou se comunica com servidores maliciosos.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/reverse-engineering-android-malware-with-jadx/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/reverse-engineering-android-malware-with-jadx/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa programas como JADX para transformar o código compilado do aplicativo de volta em algo que se parece com o código original. Em seguida, ela procura por padrões de código que indicam atividades maliciosas, como acesso a SMS, localização ou comunicação pela internet.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill reverse-engineering-android-malware-with-jadx

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/reverse-engineering-android-malware-with-jadx/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Engenharia Reversa de Malware Android com JADX

Quando Usar

  • Um APK Android suspeito foi reportado como malicioso ou sinalizado pela detecção de ameaças móveis
  • Análise de trojans bancários Android, spyware, SMS stealers ou amostras de adware
  • Determinar quais dados um aplicativo coleta, para onde os envia e quais permissões abusa
  • Extrair endereços de servidores C2, chaves de criptografia e dados de configuração de malware Android
  • Compreender mecanismos de ataque de overlay usados por trojans bancários

Não use para analisar bibliotecas nativas ofuscadas (.so) dentro de APKs; use Ghidra ou IDA para análise de binários ARM nativos.

Pré-requisitos

  • JADX 1.5+ instalado (baixe em https://github.com/skylot/jadx/releases)
  • Android SDK com aapt2 e adb para inspeção de APK
  • apktool para desmontagem completa do APK, incluindo código smali e recursos
  • Python 3.8+ com a biblioteca androguard para análise automatizada de APK
  • Frida para instrumentação dinâmica (opcional, para análise em tempo de execução)
  • Emulador Android isolado (Genymotion ou Android Studio AVD) sem serviços Google

Fluxo de Trabalho

Passo 1: Extrair Metadados e Permissões do APK

Examine a estrutura do APK e o AndroidManifest.xml:

# Get APK basic info
aapt2 dump badging malware.apk

# Extract AndroidManifest.xml
apktool d malware.apk -o apk_extracted/ -f

# Analyze permissions with androguard
python3 << 'PYEOF'
from androguard.core.apk import APK

apk = APK("malware.apk")

print(f"Package:    {apk.get_package()}")
print(f"App Name:   {apk.get_app_name()}")
print(f"Version:    {apk.get_androidversion_name()}")
print(f"Min SDK:    {apk.get_min_sdk_version()}")
print(f"Target SDK: {apk.get_target_sdk_version()}")

# Dangerous permissions
dangerous_perms = {
    "android.permission.READ_SMS": "SMS theft",
    "android.permission.RECEIVE_SMS": "SMS interception",
    "android.permission.SEND_SMS": "Premium SMS fraud",
    "android.permission.READ_CONTACTS": "Contact harvesting",
    "android.permission.READ_CALL_LOG": "Call log theft",
    "android.permission.RECORD_AUDIO": "Audio surveillance",
    "android.permission.CAMERA": "Camera surveillance",
    "android.permission.ACCESS_FINE_LOCATION": "Location tracking",
    "android.permission.READ_PHONE_STATE": "Device fingerprinting",
    "android.permission.SYSTEM_ALERT_WINDOW": "Overlay attacks",
    "android.permission.BIND_ACCESSIBILITY_SERVICE": "Full device control",
    "android.permission.REQUEST_INSTALL_PACKAGES": "Sideloading apps",
    "android.permission.BIND_DEVICE_ADMIN": "Device admin abuse",
}

print("\nDangerous Permissions:")
for perm in apk.get_permissions():
    if perm in dangerous_perms:
        print(f"  [!] {perm}")
        print(f"      Risk: {dangerous_perms[perm]}")
    elif "android.permission" in perm:
        print(f"  [*] {perm}")

# Components
print("\nActivities:")
for act in apk.get_activities():
    print(f"  {act}")

print("\nServices:")
for svc in apk.get_services():
    print(f"  {svc}")

print("\nReceivers:")
for rcv in apk.get_receivers():
    print(f"  {rcv}")
PYEOF

Passo 2: Descompilar com JADX

Abra o APK no JADX para análise de código fonte Java/Kotlin:

# Open in JADX GUI
jadx-gui malware.apk

# Command-line decompilation for scripted analysis
jadx -d jadx_output/ malware.apk --show-bad-code

# Decompile with all options
jadx -d jadx_output/ malware.apk \
  --deobf \
  --deobf-min 3 \
  --deobf-max 64 \
  --show-bad-code \
  --threads-count 4

# The output directory structure:
# jadx_output/
#   sources/           <- Decompiled Java source code
#     com/malware/app/
#       MainActivity.java
#       C2Service.java
#       SMSReceiver.java
#   resources/         <- Decoded resources (layouts, strings, assets)
#     AndroidManifest.xml
#     res/
#     assets/

Passo 3: Identificar Funcionalidade Maliciosa

Procure por padrões de código suspeitos nas fontes descompiladas:

# Procurar por comunicação de rede
grep -rn "HttpURLConnection\|OkHttpClient\|Retrofit\|Volley\|URL(" jadx_output/sources/

# Procurar por operações de SMS
grep -rn "SmsManager\|getDefault().sendTextMessage\|SMS_RECEIVED" jadx_output/sources/

# Procurar por código de ataque de overlay
grep -rn "SYSTEM_ALERT_WINDOW\|TYPE_APPLICATION_OVERLAY\|WindowManager.LayoutParams" jadx_output/sources/

# Procurar por abuso de serviço de acessibilidade
grep -rn "AccessibilityService\|onAccessibilityEvent\|performAction" jadx_output/sources/

# Procurar por exfiltração de dados

…
Perguntas frequentes

O que é um arquivo APK?

APK é o formato de arquivo usado para distribuir e instalar aplicativos em dispositivos Android. É como um pacote que contém todo o código e os recursos do aplicativo.

O que significa 'engenharia reversa'?

Engenharia reversa é o processo de desmontar algo (neste caso, um aplicativo) para entender como ele funciona, geralmente para descobrir seus segredos ou como foi construído.

Posso usar isso em qualquer aplicativo?

Esta ferramenta é específica para analisar aplicativos Android suspeitos de serem maliciosos. Ela não é para uso geral e pode não funcionar bem com aplicativos que usam técnicas de ofuscação muito avançadas ou código nativo.

Detalhes

Descrição original do autor

Reverse engineers malicious Android APK files using the JADX decompiler to read Java/Kotlin source, inspect manifest permissions, receivers, services, and native libraries, and identify data theft, C2 communication, privilege escalation, or overlay-attack behavior. Use when analyzing a suspected Android banking trojan, spyware, SMS stealer, or other flagged APK, or when investigating mobile malwar

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6187
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas