2010-03-19 19 views

Répondre

6

Je suis intrigué par cette question.

Comme d'autres obfuscateurs Java, Proguard obscurcit le bytecode compilé (fichiers .class) en renommant chaque variable, méthode, etc. qu'il considère comme sûre de renommer. Je suppose que vous le savez et que vous savez comment utiliser Proguard pour les fichiers de classe puisque vous l'avez spécifiquement demandé. Sinon, lisez le manuel proguard. En ce qui concerne les fichiers war, vous pouvez extraire les fichiers de classe de war (ou jar) en les décompressant. (oui, une guerre est un fichier zip normal). Ensuite, vous pouvez les exécuter via Proguard et le compresser à nouveau. Vous pouvez utiliser Winzip, unzip ou n'importe quel programme zip que vous préférez. Vous pouvez même compresser et décompresser la guerre avec JDK (jar -xvf tobe_extracted.war).

Cette obfuscation n'affecte pas les autres fichiers dans la guerre, comme les fichiers de propriétés, les fichiers XML et autres. La guerre n'est pas cryptée. Votre logiciel peut ne pas fonctionner après cela parce que les éléments basés sur la réflexion peuvent être cassés. Proguard ne peut pas savoir si vos frameworks vont accéder à quelque chose avec leur magique magie de réflexion et s'il est en fait sûr de le renommer.