2010-03-19 5 views

risposta

6

Sono perplesso da questa domanda.

Come altri obfuscator Java, Proguard offusca il bytecode compilato (file .class) rinominando ogni variabile, metodo ecc. Che considera sicuro rinominare. Suppongo che tu sappia questo e sappia usare Proguard per i file di classe poiché te lo hai chiesto espressamente. In caso contrario, leggere il manuale Proguard.

Come per i file di guerra, è possibile estrarre i file di classe da war (o jar) decomprimendoli. (sì, una guerra è un normale file zip). Quindi è possibile eseguirli tramite Proguard e comprimerlo nuovamente. Puoi usare Winzip, decomprimere o qualsiasi altro programma zip tu preferisca. Puoi anche comprimere e decomprimere la guerra con JDK (jar -xvf tobe_extracted.war).

Questa offuscazione non ha alcun effetto sugli altri file all'interno della guerra, come i file delle proprietà, i file xml e così via. La guerra non è crittografata. Il tuo software potrebbe non funzionare dopo questo perché roba basata sulla riflessione potrebbe essere interrotta. Proguard non può sapere se i tuoi quadri accederanno a qualcosa con la loro potente magia di riflessione e se è davvero sicuro rinominarlo.