Pular para o conteúdo
Skillpedia
Código em geral42 mil · #4748

apk-reverse

Faz seu agente realizar engenharia reversa em aplicativos Android (APK). Ele descompacta, decompila, modifica e analisa código nativo para entender o funcionamento do app.

O que ela faz

Este agente ajuda a analisar aplicativos Android (arquivos APK) no seu computador. Ele pode abrir o aplicativo, ver o código escrito em Java, modificar partes dele e até mesmo reconstruir o aplicativo.

Quando usar

  • ✓Quando você quer ver como um aplicativo Android funciona por dentro.
  • ✓Se você precisa alterar o comportamento de um aplicativo.
  • ✓Para investigar partes específicas de um aplicativo, como login ou segurança.

Exemplo do que pedir para a IA

“Analise o aplicativo 'meu_app.apk', extraia o código Java e liste as permissões.”

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/zhaoxuya520/reverse-skill/blob/main/skills/apk-reverse/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/apk-reverse/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele usa ferramentas como Jadx e Apktool para abrir o APK. Depois, você pode ver o código, fazer alterações e reconstruir o aplicativo.

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 zhaoxuya520/reverse-skill --skill apk-reverse

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/zhaoxuya520/reverse-skill/main/skills/apk-reverse/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.

AÇÃO NECESSÁRIA (Execute imediatamente após a leitura)

Comparativo da comunidade para extração de endpoints/Frida adaptativa, etc.: ../references/community-security-skills.md; Análise dinâmica requer autorização de escopo para o dispositivo.

  1. NOW: Ler ../field-journal/precedent-reverse.md — Confirme se a operação desta skill é uma operação regular autorizada
  2. NOW: Confirme se a tarefa atual se enquadra no escopo desta skill
  3. NEXT: Ler ../tool-index.md, verificar a disponibilidade e o caminho real da ferramenta
  4. NEXT: Ao faltar ferramentas, chame o bootstrap, não adivinhe o caminho
  5. ACT: Entre na primeira etapa do "fluxo de trabalho" e execute, não pare no estado de confirmação

Especificação de Tarefas CLI de Engenharia Reversa de APK

Escopo

Esta skill deve ser usada prioritariamente quando a tarefa se enquadra nos seguintes cenários:

  • Analisar a lógica de negócios Java de APKs
  • Localizar login, assinatura, controle de risco, verificação de certificado, detecção de root
  • Visualizar e modificar AndroidManifest.xml
  • Visualizar e modificar smali
  • Reempacotar APKs
  • Realizar Hook dinâmico Java/nativo com Frida
  • Mudar para análise nativa quando o APK contiver .so

Ferramentas CLI Disponíveis e Verificadas na Máquina Atual

  • jadx 1.5.5
  • apktool 3.0.2
  • frida-ps 17.9.6
  • adb
  • java

Cenários para Uso Prioritário de Scripts

Os seguintes fluxos são de alta frequência e os parâmetros são propensos a erros, portanto, use os scripts integrados da skill prioritariamente:

  • Concluir o despejo de jadx + apktool em disco e gerar um resumo em uma única etapa: scripts/decode.ps1
  • Verificação de dispositivo Frida, listagem de processos, injeção spawn/attach: scripts/frida-run.ps1
  • Reconstruir, alinhar, assinar e instalar APKs: scripts/rebuild-sign-install.ps1
  • Extrair rapidamente componentes e permissões chave do Manifest: scripts/manifest-summary.ps1

Os seguintes comandos de linha única devem ser chamados diretamente, sem encapsulamento separado:

  • adb devices
  • adb logcat
  • frida-ps -U
  • jadx --version
  • apktool --version

Scripts Integrados

scripts/decode.ps1

Uso:

  • Executar uniformemente jadx e apktool
  • Cria um diretório de saída da tarefa no mesmo diretório do APK original por padrão
  • Gera resumos como package, java_files, smali_dirs, so_files
  • Compatível com casos em que a descompilação de jadx falha parcialmente, mas ainda produz artefatos utilizáveis

Exemplo:

pwsh -File "<skill-root>\apk-reverse\scripts\decode.ps1" -ApkPath "D:\DOWNLOAD\app.apk" -Clean
pwsh -File "<skill-root>\apk-reverse\scripts\decode.ps1" -ApkPath "D:\DOWNLOAD\app.apk" -Name demo -SkipJadx

scripts/frida-run.ps1

Uso:

  • Entrada unificada para dispositivos, processos, spawn/attach do Frida
  • Evita confusão de -f, -n, -U ao digitar parâmetros manualmente

Exemplo:

pwsh -File "<skill-root>\apk-reverse\scripts\frida-run.ps1" -ListDevices
pwsh -File "<skill-root>\apk-reverse\scripts\frida-run.ps1" -Usb -ListProcesses
pwsh -File "<skill-root>\apk-reverse\scripts\frida-run.ps1" -Usb -Spawn -Package com.example.app -ScriptPath "D:\hooks\test.js"

scripts/rebuild-sign-install.ps1

Uso:

  • Reconstruir APK com apktool b
  • Alinhar com zipalign
  • Assinar e verificar assinatura com apksigner
  • Opcionalmente, instalar diretamente com adb install

Exemplo:

pwsh -File "<skill-root>\apk-reverse\scripts\rebuild-sign-install.ps1" -ProjectDir "C:\work\apktool_out" -Clean
pwsh -File "<skill-root>\apk-reverse\scripts\rebuild-sign-install.ps1" -ProjectDir "C:\work\apktool_out" -Install -Reinstall -DeviceSerial "127.0.0.1:7555"

