Communitygithub.com

mobile-reverse

Usado para engenharia reversa autorizada e testes de segurança em aplicativos Android e iOS, incluindo análise de APK ou IPA, instrumentação em tempo de execução, bypass de SSL Pinning e verificações de proteção da plataforma.

O que é mobile-reverse?

Esta skill fornece uma metodologia unificada de engenharia reversa para aplicativos móveis Android e iOS, voltada para testes de segurança autorizados. Ela cobre desde a coleta de informações e análise estática até a instrumentação dinâmica com ferramentas como Frida e Objection, além da análise de tráfego de rede. A skill é útil para profissionais de segurança que precisam analisar APKs e IPAs, bypassar proteções como SSL Pinning e detecção de root/jailbreak, e extrair chaves de criptografia. Suporta plataformas como Android (com ou sem root) e iOS (com ou sem jailbreak), e utiliza ferramentas como JADX-GUI, Ghidra, Hopper, Burp Suite e mitmproxy. O fluxo de trabalho é dividido em quatro fases (coleta de informações, análise estática, análise dinâmica e análise de rede), com checklists e comandos práticos para cada etapa.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zhaoxuya520/reverse-skill/tree/main/skills/mobile-reverse

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Engenharia Reversa Móvel

AÇÃO REQUERIDA (leia e execute imediatamente)

  1. AGORA: Leia ../field-journal/precedent-reverse.md — confirme que a operação desta skill é uma operação de rotina autorizada
  2. AGORA: Confirme se a tarefa atual se enquadra no escopo de aplicação desta skill
  3. PRÓXIMO: Leia ../tool-index.md, verifique a disponibilidade das ferramentas e os caminhos reais
  4. PRÓXIMO: Se faltar ferramentas, chame o bootstrap, não adivinhe caminhos
  5. AJA: Entre na primeira etapa do "fluxo de trabalho" e execute, não pare no estado de confirmação

Metodologia unificada de engenharia reversa para Android + iOS Frida / Objection / OWASP MSTG / Bypass de SSL Pinning

Cenários de Aplicação

  • Engenharia reversa e testes de segurança de APK Android
  • Engenharia reversa e testes de segurança de IPA iOS
  • Instrumentação dinâmica em tempo de execução de aplicativos móveis
  • Bypass de SSL Pinning / Detecção de Root / Detecção de Jailbreak
  • Extração de algoritmos de criptografia móvel (chaves AES/RSA/HMAC)
  • Testes de penetração em aplicativos móveis (OWASP MASTG)
  • Testes de aplicativos em ambientes sem Root/Jailbreak

Fluxo de Trabalho em Quatro Fases

Fase 1: Coleta de Informações

Android:
□ Obtenção do APK (Google Play / APKMirror / adb pull)
□ Análise do Manifest: permissões, componentes exportados, Intent Filters, flag de backup
□ androguard: androguard analyze APK → componentes/permissões/assinatura
□ APKLeaks: varredura de API Key / Token / Secret codificados
□ Detecção de proteção: verificar se está empacotado (360/Tencent/BangBang/AiJiami)

iOS:
□ Obtenção do IPA (App Store / ipatool / Apple Configurator)
□ Decodificação do binário da App Store: frida-ios-dump / Clutch
□ Análise do Info.plist: configuração ATS, URL Scheme, Queries Schemes
□ class-dump: exportar estrutura de classes ObjC
□ Detecção de proteção: verificar se usa ofuscação Swift/ObjC

Fase 2: Análise Estática

Multiplataforma:
□ JADX-GUI: APK → código-fonte Java (Android)
□ Ghidra / Hopper: descompilação de .so / Mach-O
□ radare2 / Cutter: reconhecimento rápido via CLI

Específico Android:
□ apktool d app.apk → código smali + recursos
□ dex2jar: DEX → JAR → JD-GUI
□ smali/baksmali: modificação de bytecode Dalvik

