Recuperare il codice da un software .jar

di Anonimizzato11068 il
27 risposte
E' possibile recuperare da un .jar i sorgenti ovvero i file .java?

A presto

27 Risposte

  • Devi decompilarli...ma saranno al 99% illegibili
  • Non dirmi che non c'è un sistema per convertirli in .java! Dai non ci credo!
  • La decompilazione non necessariamente genera codice ilegibile.
    Lo fa se il codice e' stato ofuscato.
    Ma ci sono buone possibilita' che il codice sia stato semplicemente compilato, quindi comprensibile al 99%

    In generale idecompilatori non capiscono molto bene i try/catch. Ma con un po' di pazienza si riesce a ricostruire il sorgente.
  • Mi fai un esempio di decompilatore e mi spieghi come offuscare un codice?
  • migliorabile ha scritto:


    La decompilazione non necessariamente genera codice ilegibile.
    Lo fa se il codice e' stato ofuscato.
    Ma ci sono buone possibilita' che il codice sia stato semplicemente compilato, quindi comprensibile al 99%

    In generale idecompilatori non capiscono molto bene i try/catch. Ma con un po' di pazienza si riesce a ricostruire il sorgente.
    parto dal presupposto che lui voglia decompilare un qualcosa di "grosso", perchè è la classica domanda "ho visto un giochino fighissimo su intenet fatto in java e voglio modificarlo".


    magari sbaglio, e magari serve solo per studiarsi una libreria semplice semplice.


    Cerca Cavaj
  • Scusate un secondo, ma per recuperare i file sorgenti da un file jar non basta cambiare l'estensione in zip ed estrarre l'archivio?
  • No!

    Non confondere i jar che contengono i sorgenti dai jar che contengono i compilati (.class)
  • Chiaro
  • Cavaj funziona alla grande!
    Quindi con java non si possono fare programmi il cui codice sia mascherato... che ciofecca però... temo che se converto il .jar in .exe ci sia un altro programma per leggere i .exe, ho indovinato?
  • Sono curioso anche io, come si fa a criptare il codice?
  • Io non l'ho mai usato ma da una veloce ricerca su Google (perchè non provate anche voi? ) è saltato fuori un obfuscator di nome ProGuard.

  • minomic ha scritto:


    Io non l'ho mai usato ma da una veloce ricerca su Google (perchè non provate anche voi? ) è saltato fuori un obfuscator di nome ProGuard.

    usato, è ottimo
  • peruzzo ha scritto:


    Cavaj funziona alla grande!
    Quindi con java non si possono fare programmi il cui codice sia mascherato... che ciofecca però... temo che se converto il .jar in .exe ci sia un altro programma per leggere i .exe, ho indovinato?
    SI, si possono fare.
    Sono i cosidetto 'offuscatori'.

    Sono in grado di fare le seguenti cose:

    1) rinominano le classi, i metodi, le variabili con sequenze del tipo "aaa", "aab", ... "zzz" ... il che rende la comprensione del decompilato un bagno di sangue

    2) permettono di rimuovere classi, metodi non utilizzati nell'applicazione, il che rende la ricompilazione del decompilato un bagno di sangue

    Appunto, proguard e' tra i piu' utilizzati.
    Ovviamente niente e' facile da utilizzare: ad esempio, bisogna stare attenti a non offuscare classi e metodi utilizzati via reflection.
  • Tutto qui? E' possibile impedire se non con grande sforzo l'accesso al codice?
Devi accedere o registrarti per scrivere nel forum
27 risposte