Saltar al contenido principal

Por qué los emuladores Android son pura pantalla

22 de febrero de 2025

La realidad incómoda que nadie quiere admitir

Déjame ser brutalmente honesto: los emuladores Android son súper convenientes - no voy a negarlo. Son más fáciles de configurar, no requieren invertir ni un sol en hardware, y puedes tener uno funcionando en 10 minutos. El problema es que me tomó tiempo darme cuenta de que no representan ni de casualidad la realidad de las aplicaciones que estaba analizando.

La verdad es que yo también empecé igual que todos ustedes. Mis primeros 8 meses en seguridad móvil fueron 100% en emulador. Genymotion, Android Studio AVD, BlueStacks… lo que fuera con tal de no desembolsar plata en un dispositivo “de verdad”. Me creía el hacker más bacán decompilando APKs y corriendo scripts básicos de Frida.

Hasta que me harté de las limitaciones y decidí dar el salto a lo real. Me compré el Xiaomi más barato que encontré y… lo dejé más inútil que promesa electoral al segundo día intentando rootearlo. Bootloop eterno. Pero en lugar de rendirme, compré otro. Y otro. Y sí, malogré varios más aprendiendo el proceso completo a punta de ensayo y error.

Pero cuando finalmente logré tener mi primer dispositivo físico funcionando correctamente, fue como descubrir que el mundo tenía colores que no sabía que existían. La misma aplicación que había “auditado” en emulador se comportaba totalmente diferente: validaciones que aparecían de la nada, mecanismos anti-tampering que se activaban instantáneamente, y vulnerabilidades reales que jamás hubiera encontrado en la versión “light” del emulador.

Ahí entendí que todo ese tiempo había estado jugando en modo tutorial.

Llevo más de 2 años haciendo análisis de seguridad móvil, y cada vez que veo a alguien presumir sus “hallazgos revolucionarios” hechos 100% en emulador, pienso: “Ajá, claro, y yo soy Batman”. Porque yo estuve ahí, y sé exactamente lo que se están perdiendo.

¿Por qué me molesta tanto esta vaina?

1. Las apps detectan emuladores (sorpresa, sorpresa)

¿En serio pensamos que las aplicaciones bancarias, de pagos, o cualquier app que se respete no va a darse cuenta de que está corriendo en un emulador? Por favor, es como pretender hacer pentesting con una camiseta que dice “SOY HACKER” en letras fosforescentes.

Las apps modernas tienen más técnicas anti-emulador que un político tiene promesas incumplidas:

2. El comportamiento cambia más que opinión de encuestador

Una aplicación corriendo en emulador NO ES LA MISMA aplicación corriendo en hardware real. Punto pelota. No hay vuelta que darle.

3. Nos estamos haciendo los locos

El peor pecado es cuando decimos “bueno, para empezar está chevere el emulador”. ¡Para nada! Estás creando malos hábitos desde el vamos. Estás aprendiendo a analizar la versión “light” de la aplicación, como tomar gaseosa sin azúcar en lugar de la original.

Es como aprender a manejar en videojuego y después decir que sabes manejar en tráfico real. Técnicamente conoces los controles, pero te falta toda la experiencia práctica que realmente importa.

Mi filosofía: Hardware físico o la nada misma

Por eso mi laboratorio parece tienda de celulares usados:

Sí, cuesta más plata. Sí, da más trabajo configurarlos. Sí, a veces se mueren y te hacen llorar como en final de telenovela. Pero es REAL, hermano.

La excusa del “no tengo plata”

“Es que no tengo presupuesto para comprar dispositivos físicos” - OK, entiendo que la cosa está difícil. Pero entonces sé honesto con las limitaciones de tu análisis. No vengas a vender resultados de emulador como si fuera la pura verdad revelada.

Un Xiaomi Redmi usado te sale menos que una cena familiar. Si realmente te late la seguridad móvil, debería ser inversión más obvia que tener antivirus actualizado.

¿Cuándo uso emuladores?

OK, no soy tan cuadrado. Los emuladores tienen su lugarcito en este mundo:

  1. Análisis estático inicial: Para descompilar y echar el primer vistazo (como stalkear el Instagram antes de la cita)
  2. Desarrollo de scripts: Para probar hooks de Frida básicos sin arriesgar el hardware bueno
  3. Enseñanza: Para demos donde no quieres que se te malogre la herramienta de trabajo
  4. Análisis masivo: Cuando necesitas procesar más APKs que vendedor ambulante tiene productos

Pero JAMÁS DE LOS JAMASES para análisis de seguridad serio donde los resultados realmente importan.

El mensaje final (para los que empiezan)

Si estás comenzando en pentesting móvil y dependes solo de emuladores, te estás perdiendo una parte importante del panorama. No digo que seas malo o que no sepas lo que haces - para nada. Simplemente estás analizando una versión “simplificada” de la realidad.

Las aplicaciones reales, en dispositivos reales, con usuarios reales que tienen problemas reales, se comportan diferente. Y esas diferencias son precisamente donde están escondidas las vulnerabilidades más interesantes.

Mi consejo personal: Si recién estás empezando, usa emuladores para aprender los conceptos básicos. Pero en cuanto puedas, invierte en al menos un dispositivo físico barato. La diferencia en tu aprendizaje va a ser abismal.

Y si ya eres pentester experimentado y usas ambos (físico + emulador) según el contexto, entonces este rant no va contigo. Tú ya sabes cuándo cada herramienta es apropiada.

Para los demás: deja de conformarte con simulaciones. Consigue hardware de verdad cuando puedas. Aprende a configurarlo correctamente. Y descubre todo lo que te estabas perdiendo.


PD: Sí, sé que sueno como el típico que se cree la última Coca-Cola del desierto. Me da igual. Prefiero ser snob con resultados reales que conformista con datos de pura fantasía.