meccanismo di protezione dalla copia (o licenza) per un'app per Android

0

Sto cercando di implementare un meccanismo di protezione da copia (o licenza) per un'app Android. L'app non è distribuita tramite Google Play o altri mercati online e viene invece distribuita tramite media come CD / DVD. Quindi non possiamo utilizzare metodi di licenza basati sul mercato.

L'app è un'app di apprendimento per diversi livelli di istruzione. Gli studenti acquistano il supporto dell'app e installano l'app sui loro dispositivi (un tablet Android) tramite un cavo USB. Gli studenti hanno un accesso limitato a Internet, quindi non possiamo costringerli a connettersi ai nostri server tranne una volta per l'attivazione delle app sulla connettività wireless della scuola.

So che non esiste un meccanismo di hacking per la protezione dalla pirateria specificamente per gli scenari off-line e il prezzo dell'app è troppo basso così come i destinatari sono studenti senza conoscenze professionali di hacking o cracking, sebbene il mio cliente sia disposto a proteggere l'app in qualche modo il più strong possibile.

Penso che il meccanismo debba essere qualcosa come Machine Locking Scheme ma non so quale sia il metodo migliore.

Qualsiasi aiuto o suggerimento sarà apprezzato.

    
posta anonim 07.06.2014 - 11:12
fonte

2 risposte

2

Ogni dispositivo ha un hardware-ID unico. Lo chiameremo HID per la leggibilità.

Crea un algoritmo che prende HID e genera unlock-serial-number

pseudo-codice:

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

Avere un bot per chiamate sms / telefono per rispondere alle richieste provenienti dai dispositivi dei tuoi clienti. L'automazione del processo è il tuo obiettivo qui.

Il bot prenderà il HID e quindi restituirà unlock-serial-number , che verrà utilizzato per sbloccare l'app tramite un altro algoritmo in-app come segue:

pseudo-codice:

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
}

Pensa a questo come processo di verifica dell'app IM (WhatsApp, Viber, ecc.) preferito.

Nota: fai attenzione a memorizzare secrete value in-app! - Dovrai proteggerlo in qualche modo dal reverse engineering.

Spero sia stato utile!

    
risposta data 07.06.2014 - 13:15
fonte
0

DRM offline? Non è probabile che funzioni.

Se l'utente che copia il tuo codice ha root abilitato sul suo telefono, può semplicemente scaricare la tua app con adb e inviarla a un altro telefono. Su quel telefono può modificare AndroidID e impostarlo come il telefono originale.

Usando il Play Store e Google SafetyNet questo sarebbe più facile.

    
risposta data 26.09.2018 - 00:07
fonte

Leggi altre domande sui tag