Spring Boot-Anwendungen schützen

Einführungsvideos

▶️ YouTube

▶️ Bilibili

Download

Besuchen Sie https://protector4j.com/download, um die neueste Version herunterzuladen

Installation

Windows und Linux

Es sind keine besonderen Installationsschritte erforderlich, laden Sie einfach das Archiv herunter und entpacken Sie es.

macOS

Laden Sie die DMG-Datei herunter und ziehen Sie Protector4J in den Ordner Applications. Der eigentliche Inhalt dieses Tools befindet sich in /Applications/Protector4J.app/Contents/protector4j-mac

Spring Boot-Anwendungen mit GUI-Tools verschlüsseln

Wechseln Sie zum Protector4J-Ordner, führen Sie p4j-ui[.exe] aus, und Sie sehen die folgende Benutzeroberfläche.

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

Anmeldung

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

Anwendungstyp auswählen

Klicken Sie auf die Schaltfläche "Spring Boot Application" auf der Anwendungstyp-Seite.

JAR/WAR-Datei auswählen, die verschlüsselt werden soll

Wählen Sie die JAR/WAR-Dateien aus, die Sie verschlüsseln möchten. Sie können eine oder mehrere Dateien auswählen

Optionen

Nur JAR-Dateien verschlüsseln

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

Ausführbare Datei erstellen

Erstellen Sie eine ausführbare Datei zum Starten der Anwendung, bitte fügen Sie keine .exe-Erweiterung hinzu.

Konsole ausblenden

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 fest, wie z.B. -Xmx und -Xms, getrennt durch Leerzeichen oder Zeilenumbrüche.

Ausgabe

Java-Versionsauswahl

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

Neuen Ordner erstellen

Standardmäßig ausgewählt, die Verschlüsselungsaufgabe erstellt eine Datei namens p4j-[task-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 ein KeySeed angegeben wird, generiert derselbe KeySeed denselben Verschlüsselungsschlüssel. Diese Option kann mit der vorherigen Option "Nur JAR-Dateien verschlüsseln" verwendet werden, um bestehende Anwendungen zu aktualisieren. Diese Option ist nur für lizenzierte Benutzer gültig.

Verschlüsselungsaufgabe ausführen

Bitte warten Sie einen Moment. Nach Abschluss der Verschlüsselungsaufgabe 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 EXE-Datei ausführen

Wenn die Zielplattform Windows ist, können Sie die verschlüsselte Anwendung mit der während 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 Namen exe-name.sh, mit der Sie die Anwendung ausführen können.

  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 dasselbe wie beim normalen Java-Befehl.

Im Ausgabeverzeichnis sehen wir einen Ordner namens vlxjre, der unsere angepasste JRE ist, und die verschlüsselten JAR-Dateien sind 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 das Ausführen ü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 unter Windows erstellt wurde, führen Sie bitte add-executable-permission.sh auf der Zielplattform aus, um dem Programm vor dem ersten Start Ausführungsberechtigungen zu erteilen.

JVM-Parameter der EXE-Datei ändern

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 JVM-Parameter hinzu oder ändern Sie diese.

Spring Boot-Anwendungen mit CLI-Tool verschlüsseln

Konfigurationsdatei

Das CLI-Tool muss eine Aufgabendatei als Parameter angeben.

Wechseln Sie zum Ordner protector4j/task-templates, suchen Sie spring-boot-task.yml, kopieren und bearbeiten Sie eine.

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

# The jar file of spring boot application
springBootJarFile: ''
# 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 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, keep it empty for current plaform,
# available values: [win, linux, mac]
platforms: []

## [ Windows exe file information (Optional and only valid for Windows) ]
icon: ''
productName: ''
productVersion: ''
fileVersion: ''
fileDescription: ''
companyName: ''
legalCopyright: ''

Verschlüsselungsaufgabe ausführen

Wechseln Sie zum Protector4J-Ordner 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 spring-boot -f path-of-task-file

Windows

p4j -t spring-boot -f path-of-task-file

Sie können p4j --help ausführen, um die detaillierten Parameter anzuzeigen.

Mit Kontoinformationen ausführen

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

Ergebnisse anzeigen

Nach Abschluss der Verschlüsselungsaufgabe 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 EXE-Datei ausführen

Wenn die Zielplattform Windows ist, können Sie die verschlüsselte Anwendung mit der durch die 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 Namen exe-name.sh, mit der Sie die Anwendung ausführen können.

  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 dasselbe wie beim normalen Java-Befehl.

Im Ausgabeverzeichnis sehen wir einen Ordner namens vlxjre, der unsere angepasste JRE ist, und die verschlüsselten JAR-Dateien sind 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 das Ausführen ü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 unter Windows erstellt wurde, führen Sie bitte add-executable-permission.sh auf der Zielplattform aus, um dem Programm vor dem ersten Start Ausführungsberechtigungen zu erteilen.