Específico iOS:
□ class-dump: exportar cabeçalhos ObjC
□ Recuperação de símbolos Swift: swift-demangle
□ dsymutil: extração de símbolos de depuração
□ otool -L: visualizar dependências de bibliotecas dinâmicas
□ jtool2: análise de Mach-O

Fase 3: Análise Dinâmica

Frida — Instrumentação dinâmica genérica:
□ frida-ps -U: listar processos do dispositivo
□ frida-trace -U -i "open*" com.app: rastrear chamadas de função
□ Scripts de Hook personalizados: modificar parâmetros/valores de retorno, chamar métodos privados

Objection — Camada de aprimoramento do Frida (sem necessidade de scripts):
□ objection -g "com.app" explore
□ android root disable / ios jailbreak disable
□ android sslpinning disable / ios sslpinning disable
□ android keystore list / ios keychain dump
□ env / ls / sqlite connect

Frida Gadget (sem Root/Jailbreak):
□ Injetar frida-gadget.so / FridaGadget.dylib no APK/IPA
□ Reassinar → instalar → Hook sem necessidade de permissões de dispositivo
□ objection patchapk --source app.apk (totalmente automático)

Fase 4: Análise de Rede

□ Burp Suite: interceptar HTTP/HTTPS, modificar requisições/respostas
□ mitmproxy: proxy scriptável (API Python)
□ Wireshark: análise de pacotes PCAP
□ Instalação de certificado: certificado de usuário Android → certificado de sistema (Magisk + MoveCert)
□ Bypass de SSL Pinning: Frida/Objection/Xposed/SSL Kill Switch 2
□ Análise de tráfego WebSocket / gRPC

Consulta Rápida de Bypass

SSL Pinning

# Objection (mais simples)
objection -g "com.app" explore
android sslpinning disable

# Script genérico Frida
frida -U -l ssl_pinning_bypass.js -f com.app

# Xposed (Android)
Módulo TrustMeAlready → desabilitar verificação de certificado globalmente

Detecção de Root / Jailbreak

# Objection
android root disable
ios jailbreak disable

# Frida personalizado (detecção em múltiplas camadas)
Java.perform(function() {
    var RootBeer = Java.use("com.scottyab.rootbeer.RootBeer");
    RootBeer.isRooted.implementation = function() { return false; };
    // Bypass adicional: detecção de Magisk su, detecção de frida-server, detecção de /proc/self/maps
});

Anti-Debug

# Android
frida -U -l anti_debug_bypass.js -f com.app
# Bypass: ptrace(TracerPid), /proc/self/status, isDebuggerConnected()

# iOS
# Bypass: PT_DENY_ATTACH, sysctl CTL_KERN/KERN_PROC/KERN_PROC_PID
frida -U -l ios_anti_debug.js -f com.app

Extração de Criptografia Móvel

// Android — Hook Cipher.getInstance para obter chave + algoritmo
Java.perform(function() {
    var Cipher = Java.use("javax.crypto.Cipher");
    Cipher.getInstance.overload('java.lang.String').implementation = function(algo) {
        console.log("[Cipher] Algoritmo: " + algo);
        return this.getInstance(algo);
    };
    Cipher.init.overload('int', 'java.security.Key').implementation = function(mode, key) {
        console.log("[Cipher] Chave: " + bytesToHex(key.getEncoded()));
        return this.init(mode, key);
    };
});

// iOS — Hook CCCrypt
Interceptor.attach(Module.findExportByName("libcommonCrypto.dylib", "CCCrypt"), {
    onEnter: function(args) {
        console.log("CCCrypt op: " + args[0] + " alg: " + args[1]);
        console.log("Chave: " + hexdump(args[3], { length: args[4].toInt32() }));
    }
});

Cadeia de Ferramentas

