Chissà quanti di voi già lo sapranno.. io sinceramente mi sono avvicinato da poco a java, ma dopo questa triste scoperta penso di allontanarmi nuovamente.
E' possibile tramite JCavaj (ed altri programmini simili), decompilare il bytecode e riottenere il sorgente.
In pratica se voi state offrendo un sistema di upload in java sul vostro sito web, che magari sfrutta una connessione ftp (voi pensate di essere sicuri tenendo le pwd nel bytecode...)... vi posso assicurare che con un decompilatore non è più tanto sicura come cosa.
Sto scoprendo proprio ora che TUTTI i files .class di java possono essere decompilati.
Sto provando con una marea di progetti (anche roba che in giro si trova a pagamento... ed anche a fior di quattrini..): e tutti fino ad ora sono riuscito a decompilarli.
E' assurda come cosa: mi ha molto scosso.
Ho riscontrato solo un piccolo problema (ma potrebbe derivare dal decompilatore che uso [JCavaj]): ci sono problemi con le variabile intere utilizzate come contatori/indici.
Ho cercato su Internet, quasi incredulo della scoperta (per me nuova... ed anche tragica!) ed ho scoperto che esiste qualche chicca per far perdere tempo (tipo offuscare il codice con variabili prive di senso ed altre cose simili): ma non serve a nulla di concreto.
Tutta la vostra fatica, tutti i vostri sudori... nelle mani di tutti.
Mi auguro che i guru di java presenti su questo forum mi diano una smentita: non ci credo che il linguaggio più vantato al mondo abbia una falla simile.
Non mi tirate fuori la discussione che da tutti gli eseguibili si può arrivare al sorgente perché anche se fosse possibile, ci vorrebbe molto più tempo... qui si tratta di avviare un programma, dare il path dei files .class ed ottenere in meno di 5 secondi i sorgenti: un'operazione da ragazzi in pratica.
Vi prego: datemi prova plausibile che sto sbagliando e che esiste un modo per rendere impossibili tutto ciò: fatemi capire che ho scritto cavolate.
P.S.: avevo cercato sul forum ma non ho trovato discussioni simili, forse perché avevano usato oggetti del thread particolari... se tante volte, ci fossero già discussioni, vi chiedo scusa: ma sono sconvolto.