2010-03-19 11 views

Antwort

6

Ich bin durch diese Frage verwirrt.

Wie andere Java-Obfuscatoren verschleiert Proguard den kompilierten Bytecode (.class-Dateien), indem er jede Variable, Methode usw. umbenennt, die er sicher umbenennen kann. Ich nehme an, Sie wissen das und wissen, wie Sie Proguard für Klassendateien verwenden, da Sie speziell danach gefragt haben. Wenn nicht, lesen Sie das Proguard-Handbuch.

Wie bei WAR-Dateien können Sie die Klassendateien aus dem Krieg (oder Jar) extrahieren, indem Sie sie entpacken. (Ja, ein Krieg ist eine normale Zip-Datei). Dann kannst du sie durch Proguard laufen lassen und sie wieder zusammenfügen. Sie können Winzip, entpacken oder was auch immer Zip-Programm Sie bevorzugen. Sie können sogar den Krieg mit JDK komprimieren und entpacken (jar -xvf tobe_extracted.war).

Diese Verschleierung wirkt sich nicht auf die anderen Dateien im Krieg aus, wie zum Beispiel Eigenschaftendateien, XML-Dateien und ähnliches. Der Krieg ist nicht verschlüsselt. Ihre Software funktioniert möglicherweise danach nicht mehr, da auf Reflektion basierendes Material möglicherweise kaputt ist. Proguard kann nicht wissen, ob deine Frameworks mit ihrer mächtigen Reflektionsmagie auf etwas zugreifen und ob es wirklich sicher ist, es umzubenennen.

Verwandte Themen