Las aplicaciones de Android pueden ser de ingeniería inversa. ¿No corren riesgo nuestras aplicaciones de ser robadas? ¿No es este un gran obstáculo para ganarse la vida con el desarrollador de Android?

La mayoría de las aplicaciones ahora tienen un backend que potencia sus datos y su lógica de toma de decisiones. Incluso si alguien realiza una ingeniería inversa de una aplicación (todas las aplicaciones que se envían a los usuarios finales califican, no solo Android), no podrían realizar ingeniería inversa en el servidor (salvo las malas decisiones de seguridad que permiten a los atacantes acceder de forma remota a sus datos).

Una manera fácil de proteger su aplicación es usar Firebase y exigir que todos sus usuarios estén autenticados para hacer un uso completo de la aplicación. Puede proteger el acceso de los usuarios a esos datos mediante la autenticación de Firebase, luego usar las reglas de seguridad de la base de datos y las reglas de seguridad de almacenamiento para proteger el acceso a esos datos solo a los usuarios que hayan iniciado sesión en la aplicación. Si hace esto, los extraños no podrán utilizar las partes centrales de su aplicación que se manejan desde el backend de Firebase, y una aplicación comprometida será inútil.

Tenga en cuenta que el acceso a Firebase Authentication APIS está controlado por la clave de firma SHA-1 de su aplicación que debe ser privada para usted y solo para usted. Un atacante no duplicará el procedimiento de firma (a menos que obtenga su clave de firma, trátelo como su contraseña más valiosa), lo que significa que la autenticación de Firebase no funcionará en la aplicación comprometida.

¿Nuestras aplicaciones corren el riesgo de ser robadas? Absolutamente. No se puede marcar una idea. Incluso con Proguard ofuscando el código, todavía es posible realizar ingeniería inversa. También corre el riesgo de una empresa más grande con más recursos entrando y duplicando su idea. O alguien más simplemente hace tu idea mejor que tú. Pero hay dos razones por las que una aplicación está protegida:

  1. La mayoría, si no todas, las aplicaciones no realizan grandes cantidades de trabajo en el dispositivo en sí. La mayoría se realiza en el servidor de fondo. La aplicación simplemente realiza solicitudes a la API de fondo y muestra los datos según sea necesario. Incluso si la aplicación tiene ingeniería inversa, el servidor de fondo que está haciendo todo el trabajo (o al menos simplemente sirve la información) no puede.
  2. El propietario / desarrollador de la aplicación controla el estado actual de la aplicación. Si eres propietario / desarrollador de una aplicación inteligente , serás el que hace nuevas adiciones / características antes que los demás. Esto esencialmente protege su idea porque nadie más puede replicarla (o no podrán hacerlo por un tiempo después de que ya lo haya hecho).

Sí, las aplicaciones de Android tienen tasas de piratería en promedio superiores al 80%. Algunos desarrolladores informan que sus aplicaciones tienen incluso más del 90% de tasa de piratería.

Pero, los anuncios generalmente no son pirateados. Aunque es muy difícil ganar de ellos.

Ve y lee sobre minificación, Pro Guard