Protéger les applications JavaSE
Vidéos de démarrage
Télécharger
Visite https://protector4j.com/download pour télécharger la dernière version
Installation
Windows et Linux
Aucune étape d'installation particulière n'est requise, il suffit de télécharger l'archive et de l'extraire.
macOS
Téléchargez le fichier dmg et glissez Protector4J dans ApplicationsLe contenu réel de cet outil se trouve dans /Applications/Protector4J.app/Contents/protector4j-mac

Chiffrer les applications JavaSE avec des outils d'interface graphique
Accédez au dossier Protector4J, exécutez p4j-ui[.exe]Vous verrez alors l'interface utilisateur suivante.
Pour les utilisateurs de macOS, il suffit de double-cliquer sur Protector4J.app comme pour une application Mac classique.

Se connecter
Si vous avez déjà acheté une licence, veuillez cliquer sur le bouton de connexion en haut à droite et saisir vos identifiants. Si vous n'avez pas de licence, vous pouvez tout de même 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 à chiffrer
Sélectionnez les fichiers jar/war que vous souhaitez chiffrer ; vous pouvez sélectionner un ou plusieurs fichiers.

Options
Chiffrer uniquement les fichiers jar
Chiffrez uniquement les fichiers JAR, sans déployer l'intégralité du JRE. Cette option est généralement utilisée conjointement 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 est uniquement efficace pour les programmes avec interface graphique sous Windows et permet de 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.
sortir

sélection de la version Java
Choisissez la version de Java prise en charge : Java 8, Java 11, Java 17 et Java 21.
Créer un nouveau dossier
Si cette option est sélectionnée 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
S'il s'agit d'une application JavaFX, veuillez sélectionner cette option.
Application SWT
S'il s'agit d'une application SWT, veuillez sélectionner cette option.
KeySeed
Par défaut, la tâche de chiffrement demandera une clé aléatoire au serveur. Les fichiers générés par différentes tâches de chiffrement ne peuvent pas être utilisés simultanément. Si une clé de chiffrement (KeySeed) est spécifiée, cette même clé sera utilisée pour générer la même clé de chiffrement. Cette option peut être combinée avec l'option précédente « Chiffrer uniquement les fichiers JAR » pour mettre à jour les applications existantes. Cette option est réservée aux utilisateurs disposant d'une licence.
Exécuter la tâche de chiffrement
Veuillez patienter un moment ; une fois la tâche de chiffrement terminée, vous pourrez voir le résultat de l'application chiffrée dans le dossier de sortie.

Exécuter des applications chiffrées
Il existe trois façons d'exécuter l'application chiffrée
- Exécuter 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.
- Exécuter avec le script
Si la plateforme cible est Linux ou macOS, vous trouverez un fichier script portant le nom exe-name.shVous pouvez exécuter l'application avec ce fichier script.
- Exécuter le programme avec une commande Java traditionnelle
Vous pouvez également exécuter manuellement le programme avec vlxjre/bin/java ; le format de cette commande est identique à celui de la commande java normale.
On peut voir un dossier nommé vlxjre dans le répertoire de sortie, qui est notre JRE personnalisé, et les fichiers jar chiffré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 compilé sous Windows, veuillez exécuter add-executable-permission.sh sur la plateforme cible pour accorder l'autorisation d'exécution au programme avant son premier démarrage.
Modifier les paramètres JVM du fichier exe
Windows
Si vous devez modifier les paramètres JVM du fichier exe, modifiez-les. exe-name.json et modifier les valeurs du tableau JArgs.
"JArgs": [
"-DParam1=value1",
"-DParam2=value2"
]
Linux et macOS
Il suffit d'ouvrir le fichier script et d'ajouter ou de modifier les paramètres JVM.
Chiffrez les applications JavaSE avec l'outil CLI.
fichier de configuration
L'outil CLI nécessite de spécifier un fichier de tâches en tant que paramètre.
Allez à protector4j/task-templates dossier, trouver java-task.yml, copiez-en un et modifiez-le.
# 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écuter la tâche de chiffrement.
Accédez au dossier Protector4J et exécutez la commande suivante.
Linux ou macOS
Pour les utilisateurs de macOS, l'outil CLI est disponible à l'adresse suivante : /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écuter p4j --help pour consulter les paramètres détaillés.
Exécuter avec les informations du compte
./p4j -t java -f path-of-task-file -u email -p password
Afficher les résultats
Une fois la tâche de chiffrement terminée, veuillez vous rendre dans le 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
- Exécuter 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.
- Exécuter avec le script
Si la plateforme cible est Linux ou macOS, vous trouverez un fichier script portant le nom exe-name.shVous pouvez exécuter l'application avec ce fichier script.
- Exécuter le programme avec une commande Java traditionnelle
Vous pouvez également exécuter manuellement le programme avec vlxjre/bin/java ; le format de cette commande est identique à celui de la commande java normale.
On peut voir un dossier nommé vlxjre dans le répertoire de sortie, qui est notre JRE personnalisé, et les fichiers jar chiffré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 compilé sous Windows, veuillez exécuter add-executable-permission.sh sur la plateforme cible pour accorder l'autorisation d'exécution au programme avant son premier démarrage.