Schützen Sie JavaSE-Anwendungen

Einführungsvideos

▶️ YouTube

▶️ Bilibili

Herunterladen

Besuchenhttps://protector4j.com/downloadum die neueste Version herunterzuladen

Installation

Windows und Linux

Es sind keine besonderen Installationsschritte erforderlich. Laden Sie einfach das Archiv herunter und extrahieren Sie es.

macOS

Laden Sie die DMG-Datei herunter und ziehen Sie Protector4J inApplications. Der eigentliche Inhalt dieses Tools ist in/Applications/Protector4J.app/Contents/protector4j-mac

Verschlüsseln Sie JavaSE-Anwendungen mit GUI-Tools

Gehe zum Protector4J-Ordner und führe ausp4j-ui[.exe], sehen Sie die folgende Benutzeroberfläche.

Für macOS-Benutzer doppelklicken Sie einfach wie bei einer normalen Mac-Anwendung auf Protector4J.app.

Anmeldung

Wenn Sie die Lizenz bereits erworben haben, klicken Sie bitte auf die Anmeldeschaltfläche in der oberen rechten Ecke und geben Sie Ihre Benutzerinformationen ein. Wenn Sie keine Lizenz haben, können Sie dieses Tool trotzdem ausprobieren.

Wählen Sie den Anwendungstyp

Klicken Sie auf der Anwendungstypseite auf die Schaltfläche „JavaSE-Anwendung“.

Wählen Sie die zu verschlüsselnde Jar/War-Datei aus

Wählen Sie die zu verschlüsselnden Jar/War-Dateien aus. Sie können eine oder mehrere Dateien auswählen.

Optionen

Nur JAR-Dateien verschlüsseln

Verschlüsseln Sie nur die JAR-Dateien, ohne die gesamte JRE bereitzustellen. Diese Option wird normalerweise in Kombination mit der KeySeed-Funktion verwendet, um vorhandene Programme zu aktualisieren.

Erstellen Sie ausführbare Datei

Erstellen Sie eine ausführbare Datei zum Starten der Anwendung. Fügen Sie bitte nicht die Erweiterung .exe hinzu.

Versteuerte Konsole

Diese Option ist nur für GUI-Programme unter Windows wirksam und dient dazu, das Befehlszeilenfenster während der Programmausführung auszublenden.

JVM-Optionen

Legen Sie JVM-Optionen wie -Xmx und -Xms fest, getrennt durch Leerzeichen oder Zeilenumbrüche.

Ausgabe

Java-Version Auswahl

Wählen Sie die Java-Version, die Java 8, Java 11, Java 17 und Java 21 unterstützt

Neuen Ordner erstellen

Standardmäßig erstellt die Verschlüsselungsaufgabe eine Datei mit dem Namen p4j-[Aufgaben-ID] im Ausgabeordner. Das Ausgabeergebnis wird in diesem Ordner gespeichert.

Einschließlich JavaFX

Wenn es sich um eine JavaFX-Anwendung handelt, wählen Sie bitte diese Option

SWT-Anwendung

Wenn es sich um eine SWT-Anwendung handelt, wählen Sie bitte diese Option.

KeySeed

Die Verschlüsselungsaufgabe fordert standardmäßig einen zufälligen Schlüssel vom Server zur Verschlüsselung an. Dateien, die in verschiedenen Verschlüsselungsaufgaben generiert wurden, können nicht zusammen verwendet werden. Wenn KeySeed angegeben ist, generiert derselbe KeySeed denselben Verschlüsselungsschlüssel. Diese Option kann mit der vorherigen Option „Nur Jar-Dateien verschlüsseln“ verwendet werden, um vorhandene Anwendungen zu aktualisieren. Diese Option ist nur für lizenzierte Benutzer gültig.

Führen Sie die Verschlüsselungsaufgabe aus

Bitte warten Sie eine Weile. Nachdem die Verschlüsselungsaufgabe abgeschlossen ist, können Sie das Ausgabeergebnis der verschlüsselten Anwendung im Ausgabeordner sehen.

Verschlüsselte Anwendungen ausführen

Es gibt drei Möglichkeiten, die verschlüsselte Anwendung auszuführen

  1. Mit der exe-Datei ausführen

Wenn die Zielplattform Windows ist, können Sie die verschlüsselte Anwendung mit der ausführbaren Datei ausführen, die während der Verschlüsselungsaufgabe generiert wurde.

  1. Mit Skript ausführen

Wenn die Zielplattform Linux oder macOS ist, finden Sie eine Skriptdatei mit dem Namenexe-name.sh, können Sie die Anwendung mit dieser Skriptdatei ausführen.

  1. Das Programm mit dem traditionellen Java-Befehl ausführen

Sie können das Programm auch manuell mit vlxjre/bin/java ausführen. Das Format dieses Befehls ist das gleiche wie der normale Java-Befehl.

Wir können einen Ordner namens vlxjre im Ausgabeverzeichnis sehen, bei dem es sich um unsere angepasste JRE handelt, und die verschlüsselten JAR-Dateien werden im Ordner vlxlib gespeichert.

