Communitygithub.com

mobile-reverse

Utilizado para ingeniería inversa autorizada de aplicaciones Android o iOS y pruebas de seguridad, incluyendo análisis de APK o IPA, instrumentación en tiempo de ejecución, bypass de SSL Pinning y comprobaciones de protección de plataforma.

¿Qué es mobile-reverse?

Esta habilidad proporciona una metodología unificada de ingeniería inversa para aplicaciones Android e iOS, permitiendo a agentes de IA realizar análisis de seguridad completos. Combina herramientas como Frida, Objection y OWASP MSTG para realizar instrumentación dinámica, bypass de SSL Pinning y evasión de detección de root/jailbreak. El flujo de trabajo se estructura en cuatro fases (recopilación de información, análisis estático, análisis dinámico y análisis de red) para guiar al agente paso a paso. Es compatible con entornos con y sin permisos root/jailbreak, e incluye módulos para extracción de claves criptográficas y automatización de pruebas de penetración móvil según el estándar OWASP MASTG.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Ingeniería Inversa Móvil

ACCIÓN REQUERIDA (leer y ejecutar inmediatamente)

  1. AHORA: Leer ../field-journal/precedent-reverse.md — confirmar que la operación de este skill es una operación rutinaria autorizada
  2. AHORA: Confirmar si la tarea actual se encuentra dentro del alcance de este skill
  3. SIGUIENTE: Leer ../tool-index.md para verificar la disponibilidad de herramientas y sus rutas reales
  4. SIGUIENTE: Si faltan herramientas, invocar bootstrap, no adivinar rutas
  5. ACTUAR: Entrar al primer paso del "flujo de trabajo" y ejecutar, no quedarse en estado de confirmación

Metodología unificada de ingeniería inversa Android + iOS Frida / Objection / OWASP MSTG / Bypass de SSL Pinning

Escenarios de Aplicación

  • Ingeniería inversa y pruebas de seguridad de APK Android
  • Ingeniería inversa y pruebas de seguridad de IPA iOS
  • Instrumentación dinámica en tiempo de ejecución de aplicaciones móviles
  • Bypass de SSL Pinning / detección de Root / detección de Jailbreak
  • Extracción de algoritmos de cifrado en móviles (claves AES/RSA/HMAC)
  • Pruebas de penetración en aplicaciones móviles (OWASP MASTG)
  • Pruebas de aplicaciones en entornos sin Root/Jailbreak

Flujo de Trabajo en Cuatro Fases

Fase 1: Recopilación de Información

Android:
□ Obtención de APK (Google Play / APKMirror / adb pull)
□ Análisis de Manifest: permisos, componentes exportados, Intent Filters, indicador de backup
□ androguard: androguard analyze APK → componentes/permisos/firma
□ APKLeaks: escaneo de API Keys / Tokens / Secrets hardcodeados
□ Detección de refuerzo: si está empaquetado (360/Tencent/Bangbang/Aijiami)

iOS:
□ Obtención de IPA (App Store / ipatool / Apple Configurator)
□ Descifrado de binarios de App Store: frida-ios-dump / Clutch
□ Análisis de Info.plist: configuración ATS, URL Scheme, Queries Schemes
□ class-dump: exportación de estructura de clases ObjC
□ Detección de refuerzo: si usa ofuscación Swift/ObjC

Fase 2: Análisis Estático

Multiplataforma:
□ JADX-GUI: APK → código fuente Java (Android)
□ Ghidra / Hopper: descompilación de .so / Mach-O
□ radare2 / Cutter: reconocimiento rápido por CLI

Android específico:
□ apktool d app.apk → código smali + recursos
□ dex2jar: DEX → JAR → JD-GUI
□ smali/baksmali: modificación de bytecode Dalvik

iOS específico:
□ class-dump: exportación de cabeceras ObjC
□ Recuperación de símbolos Swift: swift-demangle
□ dsymutil: extracción de símbolos de depuración
□ otool -L: ver dependencias de librerías dinámicas
□ jtool2: análisis de Mach-O

