mecanismo de protección (o licencia) de copia para una aplicación de Android

0

Estoy tratando de implementar un mecanismo de protección contra copia (o licencia) para una aplicación de Android. La aplicación no se distribuye a través de Google Play u otro mercado en línea, sino que se distribuye a través de medios como CD / DVD. Por lo tanto, no podemos emplear métodos de licencia basados en el mercado.

La aplicación es una aplicación de aprendizaje para diferentes niveles de educación. Los estudiantes compran la aplicación y la instalan en sus dispositivos (una tableta Android) a través de un cable USB. Los estudiantes tienen acceso limitado a Internet, por lo que no podemos obligarlos a conectarse a nuestros servidores, excepto una vez para la activación de la aplicación a través de la conectividad inalámbrica de la escuela.

Sé que no existe un mecanismo a prueba de piratería para la protección contra la piratería específicamente para los escenarios fuera de línea y que el precio de la aplicación es demasiado bajo, y que el público objetivo son estudiantes sin conocimientos profesionales de piratería o craqueo, aunque mi cliente está dispuesto a proteger la aplicación de alguna manera tan fuerte como sea posible.

Creo que el mecanismo debe ser algo así como el Esquema de bloqueo de la máquina, pero no sé cuál es el mejor método.

Cualquier ayuda o sugerencia será apreciada.

    
pregunta anonim 07.06.2014 - 11:12
fuente

2 respuestas

2

Cada dispositivo tiene un único hardware-ID : lo llamaremos HID para facilitar la lectura.

Crea un algoritmo que toma el HID y genera un unlock-serial-number

Pseudo-código:

Generate_Serial(input = HID)
{
    scramble that HID
    add a secrete value to it
    send the value to costumer
}

Tenga un bot de sms / phone-calls para responder a las solicitudes provenientes de los dispositivos de sus clientes. La automatización del proceso es su objetivo aquí.

El bot tomará el HID y luego devolverá el unlock-serial-number , que se usará para desbloquear la aplicación a través de otro algoritmo en la aplicación de la siguiente manera:

Pseudo-código:

Unlock_App(input = unlock-serial-number)
{
    unscramble unlock-serial-number
    remove the HID value
    do you have the secrete value?
    YES : Unlock
    NO : Print Error
}

Piense en esto como su proceso de verificación de la aplicación de mensajería instantánea favorita (WhatsApp, Viber, etc.).

Nota: ¡Tenga cuidado al almacenar su secrete value en la aplicación! - Tendrá que protegerlo de alguna manera de la ingeniería inversa.

¡Espero que esto haya sido útil!

    
respondido por el AK_ 07.06.2014 - 13:15
fuente
0

¿DRM sin conexión? No es probable que funcione.

Si el usuario que copia su código tiene la raíz habilitada en su teléfono, puede simplemente volcar su aplicación con adb y enviarla a otro teléfono. En ese teléfono, puede editar el AndroidID y configurarlo para que sea el mismo que el teléfono original.

Usar Play Store y Google SafetyNet sería más fácil.

    
respondido por el ThoriumBR 26.09.2018 - 00:07
fuente

Lea otras preguntas en las etiquetas