vlxjre/bin/java -jar vlxlib/xxx.jar
vlxjre/bin/java -cp vlxlib/xxx.jar MainClass
vlxjre/bin/java -cp "vlxlib/*" MainClass
vlxjre/bin/java -Xms512M -Xmx1024m -cp "vlxlib/*" MainClass

Java 8 unterstützt derzeit nicht die Ausführung über vlxjre/bin/java -jar. Bitte verwenden Sie vlxjre/bin/java -cp xx MainClass

Hinweise

Wenn die Zielplattform dieses Programms macOS oder Linux ist, es aber auf Windows erstellt wurde, führen Sie bitte ausadd-executable-permission.sh auf der Zielplattform, um dem Programm vor dem ersten Start die Ausführungsberechtigung zu erteilen.

Ändern Sie die JVM-Parameter der exe-Datei

Windows

Wenn Sie die JVM-Parameter der exe-Datei ändern müssen, bearbeiten Sie exe-name.json und ändern Sie die Werte im JArgs-Array.

"JArgs": [
  "-DParam1=value1",
  "-DParam2=value2"
]

Linux und macOS

Öffnen Sie einfach die Skriptdatei und fügen Sie die JVM-Parameter hinzu oder ändern Sie sie.

Verschlüsseln Sie JavaSE-Anwendungen mit dem CLI-Tool.

Konfigurationsdatei

Das CLI-Tool muss eine Aufgabendatei als Parameter angeben.

Gehen Sie zumprotector4j/task-templatesOrdner findenjava-task.yml, kopieren und ändern Sie eines.

# Available values: 8,11,17,21
javaVersion: 17

# The jar files that need to be encrypted
jarFiles: []
# Only encrypt the jar files, do not deploy the runtime
# This option is used while upgrading an existing application
onlyEncryptJarFiles: false

## [ Executable file information ]
# The executable file name
exeFileName: ''
# Hide command line window, only valid for Windows
hideConsole: false
# The main class of this Java Application
mainClass: ''
# The splash image
splash: ''
# JVM Options
jvmOptions: []

## [ Output Options ]
# The output folder
outputFolder: ''
# Create a new and unique folder for the application, the folder name is like p4j-<taskId>
createNewFolder: true
# Whether this is a JavaFX application
includeJavaFX: false
# Whether this a swt gui application
swtApplication: false
# Fixed key seed, only avaiable for licensed user
# Jars encrypted in different tasks can be used together with same key seed
keySeed: ''
# The target platforms
# available values: [win, linux, mac] or empty for current platform
platforms: []

Verschlüsselungsaufgabe ausführen.

Gehen Sie zum Ordner Protector4J und führen Sie den folgenden Befehl aus.

Linux oder macOS

Für macOS-Benutzer finden Sie das CLI-Tool unter /Applictions/Protector4J.app/Contents/protector4j-mac.

./p4j -t java -f path-of-task-file

Windows

p4j -t java -f path-of-task-file

Sie können ausführenp4j --help um die detaillierten Parameter anzuzeigen.

Mit Kontoinformationen ausführen

./p4j -t java -f path-of-task-file -u email -p password

Ergebnisse anzeigen

Nachdem die Verschlüsselungsaufgabe abgeschlossen ist, gehen Sie bitte zum Ausgabeordner, um die Ergebnisse zu überprüfen.

Verschlüsselte Anwendungen ausführen

Es gibt drei Möglichkeiten, die verschlüsselte Anwendung auszuführen

  1. Mit der exe-Datei ausführen

Wenn die Zielplattform Windows ist, können Sie die verschlüsselte Anwendung mit der von der Verschlüsselungsaufgabe generierten ausführbaren Datei ausführen.

  1. Mit Skript ausführen

Wenn die Zielplattform Linux oder macOS ist, finden Sie eine Skriptdatei mit dem Namenexe-name.sh, können Sie die Anwendung mit dieser Skriptdatei ausführen.

  1. Das Programm mit dem traditionellen Java-Befehl ausführen

Sie können das Programm auch manuell mit vlxjre/bin/java ausführen. Das Format dieses Befehls ist das gleiche wie der normale Java-Befehl.

Wir können einen Ordner namens vlxjre im Ausgabeverzeichnis sehen, bei dem es sich um unsere angepasste JRE handelt, und die verschlüsselten JAR-Dateien werden im Ordner vlxlib gespeichert.

vlxjre/bin/java -jar vlxlib/xxx.jar
vlxjre/bin/java -cp vlxlib/xxx.jar MainClass
vlxjre/bin/java -cp "vlxlib/*" MainClass
vlxjre/bin/java -Xms512M -Xmx1024m -cp "vlxlib/*" MainClass

Java 8 unterstützt derzeit nicht die Ausführung über vlxjre/bin/java -jar. Bitte verwenden Sie vlxjre/bin/java -cp xx MainClass

Hinweise

Wenn die Zielplattform dieses Programms macOS oder Linux ist, es aber auf Windows erstellt wurde, führen Sie bitte ausadd-executable-permission.sh auf der Zielplattform, um dem Programm vor dem ersten Start die Ausführungsberechtigung zu erteilen.