Pular para o conteúdo
Skillpedia
Testes35 mil · #6060

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-dynamic-analysis-of-android-app/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-dynamic-analysis-of-android-app/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-app

Ou 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.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.

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-tools e objection
  • 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

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6060
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