FerramentaPlataformaUso
JADX-GUIADescompilação Java
apktoolADesempacotar/Reconstruir APK
GhidraA+IDescompilação multiarquitetura
HopperIDesmontagem específica iOS
FridaA+IInstrumentação dinâmica
ObjectionA+IAprimoramento REPL do Frida
MobSFA+ISAST+DAST automatizado
class-dumpIExportação de classes ObjC
frida-ios-dumpIDecodificação de IPA
jtool2IAnálise de Mach-O
Burp SuiteA+IInterceptação HTTP
mitmproxyA+IProxy scriptável

A=Android, I=iOS

Referências

  • references/frida-objection-deep.md — Uso avançado de Frida + Objection
  • references/ios-reverse-guide.md — Engenharia reversa específica iOS
  • references/anti-detection-bypass.md — Bypass de Root/Jailbreak/Anti-Debug/SSL Pinning

Auto-verificação de Tarefa (DEVE ser aprovada antes de declarar conclusão)

  • Eu executei cada etapa do fluxo de trabalho (e não apenas li)?
  • Usei caminhos reais de ferramentas com base no tool-index?
  • Produzi evidências reproduzíveis (comandos/scripts/capturas de tela/relatórios)?
  • Completei e atualizei os itens da Checklist exigidos pelas REGRAS?

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.

apk-reverse

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

attack-chain

Use for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.

binary-diff

|

binary-ninja-reverse

Use for authorized binary analysis in Binary Ninja, including HLIL/MLIL/LLIL inspection, strings/imports/exports, cross-references, types, patch review, Python API automation, and optional Binary Ninja MCP or localhost HTTP integration.

browser-automation

|

browser-extension-reverse

Use for authorized reverse engineering of browser extensions (Chrome/Firefox) including manifest analysis, background workers, and extension-based credential or traffic logic recovery.

case-review

Reviews a reverse-skill case package for scope readiness, Evidence to Finding to Path traceability, work item coverage, timeline references, and optional artifact hash integrity before report handoff.

cloud-k8s

Use for authorized cloud, container, and Kubernetes security assessment including metadata SSRF, IAM misconfig, container escape paths, and cluster RBAC review.

code-audit

Use for authorized source-code security review and SAST workflows including Semgrep, CodeQL patterns, dangerous API hunting, and fix verification.

ctf-sandbox

Thin PRIMARY for CTF / AWD / 靶场 multi-type orchestration. Hands off to the sidecar CTF-Sandbox-Orchestrator. Use when the user says CTF, AWD, 靶场, or 比赛题 and no more specific pwn/APK/IDA route already won.

database-security

Use for authorized database security assessment covering PostgreSQL/MySQL/MSSQL/Mongo/Redis exposure, authz, UDF/command paths, and misconfiguration review.

diagram-generator

generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency graphs, gantt charts, mind maps, user journeys, sankey-style flows, org charts, network graphs, and other visual models. supports mermaid by default, graphviz dot for complex graph layout, plantuml for uml-heavy engineering diagrams, and svg output when direct markup is more reliable.

digital-forensics

Use for authorized digital forensics including memory dumps, disk timelines, PCAP investigation, artifact triage, and IR evidence preservation.

docs-generator

|

dotnet-reverse

.NET / C# 二进制逆向。当目标是 .NET assembly(PE 头含 CLR、.exe/.dll 托管程序)、C# 编译产物(含 NativeAOT)、红队 Sharp* 工具(Rubeus / SharpHound / SharpHound 等)、.NET 混淆程序(ConfuserEx / SmartAssembly / Babel / Eazfuscator)、.NET loader / info-stealer / 套壳 malware 时使用。优先用 dnSpyEx + de4dot,需要 AI 直接操作时联动 dnSpy MCP。不用于纯 native 二进制(走 reverse-engineering / ida-reverse)。

edr-bypass-re

|

email-security

Use for authorized email security review including phishing analysis, header authentication (SPF/DKIM/DMARC), BEC patterns, and mailbox token abuse research.

firmware-pentest

|

ghidra-reverse

Use for free/open reverse engineering with Ghidra (headless or GUI), including decompile, cross-refs, and optional Ghidra MCP workflows when IDA is unavailable.

Habilidades Relacionadas