digitalDot diseño webLogo Diseño Web digitalDot

Cómo Ofuscar código en Android

16/05/2024
image 2

La ofuscación de código es una técnica importante para proteger tus aplicaciones móviles contra la ingeniería inversa y mejorar la seguridad de tu software. Desde digitalDot, te mostraremos cómo puedes ofuscar tu código en Android usando ProGuard y otras herramientas.

Inicio del proceso de ofuscación

A la hora de compilar nuestra aplicación Android para producción, es extremadamente recomendable ofuscar el código, ya que, esto ayuda a optimizar el espacio que ocupa la APP y evitar el filtrado de nuestro código fuente.

Al ofuscar el código en Android, lo que se hace es acortar automáticamente el nombre de las clases y las variables, eliminar clases, métodos, dependencias y recursos que no son utilizados de forma que sea más complicado analizar el código entenderlo y mucho más importante replicarlo.

Modificación de código en Android Studio

Sigue siento nuestro framework ideal para el desarrollo nativo para aplicaciones móviles, para proteger nuestro código y activar la ofuscación en Android Studio tenemos que añadir las siguientes líneas en nuestro build.gradle (:app):

image

Proceso de compilación

A la hora de compilar el APK o Bundle firmado, selecciona la variante “release”. Esto no sólo ofuscará tu código, sino que también reducirá el tamaño del APK, optimizando el espacio que ocupa tu aplicación.

Es posible que al ofuscar el código haya conflicto con algunas librerías y surjan errores en la app.

Para solucionarlo, hay que añadir una serie de reglas específicas al archivo "proguard-rules.pro".

Estas reglas son muy específicas para cada librería, por lo que, recomendamos buscar en Google el nombre de la librería del conflicto + proguard rules.

Aquí te enseñamos algunas reglas que se podrían utilizar:

  • Para excluir directorios donde se ubican las clases de los modales:
image 1
  • Necesario si se utiliza la librería jsoup:
image 3
  • Para excluir clases de la librería Gson:
image 2

Y gracias a esto habríamos conseguido optimizar el espacio de la app a la hora de la compilación. Si quieres más consejos y tutoriales sobre el desarrollo de aplicaciones móviles, en nuestro blog puedes encontrar otras noticias como: "Cómo mejorar el tiempo de compilación de Android Studio excluyendo sus archivos en el antivirus" o "como crear una aplicación Android de tu página web con presencia en Play Store"

Tips de seguridad en código

Asegúrate de mantener tus dependencias y librerías actualizadas y revisa regularmente las reglas de ProGuard para cada nueva versión de las librerías que utilices. La documentación oficial de las librerías generalmente proporciona las reglas necesarias para ProGuard.

¿Por qué ofuscar el código?

La ofuscación ayuda a proteger tu propiedad intelectual, dificulta la tarea de los atacantes que intenten descompilar tu aplicación, y puede ayudar a ocultar detalles de implementación que podrían ser explotados. Además, al reducir el tamaño del código, también se puede mejorar el rendimiento de la aplicación.

Sabemos que tu web y tus aplicaciones móviles son cruciales para tu negocio. En digitalDot, estamos comprometidos con la seguridad y el rendimiento de tus proyectos. Nuestros servicios de desarrollo de aplicaciones incluyen prácticas avanzadas de seguridad, como la ofuscación de código, para proteger tu software y tus datos. No dejes tu aplicación vulnerable. Contáctanos hoy mismo y descubre cómo podemos ayudarte a mantener tu aplicación segura y optimizada.

Preguntas frecuentes sobre la ofuscación de código en Android

¿Cómo puedo verificar si mi código ha sido ofuscado correctamente?

Puedes verificar si tu código ha sido ofuscado descompilando el APK generado y revisando que los nombres de las clases y métodos han sido cambiados a algo ilegible.

¿La ofuscación puede causar problemas de rendimiento?

No, la ofuscación no debe causar problemas de rendimiento. De hecho, puede mejorar el rendimiento al reducir el tamaño del código. Sin embargo, es crucial probar tu aplicación exhaustivamente después de ofuscarla para asegurarte de que no haya problemas.

¿Existen alternativas a ProGuard para la ofuscación de código en Android?

Sí, existen alternativas como R8 (que está integrado en Android Studio) y DexGuard (una versión comercial de ProGuard con funcionalidades adicionales de seguridad).


Para más detalles y actualizaciones, puedes visitar digitalDot y explorar otros artículos sobre el desarrollo y la seguridad de aplicaciones móviles:

crossmenuchevron-down