Probabilmente vorresti crittografare il contenuto (o almeno farlo offuscare). Devi quindi fidarti della crittografia e delle procedure ad essa correlate.
Ma gli utenti avanzati potrebbero ignorare il codice Java e accedere al modulo crittografato.
BTW, con sforzi sufficienti (compresa la forzatura della crittografia), il tuo meccanismo potrebbe essere bypassato. Ricorda che sicurezza attraverso l'oscurità è un errore .
Memorizzare i dati al di fuori dei file (ad esempio in alcuni database) non lo nasconde affatto. Un utente avanzato (come me abbastanza motivato) troverà il tuo database e potrebbe interrogarlo al di fuori della tua applicazione. Potrebbe modificare un programma di caricamento classe Java per modificare o almeno tracciare il comportamento dell'applicazione, oppure potrebbe anche applicare una patch alla JVM che esegue il tuo cosa (o usare un altro, ad esempio JVM accademico, per gestire la tua cosa). Potrebbe ad es. traccia le chiamate di sistema fatte dalla tua app (su Linux, sto usando strace (1) sulla maggior parte dei software binari stranieri che potrei dover installare). Leggi forse Sistemi operativi: tre pezzi facili .
Inoltre, un determinato contenuto (video o libro) potrebbe essere legalmente disponibile sul computer del consumatore esterno della tua app. Richiede che il contenuto sia duplicato (sprecando risorse sul computer del consumatore, presumibilmente appartenente legalmente a lui)?
Finalmente, come consumatore, non avrei mai acquistato o usato il tuo software, perché non mi fido di DRM . Le informazioni vogliono essere gratuite . Vedi link (che contiene anche argomenti tecnici relativi al tuo problema che dovresti sapere, anche se non sei d'accordo con le opinioni lì).
Leggi informazioni su base di calcolo attendibile .
Spiega al tuo cliente che qualcuno (al di fuori della giurisprudenza degli Stati Uniti, forse qualche sviluppatore o hacker cinese, russo, francese, in genere al di fuori della portata legale del tuo cliente ...) alla fine decodificherà qualsiasi trucco software che tu possa " ll attuare e pubblicare la sua comprensione dei trucchi su qualche sito web o forum. È solo questione di tempo. Leggi su libdvdcss come esempio passato ecc ...
I want to obscure them or somehow restrict access to the content so it cannot be accessed outside my application.
Tecnicamente non sarai in grado di completamente limitare (ovvero, rendere impossibile) l'accesso ai contenuti su un altro computer (su cui il sistema operativo, la JVM, l'hardware, ecc ... potrebbero essere "hacked" o "compromised" o "improved" o "patched"); potresti renderlo difficile (usando le tecniche di crittografia o offuscamento). Quindi hai un compromesso in termini di costi: quanto lavoro e amp; risorsa il tuo cliente può permettersi di renderlo molto difficile? O è "appena abbastanza difficile"?