Come altri hanno già detto, puoi offuscare il tuo codice. Ciò renderà il reverse engineering non banale. È anche possibile compilare il codice Java in codice nativo usando (per esempio) GCJ. Ciò renderà più difficile l'ingegneria inversa, ma vorrà anche creare diversi pacchetti di distribuzione per ogni piattaforma hardware/OS supportata.
Ma in ultima analisi, si deve riconoscere che, se si distribuisce il software per funzionare su una piattaforma di magazzino, non c'è nulla di tecnica che si può fare per prevenire il reverse engineering. Niente.
In definitiva, è necessario scambiare i vantaggi della distribuzione del software rispetto ai rischi di una sua progettazione inversa. Un approccio che le persone adottano è quello di capire se i benefici superano i costi * dei rischi e utilizzare le garanzie legali (ad esempio licenze software appropriate) per scoraggiare il reverse engineering. L'altro approccio è dire "buona fortuna a te" ai potenziali ingegneri inversione e guadagnare denaro offrendo servizi piuttosto che licenze software.
fonte
2009-08-15 04:05:38
L'offuscamento è la strada da percorrere. – Carnell