E fai male.Originariamente inviato da masterix21
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.
Certo .... però è assolutamente senza commenti/documentazione e se è stato "offuscato" certi nomi di classi o variabili sono "a palla".Originariamente inviato da masterix21
E' possibile tramite JCavaj (ed altri programmini simili), decompilare il bytecode e riottenere il sorgente.
Infatti una cosa del genere non è da gestire in questo modo. Se tu avessi sviluppato la stessa cosa in un altro linguaggio come C, C++, ecc... mettendo sempre le pwd in chiaro, non credi che basterebbe un semplice editor esadecimale per scoprire la password all'interno del tuo .exe???Originariamente inviato da masterix21
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.
Primo: non è assurda. Secondo: se sei scosso per questo .....Originariamente inviato da masterix21
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.
Certo, esistono tool come ad esempio ProGuard che permettono di offuscare il codice. E non sono certo inutili!!Originariamente inviato da masterix21
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.
Ripeto: non è un falla o un bug!Originariamente inviato da masterix21
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.
Per terminare, una considerazione un po' "filosofica". Tu hai un software commerciale Java (di cui non hai i sorgenti, ovviamente) composto da un migliaio di classi. Lo decompili e ottieni tutti i sorgenti che, come ho detto all'inizio, sono senza commenti/documentazione e magari "offuscati".Originariamente inviato da masterix21
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.
Cosa ne fai??? Provi a capire come funziona??? Se sicuro di riuscire a capire un migliaio di classi senza commenti/documentazione???
Se una persona ha le competenze tali da poter capire completamente un progetto complesso senza avere alcuna documentazione ..... allora avrebbe le competenze necessarie per sviluppare da zero un progetto simile e magari migliore!!
Non mi ricordo più dove l'ho letto (sicuramente su qualche rivista o libro) ma invece di tentare di "copiare" un software bisognerebbe, in linea teorica, tentare di "copiare" la mente e le conoscenze del programmatore che ha sviluppato il progetto.![]()