Protégez les applications JavaSE

Vidéos de démarrage

▶️ YouTube

▶️ Bilibili

Télécharger

Visitezhttps://protector4j.com/downloadpour télécharger la dernière version

Installation

Windows et Linux

Il n'y a pas d'étapes d'installation particulières, il suffit de télécharger l'archive et de l'extraire.

macOS

Téléchargez le fichier dmg et faites glisser Protector4J versApplications. Le contenu réel de cet outil est en/Applications/Protector4J.app/Contents/protector4j-mac

Chiffrez les applications JavaSE avec des outils GUI

Allez dans le dossier Protector4J, exécutezp4j-ui[.exe], vous verrez l'interface utilisateur suivante.

Pour les utilisateurs de macOS, double-cliquez simplement sur Protector4J.app comme une application Mac classique.

Connexion

Si vous avez déjà acheté la licence, veuillez cliquer sur le bouton de connexion dans le coin supérieur droit et saisir vos informations utilisateur. Si vous n'avez pas de licence, vous pouvez toujours essayer cet outil.

Sélectionnez le type d'application

Cliquez sur le bouton « Application JavaSE » sur la page du type d'application.

Sélectionnez le fichier jar/war qui doit être crypté

Sélectionnez les fichiers jar/war que vous souhaitez chiffrer, vous pouvez sélectionner un ou plusieurs fichiers

Options

Seulement crypter les fichiers jar

Chiffrez uniquement les fichiers jar, sans déployer l'intégralité du jre. Cette option est généralement utilisée en combinaison avec la fonctionnalité KeySeed pour mettre à jour les programmes existants.

Créer un fichier exécutable

Créez un fichier exécutable pour lancer l'application, veuillez ne pas ajouter l'extension .exe.

Console cachée

Cette option n'est efficace que pour les programmes GUI sous Windows et est utilisée pour masquer la fenêtre de ligne de commande pendant l'exécution du programme.

Options JVM

Définissez les options JVM, telles que -Xmx et -Xms, séparées par des espaces ou des sauts de ligne.

sortie

Sélection de la version Java

Choisissez la version de Java, prenant en charge Java 8, Java 11, Java 17 et Java 21

Créer un nouveau dossier

Sélectionné par défaut, la tâche de chiffrement créera un fichier nommé p4j-[task-id] dans le dossier de sortie, le résultat de la sortie est stocké dans ce dossier.

Y compris JavaFX

Si c'est une application JavaFX, veuillez sélectionner cette option

Application SWT

S'il s'agit d'une application SWT, veuillez sélectionner cette option.

KeySeed

La tâche de chiffrement demandera par défaut une clé aléatoire au serveur pour le chiffrement. Les fichiers générés lors de différentes tâches de chiffrement ne peuvent pas être utilisés ensemble. Si KeySeed est spécifié, le même KeySeed générera la même clé de chiffrement. Cette option peut être utilisée avec l'option précédente « Crypter uniquement les fichiers Jar » pour mettre à jour les applications existantes. Cette option n'est valable que pour les utilisateurs sous licence.

Exécuter la tâche de chiffrement

Veuillez patienter un moment, une fois la tâche de cryptage terminée, vous pourrez voir le résultat de sortie de l'application cryptée dans le dossier de sortie.

Exécuter des applications chiffrées

Il existe trois façons d'exécuter l'application cryptée

  1. Exécutez avec le fichier exe

Si la plateforme cible est Windows, vous pouvez exécuter l'application chiffrée avec le fichier exécutable généré lors de la tâche de chiffrement.

  1. Exécutez avec script

Si la plate-forme cible est Linux ou macOS, vous pouvez trouver un fichier de script avec le nomexe-name.sh, vous pouvez exécuter l'application avec ce fichier de script.

  1. Exécution du programme avec la commande Java traditionnelle

Vous pouvez également exécuter manuellement le programme avec vlxjre/bin/java, le format de cette commande est le même que celui de la commande Java normale.

Nous pouvons voir un dossier nommé vlxjre dans le répertoire de sortie, qui est notre JRE personnalisé, et les fichiers jar cryptés sont stockés dans le dossier vlxlib.

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 ne prend actuellement pas en charge l'exécution via vlxjre/bin/java -jar. Veuillez utiliser vlxjre/bin/java -cp xx MainClass

Avis

Si la plateforme cible de ce programme est macOS ou Linux, mais qu'il est construit sur Windows, veuillez exécuteradd-executable-permission.sh sur la plate-forme cible pour accorder l'autorisation d'exécution au programme avant le premier démarrage.

Modifier les paramètres JVM du fichier exe

Windows

Si vous devez modifier les paramètres JVM du fichier exe, modifiezexe-name.json et modifiez les valeurs dans le tableau JArgs.

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

Linux et macOS

Ouvrez simplement le fichier de script et ajoutez ou modifiez les paramètres JVM.

Chiffrez les applications JavaSE avec l'outil CLI.

Fichier de configuration

L'outil CLI doit spécifier un fichier de tâches en tant que paramètre.

Aller au protector4j/task-templatesdossier, trouverjava-task.yml, copiez et modifiez-en un.

# 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: []

Exécutez la tâche de chiffrement.

Accédez au dossier Protector4J et exécutez la commande suivante.

Linux ou macOS

Pour les utilisateurs de macOS, vous pouvez trouver l'outil CLI à/Applictions/Protector4J.app/Contents/protector4j-mac.

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

Windows

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

Vous pouvez exécuterp4j --help pour visualiser les paramètres détaillés.

Exécuter avec des informations de compte

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

Voir les résultats

Une fois la tâche de cryptage terminée, accédez au dossier de sortie pour vérifier les résultats.

Exécuter des applications chiffrées

Il existe trois façons d'exécuter l'application chiffrée

  1. Exécutez avec le fichier exe

Si la plateforme cible est Windows, vous pouvez exécuter l'application chiffrée avec le fichier exécutable généré par la tâche de chiffrement.

  1. Exécutez avec script

Si la plate-forme cible est Linux ou macOS, vous pouvez trouver un fichier de script avec le nomexe-name.sh, vous pouvez exécuter l'application avec ce fichier de script.

  1. Exécution du programme avec la commande Java traditionnelle

Vous pouvez également exécuter manuellement le programme avec vlxjre/bin/java, le format de cette commande est le même que celui de la commande Java normale.

Nous pouvons voir un dossier nommé vlxjre dans le répertoire de sortie, qui est notre JRE personnalisé, et les fichiers jar cryptés sont stockés dans le dossier vlxlib.

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 ne prend actuellement pas en charge l'exécution via vlxjre/bin/java -jar. Veuillez utiliser vlxjre/bin/java -cp xx MainClass

Avis

Si la plateforme cible de ce programme est macOS ou Linux, mais qu'il est construit sur Windows, veuillez exécuteradd-executable-permission.sh sur la plate-forme cible pour accorder l'autorisation d'exécution au programme avant le premier démarrage.