Fase 3: Análisis Dinámico

Frida — Instrumentación dinámica genérica:
□ frida-ps -U: listar procesos del dispositivo
□ frida-trace -U -i "open*" com.app: rastrear llamadas a funciones
□ Scripts Hook personalizados: modificar parámetros/valores de retorno, llamar métodos privados

Objection — Capa de mejora de Frida (sin necesidad 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 (sin Root/Jailbreak):
□ Inyectar frida-gadget.so / FridaGadget.dylib en APK/IPA
□ Re-firmar → instalar → sin necesidad de permisos de dispositivo para Hook
□ objection patchapk --source app.apk (totalmente automático)

Fase 4: Análisis de Red

□ Burp Suite: interceptar HTTP/HTTPS, modificar solicitudes/respuestas
□ mitmproxy: proxy con scripting (API Python)
□ Wireshark: análisis de capturas PCAP
□ Instalación de certificados: certificado de usuario Android → certificado de sistema (Magisk + MoveCert)
□ Bypass de SSL Pinning: Frida/Objection/Xposed/SSL Kill Switch 2
□ Análisis de tráfico WebSocket / gRPC

Cheat Sheet de Bypass Comunes

SSL Pinning

# Objection (más simple)
objection -g "com.app" explore
android sslpinning disable

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

# Xposed (Android)
Módulo TrustMeAlready → deshabilitar verificación de certificados global

Detección de Root / Jailbreak

# Objection
android root disable
ios jailbreak disable

# Frida personalizado (detección multicapa)
Java.perform(function() {
    var RootBeer = Java.use("com.scottyab.rootbeer.RootBeer");
    RootBeer.isRooted.implementation = function() { return false; };
    // Bypass adicional: detección de Magisk su, detección de frida-server, detección de /proc/self/maps
});

Anti-Depuración

# 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

Extracción de Cifrado Móvil

// Android — Hook Cipher.getInstance para obtener clave+algoritmo
Java.perform(function() {
    var Cipher = Java.use("javax.crypto.Cipher");
    Cipher.getInstance.overload('java.lang.String').implementation = function(algo) {
        console.log("[Cipher] Algorithm: " + algo);
        return this.getInstance(algo);
    };
    Cipher.init.overload('int', 'java.security.Key').implementation = function(mode, key) {
        console.log("[Cipher] Key: " + 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("Key: " + hexdump(args[3], { length: args[4].toInt32() }));
    }
});

Cadena de Herramientas

HerramientaPlataformaUso
JADX-GUIADescompilación Java
apktoolADesempaquetado/Reconstrucción de APK
GhidraA+IDescompilación multiarquitectura
HopperIDesensamblador específico para iOS
FridaA+IInstrumentación dinámica
ObjectionA+IMejora REPL de Frida
MobSFA+ISAST+DAST automatizado
class-dumpIExportación de clases ObjC
frida-ios-dumpIDescifrado de IPA
jtool2IAnálisis de Mach-O
Burp SuiteA+IInterceptor HTTP
mitmproxyA+IProxy con scripting

A=Android, I=iOS

Referencias

  • references/frida-objection-deep.md — Uso avanzado de Frida + Objection
  • references/ios-reverse-guide.md — Guía específica de ingeniería inversa iOS
  • references/anti-detection-bypass.md — Bypass de Root/Jailbreak/Anti-Depuración/SSL Pinning

Autoverificación de Finalización (DEBE pasar antes de afirmar finalización)

  • ¿Ejecuté cada paso del flujo de trabajo (no solo lo leí)?
  • ¿Usé rutas reales de herramientas basadas en tool-index?
  • ¿Produje evidencia reproducible (comandos/scripts/capturas/informes)?
  • ¿Completé y reescribí los elementos de Checklist requeridos por RULES?

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.

Skills relacionados