p0ll0_ ha scritto:
Devo aver provato e senza non funziona.
Ho riprovato adesso a togliere il jar dalla cartella e mi dice che non funziona infatti...
Il punto è che per eseguire un programma Java, è sufficiente distribuire i file del bytecode compilato, mentre non occorre (ovviamente) distribuire né il codice sorgente né tantomeno è necessario installare un qualsivoglia IDE o un compilatore per farlo funzionare, in quanto è sufficiente avere il runtime in grado di caricare e compilare JIT il bytecode Java.
E' del tutto normale, quindi, che gli offuscatori lavorino sul codice compilato, anche perché il sorgente - se viene distribuito - lo si rende disponibile affinché sia leggibile come risorsa e come riferimento, e pertanto deve essere comprensibile e possibilmente modificabile e ricompilabile a piacere.
Se paradossalmente un offuscatore modificasse irreversibilmente il codice sorgente, come sarebbe possibile poi anche per l'autore originale mettersi a lavorare di nuovo su tale codice?
Fermo restando che offuscare codice compilato che non contiene algoritmi particolari o altre implementazioni che valgono la pena rappresenta una operazione abbastanza iniqua e superflua, soprattutto perché determinate "difese" da usi che violano un copyright rappresenta più una questione da affrontare legalmente piuttosto che un limite tecnico da imporre (che pur reso difficile è sempre valicabile, qualora vi sia la volontà o l'utilità di farlo).