我想使用ProGuard混淆一个WAR文件,我该如何做?请告诉我具体步骤。
我对这个问题感到困惑。
和其他Java混淆器一样,Proguard通过重命名每个变量、方法等来混淆已编译的字节码(.class文件)。我想你知道这一点,并且知道如何使用Proguard处理类文件,因为你特别询问了它。如果不知道,请阅读Proguard手册。
至于war文件,您可以通过解压缩它来提取其中的类文件(或jar文件)。 (是的,war是一个普通的zip文件)。然后,您可以通过Proguard运行它们,然后再次进行压缩。您可以使用Winzip、unzip或任何您喜欢的zip程序。您甚至可以使用JDK压缩和解压缩war文件(jar -xvf tobe_extracted.war)。
这种混淆不会影响war中的其他文件,例如属性文件、xml文件等。这个war没有加密。但是,由于反射相关的东西可能会出现问题,因此在此之后您的软件可能无法正常工作。Proguard无法知道您的框架是否会使用反射魔法访问某些内容,以及重命名是否安全。