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
Mensagem pronta para colar
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-jadxOu 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.mdConteú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
aapt2eadbpara inspeção de APK - apktool para desmontagem completa do APK, incluindo código smali e recursos
- Python 3.8+ com a biblioteca
androguardpara 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
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6187
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC