Cómo evitar que mi aplicación de Android sea pirateada como un archivo APK

Oye,

Buena pregunta.

Pero larga historia corta. No puedes hacer nada para obtener el 100% de seguridad.

Según ironSource, nos enfrentamos a seis tipos principales de piratería.

Y aquí está lo que puedes hacer.

MANTENTE LICENCIANDO AHORRO

Las licencias pueden proporcionarle una protección básica contra la copia y distribución ilegal de su aplicación.

Las licencias de Google Play y la Biblioteca de verificación de licencias (LVL) permiten que una aplicación consulte a un servidor de licencias de Google Play confiable para determinar si tiene licencia para el usuario actual del dispositivo como comprador registrado de la aplicación.

UTILIZAR CODIFICACIÓN DE COFUSIÓN

Una vía común hacia la piratería es la ingeniería inversa: desempaquetar el código compilado de una aplicación para obtener su código fuente.

Una buena manera de evitar esto es ofuscar las partes importantes de su código, lo que dificulta la ingeniería inversa.

La herramienta ProGuard de Android puede ayudarlo a lograr esto, al tiempo que se asegura de que su archivo APK final esté lo más optimizado posible.

INVIERTA EN PROTECCIÓN DE COPIA

Aunque reemplazado por las licencias en algunas plataformas (especialmente Android), la protección contra copia es una forma simple de defenderse de los intentos más superficiales de piratería.

La gestión de derechos digitales (DRM) puede integrarse en la propia aplicación, ser parte de la tienda de aplicaciones en la que se carga (como Amazon DRM) o comprarse como parte de un servicio DRM pago de terceros.

PRUEBE LAS HERRAMIENTAS ANTIPIRÁCTICAS

Si tiene menos confianza en implementar medidas antipiratería usted mismo, existen varias herramientas disponibles que pueden ayudarlo.

Ofreciendo una amplia gama de soluciones que funcionan en una variedad de formas diferentes, estas herramientas con frecuencia vienen con integradores hechos a medida que le permiten agregar protección a su aplicación sin ninguna codificación adicional.

MANTENGA LA PISTA DE RECIBOS

Mantener un ojo en lo que sucede con los recibos de los usuarios puede ser de gran ayuda en la lucha contra la piratería.

Hacer cosas como validar todos los recibos de compra, enviar un recibo al servidor personal de su aplicación y enviar un número aleatorio a su servidor junto con el recibo puede ayudar a proteger contra problemas tan comunes como la suplantación y los ataques de repetición.

TRANSACCIONES DE REGISTRO

Además de ser inteligente con los recibos, también vale la pena controlar las transacciones y los artículos para que sepa exactamente lo que un usuario debe tener legítimamente a su nombre.

Mantener un registro local de todos los artículos de los usuarios y luego validar el recibo cada vez que se inicializa una compra en la aplicación puede ayudar a evitar reembolsos falsos.

Además, registrar las transacciones y luego compararlas con lo que el usuario debería tener de acuerdo con la memoria de la aplicación puede evitar que su aplicación sea víctima de modificaciones piratas.

ESTAR AL DÍA

Asegurarse de actualizar con frecuencia su aplicación es beneficioso para sus usuarios y otra forma de combatir la piratería.

Los piratas generalmente se desaniman al tratar de mantenerse al día con los cambios frecuentes, especialmente porque a menudo pueden invalidar versiones pirateadas anteriormente.

Esto significa que la actualización periódica de su aplicación puede ser un elemento disuasivo eficaz y garantizar que los usuarios obtengan la mejor experiencia posible.

MANTENTE UN PASO ADELANTE

Es casi imposible prevenir completamente todas las formas de piratería de aplicaciones.

Sin embargo, puede tomar medidas para asegurarse de que, cuando ocurra, aún mantenga un cierto grado de control sobre su aplicación y sus ingresos.

En el caso de la plataforma Tapcore para monetizar instalaciones pirateadas, la solución es parte del código de su aplicación.

Si después de verificar una amplia variedad de parámetros, la instalación de la aplicación demuestra ser legítima, no sucede nada.

Si la aplicación ha sido pirateada, se muestra al usuario publicidad dirigida e incluso se puede dirigir hacia una descarga legítima de la aplicación.

La reciente guía de mercado de Gartner para el blindaje de aplicaciones predijo que el 30% de las empresas utilizarán algún tipo de blindaje de aplicaciones para proteger sus productos para 2020, un número que, en un mundo ideal, probablemente debería ser mucho mayor.

La piratería no desaparecerá en el corto plazo, y el no tomar precauciones podría poner en riesgo su aplicación y su negocio en general.

Simplemente no hay una manera fácil o incluso moderadamente difícil de hacer eso.

Los principios básicos de la seguridad de TI establecen claramente que cualquier código que abandone el hardware que usted controla, por seguro que sea en su entorno controlado, será accesible al pirata informático una vez que abandone su entorno controlado.

Pero sí, hay un pero! Siempre puede dificultar la tarea de un pirata informático / pirata.

¿Cómo? Así es cómo:

1. Ponga el código importante en los servidores . Hace que su aplicación sea frágil, pero recuerde que el servidor se puede proteger de forma electrónica y física. Más difícil de descifrar, ¡hay posibilidades de que un atacante ingrese!

2. Use Proguard. Hacer el trabajo de un atacante un poco difícil. Protege su aplicación utilizando un servidor con licencia.

3. Utilice algunos conocimientos de la base de datos de técnicas de ingeniería anti-inversa de OpenRCE , encuentre algo útil.

4. Escriba partes importantes de su código en C / C ++ . Java es fácil de descifrar, esto le dará (al atacante) un momento difícil.

5. Escriba archivos de forma nativa en archivos .so que son mucho menos propensos a descompilarse.

6. Ofusque los valores cuando los almacene en su dispositivo. Por ejemplo, 50 puntos de recompensa en su aplicación podrían ser (x * (x ^ 2 + 1 – Factor de neutralización)) / (x + 1) . Esté atento a los valores que está generando, vea a suficientes personas cometiendo errores de resumen.

Aquí hay una versión descriptiva a la que puede referirse: https://www.simform.com/blog/how

Realice un trabajo que implique pasar un par de horas en medidas contra la piratería . Pero no pierdas tu tiempo en encontrar el algoritmo indescifrable, créeme, terminarás perdiendo el tiempo.

Hay una opción para detener el respaldo y restaurar la infraestructura usando el atributo allowBackup. Debe usar este atributo dentro de la etiqueta de la aplicación en AndroidManifest.xml

Aparte de esto, ofuscar el código (usando proguard), esto lo ayudará a mantener su código seguro. Proguard también lo ayudará a eliminar archivos no deseados, importar mientras compila el archivo apk. Así que asegúrese de que todo su apk de lanzamiento tenga Proguard habilitado para un propósito seguro.

Para saber más sobre proguard
ProGuard | Desarrolladores de Android

Otra forma de ver este problema sería, no la prevención, sino trabajando lo que ya tiene en posesión como sus recursos (como se destacó anteriormente, nunca es 100% efectivo y con el tiempo se puede filtrar y agrietar cualquier cosa). Por supuesto, pensar en este problema en el momento del desarrollo es crucial, sin embargo, ¿qué haría si ya está sucediendo y cómo asegurar sus futuras versiones? Hemos desarrollado una tecnología especial Tapcore , que le permite recuperar los ingresos perdidos y rastrear las estadísticas de copias ilegales. Suena bien, ¿eh? Entonces pensamos. Realmente no hay otra solución en el mercado que realmente pueda comenzar a traer ingresos a los titulares de derechos de autor desde el primer día . Si quieres saber más, no dudes en enviarme un ping: liza @tapcore dot me

La piratería nunca puede desaparecer por completo. Necesita planificar con anticipación y ser diligente en la implementación de estrategias contra la piratería; de lo contrario, puede correr el riesgo de ser pirateado. Para obtener más información, visite, Prevenir la piratería de aplicaciones de Android posible, requiere diligencia, planificación.