Observações:

  • Gera e reutiliza o keystore de depuração por padrão
  • A saída é direcionada para o mesmo diretório de ProjectDir por padrão, facilitando a organização junto com o pacote original e o diretório de descompactação

scripts/manifest-summary.ps1

Uso:

  • Extrair o nome do pacote
  • Listar permissões
  • Listar activity/service/receiver/provider
  • Marcar a activity principal de inicialização

Exemplo:

pwsh -File "<skill-root>\apk-reverse\scripts\manifest-summary.ps1" -ManifestPath "C:\work\apktool_out\AndroidManifest.xml"

Se você precisar analisar .so, lib/arm64-v8a/*.so, lib/armeabi-v7a/*.so, combine com:

  • ida-reverse
  • radare2

Divisão de Tarefas das Ferramentas

jadx

Usado para:

  • Leitura da descompilação Java
  • Pesquisa de nome de pacote, nome de classe, nome de método
  • Compreender o APK a partir da lógica de alto nível primeiro

Comandos comuns:

jadx -d jadx_out app.apk
jadx --single-class com.example.LoginActivity -d jadx_out app.apk
jadx --deobf -d jadx_out app.apk

JEB Pro (Ferramenta comercial opcional)

Usado para:

  • Verificação cruzada e descompilação profunda de Android DEX / APK / ARM
  • Complementar a análise estática quando a saída do JADX é incompleta ou a ofuscação é pesada
  • Verificação da segunda cadeia de ferramentas para classes, métodos e relações de chamada do mesmo alvo

Limitações:

  • JEB Pro é um software comercial, e os usuários devem obtê-lo e instalar uma licença válida por conta própria; este pacote não fará download, crack ou contornará licenças.
  • Chamado apenas quando tool-index confirmou que o JEB está disponível na máquina local; caso contrário, continue usando jadx, apktool, Ghidra, IDA ou radare2.
  • A ponte JEB MCP de terceiros não é uma dependência deste pacote. Antes de instalar, revise o código-fonte, permissões, comportamento de rede e versão de acordo com ../ops/skill-supply-chain.md, e confirme explicitamente o registro pelo usuário.

apktool

Usado para:

  • Descompactar APKs
  • Visualizar e modificar AndroidManifest.xml
  • Visualizar e modificar smali
  • Reconstruir APKs

Comandos comuns:

apktool d app.apk -o apktool_out
apktool b apktool_out -o rebuilt.apk

frida

Usado para:

  • Observar chamadas de métodos Java dinamicamente
  • Hook de funções exportadas nativas
  • Contornar detecção de root, verificação de certificado, detecção de depuração

Comandos comuns:

frida-ps -U
frida -U -f com.example.app -l hook.js
frida-trace -U -f com.example.app -j '*!*certificate*'

adb

Usado para:

  • Conexão de dispositivo
  • Instalação de APKs
  • Visualização de logs
  • Puxar arquivos

Comandos comuns:

adb devices
adb install -r app.apk
adb shell pm list packages
adb logcat
adb pull /data/local/tmp/file .

Fluxo de Trabalho Recomendado

1. Triagem

Primeiro, determine a estrutura geral do APK, sem se apressar em modificar o pacote ou fazer Hook.

Ações recomendadas:

  1. Use jadx -d jadx_out app.apk para exportar o código Java
  2. Use apktool d app.apk -o apktool_out para exportar smali e recursos
  3. Veja primeiro:
    • AndroidManifest.xml
    • A principal package
    • application, activity, service, receiver
    • Se há .so no diretório lib/
  4. Issue #65 Verificação rápida de formas de ameaça (amostra/dispositivo autorizado; veja ../reverse-engineering/references/nonpe-format-cookbook.md §7–8):
    • Ícone transparente/oculto (AU): aapt dump badging + tema/rótulo/ícone do manifest → E-android-hidden-icon-manifest
    • Características de bloqueio de Magisk/scripts e curl|sh remoto (AR/AS) → Características e URL como evidência, não execute comandos destrutivos
    • Caminhos de persistência (AT): service.d / priv-app, etc. → E-android-persistence

2. Observação da Lógica Java

Priorize a leitura de jadx_out:

  • MainActivity
  • Application
  • Classes relacionadas a login, rede, criptografia, controle de risco
  • Classes de inicialização de SDK de terceiros

…

Perguntas frequentes

O que é 'descompilar' um APK?

É o processo de transformar o código compilado de um aplicativo de volta em um formato mais legível, como código Java, para que você possa entendê-lo.

Posso usar isso para criar cheats em jogos?

Este agente é para análise e modificação de aplicativos. Usá-lo para trapacear em jogos pode violar os termos de serviço do jogo e não é recomendado.

O que é 'smali'?

Smali é uma linguagem de baixo nível semelhante ao assembly, usada para representar o código do Android. Modificar smali permite alterações mais profundas no aplicativo.

Detalhes

Descrição original do autor

在 CLI 环境下做 Android APK 逆向时使用。适用于 APK 解包、Java 反编译、smali 修改、重打包、Frida 动态 Hook,以及按需切换到 so/native 分析。优先使用本机已安装的 jadx、apktool、frida、adb、ida-reverse、radare2。

repo: zhaoxuya520/reverse-skill

Popularidade

Estrelas no GitHub
42 mil
Posição no ranking
#4748
Licença
MIT
Atualizada em
22/09/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas