私は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