performing-dynamic-analysis-of-android-app
Ajuda seu agente a testar aplicativos Android em tempo de execução para falhas de segurança, interceptando chamadas e modificando valores.
O que ela faz
Esta ferramenta permite investigar como um aplicativo Android funciona enquanto ele está rodando. Ela ajuda a ver o que o aplicativo está fazendo em tempo real, mudar valores e encontrar falhas de segurança que não são visíveis apenas lendo o código.
Quando usar
- ✓Quando você precisa confirmar o que o código diz em um celular de verdade.
- ✓Se o aplicativo tenta esconder seu funcionamento com técnicas avançadas.
- ✓Para ver quais informações o aplicativo envia ou recebe, ou como ele protege dados.
Exemplo do que pedir para a IA
“Quero investigar como o aplicativo 'com.example.app' lida com senhas em tempo real.”
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
Ela usa ferramentas como Frida e Objection para 'escutar' o que o aplicativo faz enquanto roda. Você pode ver chamadas de funções, dados sendo trocados e até modificar valores para testar a segurança.
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 performing-dynamic-analysis-of-android-appOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-dynamic-analysis-of-android-app/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.
Realizando Análise Dinâmica de Aplicativos Android
Quando Usar
Use esta habilidade quando:
- Os resultados da análise estática precisam de validação em tempo de execução em um dispositivo Android real
- O aplicativo alvo usa ofuscação (DexGuard, empacotadores personalizados) que impede uma análise estática eficaz
- Testes exigem a observação de chamadas de API reais, dados descriptografados ou valores gerados em tempo de execução
- Avaliando implementações de detecção de root, detecção de adulteração ou anti-debugging
Não use esta habilidade em ambientes de produção sem autorização -- a instrumentação dinâmica pode alterar o comportamento do aplicativo e disparar alertas de segurança.
Pré-requisitos
- Dispositivo Android com root ou emulador (Genymotion, AVD do Android Studio com sistema gravável)
- Servidor Frida instalado no dispositivo, correspondendo à arquitetura (arm64, x86_64)
- Python 3.10+ com os pacotes
frida-toolseobjection - ADB configurado e dispositivo conectado
- APK alvo instalado no dispositivo
Fluxo de Trabalho
Etapa 1: Configurar o Servidor Frida no Dispositivo Android
# Check device architecture
adb shell getprop ro.product.cpu.abi
# Output: arm64-v8a
# Download matching Frida server from GitHub releases
# https://github.com/frida/frida/releases
# Push to device
adb push frida-server-16.x.x-android-arm64 /data/local/tmp/frida-server
adb shell chmod 755 /data/local/tmp/frida-server
adb shell /data/local/tmp/frida-server &
# Verify Frida connection
frida-ps -U
Etapa 2: Enumerar a Superfície de Ataque do Aplicativo
# List all packages
frida-ps -U -a
# Attach Objection for high-level exploration
objection --gadget com.target.app explore
# List activities, services, receivers
android hooking list activities
android hooking list services
android hooking list receivers
# List loaded classes
android hooking list classes
android hooking search classes com.target.app
Etapa 3: Hookar Métodos Sensíveis
# Hook all methods of a class
android hooking watch class com.target.app.auth.LoginManager
# Hook specific method with argument dumping
android hooking watch class_method com.target.app.auth.LoginManager.authenticate --dump-args --dump-return
# Hook crypto operations
android hooking watch class javax.crypto.Cipher --dump-args
android hooking watch class java.security.MessageDigest --dump-args
# Hook network calls
android hooking watch class okhttp3.OkHttpClient --dump-args
android hooking watch class java.net.URL --dump-args
Etapa 4: Escrever Scripts Frida Personalizados para Análise Profunda
// hook_crypto.js - Intercept encryption/decryption operations
Java.perform(function() {
var Cipher = Java.use("javax.crypto.Cipher");
Cipher.doFinal.overload("[B").implementation = function(input) {
var mode = this.getAlgorithm();
console.log("[Cipher] Algorithm: " + mode);
console.log("[Cipher] Input: " + bytesToHex(input));
var result = this.doFinal(input);
console.log("[Cipher] Output: " + bytesToHex(result));
return result;
};
function bytesToHex(bytes) {
var hex = [];
for (var i = 0; i < bytes.length; i++) {
hex.push(("0" + (bytes[i] & 0xFF).toString(16)).slice(-2));
}
return hex.join("");
}
});
# Execute custom Frida script
frida -U -f com.target.app -l hook_crypto.js --no-pause
Etapa 5: Contornar a Detecção de Root
// root_bypass.js - Common root detection bypass
Java.perform(function() {
// Bypass RootBeer library
var RootBeer = Java.use("com.scottyab.rootbeer.RootBeer");
RootBeer.isRooted.implementation = function() {
console.log("[RootBeer] isRooted() bypassed");
return false;
};
// Bypass generic file-based root checks
var File = Java.use("java.io.File");
var originalExists = File.exists;
File.exists.implementation = function() {
var path = this.getAbsolutePath();
var rootPaths = ["/system/app/Superuser.apk", "/system/xbin/su",
"/sbin/su", "/system/bin/su", "/data/local/bin/su"];
if (rootPaths.indexOf(path) >= 0) {
console.log("[Root] Blocked check for: " + path);
return false;
}
return originalExists.call(this);
};
// Bypass SafetyNet/Play Integrity
try {
var SafetyNet = Java.use("com.google.android.gms.safetynet.SafetyNetApi");
console.log("[SafetyNet] Class found - may need additional bypass");
} catch(e) {}
});
Etapa 6: Analisar Comunicação de Rede em Tempo de Execução
…
Perguntas frequentes
Preciso de um celular especial?
Sim, você precisa de um celular Android com acesso de 'root' (administrador) ou um emulador que permita isso. Também é preciso instalar um programa chamado Frida Server no celular.
O que é 'hooking'?
'Hooking' é como colocar um 'gancho' em uma função do aplicativo para que você possa ver quando ela é chamada, quais informações ela recebe e o que ela retorna.
Posso usar isso em qualquer aplicativo?
Você pode usar em qualquer aplicativo Android, mas lembre-se de só fazer isso em aplicativos que você tem permissão para testar. Mexer em aplicativos sem autorização pode ser ilegal e alertar os sistemas de segurança.
Detalhes
Descrição original do autor
Performs runtime dynamic analysis of Android applications using Frida, Objection, and Android Debug Bridge to observe application behavior during execution, intercept function calls, modify runtime values, and identify vulnerabilities that static analysis misses. Use when testing Android apps for runtime security flaws, hooking sensitive methods, bypassing client-side protections, or analyzing obf
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6060
- 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
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC