Cómo evitar que se elimine la verificación de licencia en nuestras aplicaciones

Aunque usemos el servicio de licencias no estamos protegidos automáticamente contra usos no autorizados. Alguien podría decodificar nuestro código, quitar las líneas de comprobación de licencia y volverlo a compilar en una versión craqueada.

Algunos métodos que podemos utilizar se describen a continuación[1]:

Ofuscar el código:de esta forma sería más complejo comprender cómo se realiza la verificación de licencia.

No usar la librería LVL estándar: no utilices la implementación estándar deesta librería si no quieres que sea fácilmente descubierto como se realiza la verificación. Simplemente puedes cambiar el perfil de los métodos y reordenarlos para que sean más difíciles de localizar. También puedes poner el código entre mezclado con el tuyo. Otra idea es no hacerlo siempre igual. En cada aplicación que publiquemos lo enrevesamos de una forma diferente. Haz actualizaciones a menudo de la aplicación y con cada actualización modifica los métodos de comprobación de licencia. De esta forma, el que quiera piratear tu aplicación tendrá que hacerlo con cada actualización.

Verificar que la aplicación no se ha modificado: verifica en la aplicación si se ha modificado el código. Puedes verificar la firma u obtener un código CRC del APK y compararlo con uno previamente obtenido.

Validar la licencia desde nuestro servidor:si la aplicación descarga contenidos en línea de nuestro servidor, podemos exigir que con la petición se adjunte el identificador de usuario y de dispositivo. Con esta información podemos verificar desde nuestro servidor en el servidor de Google Play que el usuario tiene una licencia válida. En caso negativo no daremos los contenidos.

En los siguientes apartados veremos cómo aplicar las tres primeras técnicas con detenimiento.