La Saga de los Muros (o cómo cada solución creaba un problema nuevo)
Esto no fue un proyecto, fue una novela de suspense donde cada capítulo terminaba con un plot twist que me jodía el plan.
Obstáculo 1: Mi Mac M2 Me Odia
Pensé: "Voy a instalar un certificado falso en el emulador y listo". Pero resulta que las imágenes de Android para Apple Silicon tienen el sistema de archivos bloqueado más duros que muhammad ali. adb remount me daba la callada por respuesta.
Primer cambio de planes: "Vale, jodamos la app web en lugar de la móvil".
Obstáculo 2: Playwright Decidió Jubilarse
Playwright en macOS M2 es como un coche bonito que no arranca. Se crasheaba silenciosamente y me dejaba ahí como un gilipollas preguntándome qué había pasado. Selenium igual.
Segundo cambio de planes: migrar todo a una máquina Windows porque aparentemente mi Mac tiene algo personal contra la automatización web.
Obstáculo 3: La App Móvil Era un Búnker
Ya en Windows, volví a atacar la app móvil. Y aquí empezó la guerra de verdad:
SSL Pinning: La app me decía "tu certificado de Burp me la suda, no voy a confiar en ti". Solución: Frida con un script de unpinning para decirle "sí que vas a confiar, cabrona".
Detección de Proxy: Después de quitar el SSL pinning, la app ignoraba completamente mi proxy. Como si hubiera puesto un cartel de "ESTOY ESPIANDO" y la app hubiera decidido cambiar de acera. Solución: iptables para forzar TODO el tráfico del emulador por mi proxy. Si no quieres ir por las buenas, irás por las malas.
Anti-Debugging: Cuando conseguí que Frida funcionara, la app se daba cuenta y se suicidaba instantáneamente. Era como jugar al escondite con alguien que siempre te pilla. Solución: en lugar de lanzar la app con Frida (muy obvio), la lanzaba normal y luego atacaba Frida al proceso. Sigilo level 100.
Victoria temporal: Finalmente conseguí interceptar el tráfico. La app hablaba con dos APIs: una de terceros (tipo Salesforce) y otra propia. Me sentí como Neo viendo Matrix por primera vez.