Java 混淆器?

Java 混淆器?

我从事 Java 开发,我想知道是否有 Java 混淆器可以安装在带有 GNOME 3.20 的 Ubuntu GNOME 16.04 上?我可以给它代码,它会执行一些操作,例如将所有代码放在一行上并删除所有缩进,将函数和变量名称等更改为随机值等,通常使代码更难阅读和反编译。如果它能让我选择对代码执行哪些操作(如果不是全部操作),那就太好了。

答案1

Proguard 可以做到这一点,而且 — — 最重要的是 — — 它可以保存在档案中:

sudo apt-get install proguard

用法

假设您有一个文件HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {
        showMessage();
    }
    private static void showMessage() {
        System.out.println("Hello World!");
    }
}

您首先需要使用以下命令进行编译:

javac HelloWorld.java

然后你可以创建一个 JAR:

jar cfe HelloWorld.jar HelloWorld HelloWorld.class

通过 Proguard 运行它非常简单:

proguard @config.pro

...哪里config.pro

-injars HelloWorld.jar
-outjars HelloWorld_out.jar
-libraryjars /path/to/rt.jar
-keep public class HelloWorld { 
      public static void main(java.lang.String[]); 
}

笔记:将路径更改libraryjars为适合您的 JDK 的路径。例如,如果您使用 OpenJDK 8 进行编译,请使用以下路径:

/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar

相关内容