Proteggere le applicazioni JavaSE
Video introduttivi
Scaricamento
Visita https://protector4j.com/download per scaricare l'ultima versione
Installazione
Windows e Linux
Non ci sono passaggi particolari per l'installazione, basta scaricare l'archivio ed estrarlo.
macOS
Scarica il file dmg e trascina Protector4J su ApplicationsIl contenuto effettivo di questo strumento è in /Applications/Protector4J.app/Contents/protector4j-mac

Crittografa le applicazioni JavaSE con strumenti GUI
Vai alla cartella Protector4J, esegui p4j-ui[.exe], vedrai la seguente interfaccia utente.
Per gli utenti macOS, è sufficiente fare doppio clic su Protector4J.app come una normale applicazione Mac.

Login
Se hai già acquistato la licenza, clicca sul pulsante di accesso in alto a destra e inserisci i tuoi dati utente. Se non hai una licenza, puoi comunque provare questo strumento.

Seleziona il tipo di applicazione
Fare clic sul pulsante "Applicazione JavaSE" nella pagina del tipo di applicazione.

Seleziona il file jar/war che deve essere crittografato
Seleziona i file jar/war che vuoi crittografare, puoi selezionare uno o più file

Opzioni
Crittografa solo i file jar
Crittografa solo i file jar, senza distribuire l'intero JRE. Questa opzione viene solitamente utilizzata in combinazione con la funzionalità KeySeed per aggiornare i programmi esistenti.
Crea file eseguibile
Creare un file eseguibile per avviare l'applicazione, non aggiungere l'estensione .exe.

Console nascosta
Questa opzione è efficace solo per i programmi GUI su Windows e viene utilizzata per nascondere la finestra della riga di comando durante l'esecuzione del programma.
Opzioni JVM
Impostare le opzioni JVM, come -Xmx e -Xms, separate da spazi o interruzioni di riga.
produzione

Selezione della versione Java
Scegli la versione Java, supportando Java 8, Java 11, Java 17 e Java 21
Crea una nuova cartella
Selezionando l'opzione predefinita, l'attività di crittografia creerà un file denominato p4j-[task-id] nella cartella di output. Il risultato dell'output viene archiviato in questa cartella.
Incluso JavaFX
Se si tratta di un'applicazione JavaFX, selezionare questa opzione
Applicazione SWT
Se si tratta di un'applicazione SWT, selezionare questa opzione.
KeySeed
Per impostazione predefinita, l'attività di crittografia richiederà una chiave casuale al server per la crittografia. I file generati in attività di crittografia diverse non possono essere utilizzati contemporaneamente. Se si specifica KeySeed, lo stesso KeySeed genererà la stessa chiave di crittografia. Questa opzione può essere utilizzata insieme alla precedente opzione "Crittografa solo file Jar" per aggiornare le applicazioni esistenti. Questa opzione è valida solo per gli utenti con licenza.
Esegui attività di crittografia
Attendi qualche istante, una volta completata l'attività di crittografia, potrai vedere il risultato di output dell'applicazione crittografata nella cartella di output.

Esegui applicazioni crittografate
Esistono tre modi per eseguire l'applicazione crittografata
- Esegui con il file exe
Se la piattaforma di destinazione è Windows, è possibile eseguire l'applicazione crittografata con il file eseguibile generato durante l'attività di crittografia.
- Esegui con script
Se la piattaforma di destinazione è Linux o macOS, puoi trovare un file di script con il nome exe-name.sh, puoi eseguire l'applicazione con questo file di script.
- Esecuzione del programma con i comandi Java tradizionali
È anche possibile eseguire manualmente il programma con vlxjre/bin/java; il formato di questo comando è lo stesso del normale comando Java.
Nella directory di output possiamo vedere una cartella denominata vlxjre, che è il nostro JRE personalizzato, mentre i file jar crittografati sono archiviati nella cartella 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 attualmente non supporta l'esecuzione tramite vlxjre/bin/java -jar. Utilizzare vlxjre/bin/java -cp xx MainClass
Avvisi
Se la piattaforma di destinazione di questo programma è macOS o Linux, ma è basato su Windows, eseguilo add-executable-permission.sh sulla piattaforma di destinazione per concedere l'autorizzazione di esecuzione al programma prima del primo avvio.
Modificare i parametri JVM del file exe
Finestre
Se è necessario modificare i parametri JVM del file exe, modificare exe-name.json e modificare i valori nell'array JArgs.
"JArgs": [
"-DParam1=value1",
"-DParam2=value2"
]
Linux e macOS
Basta aprire il file script e aggiungere o modificare i parametri JVM.
Crittografa le applicazioni JavaSE con lo strumento CLI.
File di configurazione
Lo strumento CLI deve specificare un file di attività come parametro.
Vai al protector4j/task-templates cartella, trova java-task.yml, copiane e modificane uno.
# 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: []
Eseguire l'attività di crittografia.
Andare alla cartella Protector4J ed eseguire il seguente comando.
Linux o macOS
Per gli utenti macOS, è possibile trovare lo strumento CLI all'indirizzo /Applictions/Protector4J.app/Contents/protector4j-mac.
./p4j -t java -f path-of-task-file
Finestre
p4j -t java -f path-of-task-file
Puoi eseguire p4j --help per visualizzare i parametri dettagliati.
Esegui con le informazioni dell'account
./p4j -t java -f path-of-task-file -u email -p password
Visualizza i risultati
Una volta completata l'attività di crittografia, accedere alla cartella di output per verificare i risultati.
Esegui applicazioni crittografate
Esistono tre modi per eseguire l'applicazione crittografata
- Esegui con il file exe
Se la piattaforma di destinazione è Windows, è possibile eseguire l'applicazione crittografata con il file eseguibile generato dall'attività di crittografia.
- Esegui con script
Se la piattaforma di destinazione è Linux o macOS, puoi trovare un file di script con il nome exe-name.sh, puoi eseguire l'applicazione con questo file di script.
- Esecuzione del programma con i comandi Java tradizionali
È anche possibile eseguire manualmente il programma con vlxjre/bin/java; il formato di questo comando è lo stesso del normale comando Java.
Nella directory di output possiamo vedere una cartella denominata vlxjre, che è il nostro JRE personalizzato, mentre i file jar crittografati sono archiviati nella cartella 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 attualmente non supporta l'esecuzione tramite vlxjre/bin/java -jar. Utilizzare vlxjre/bin/java -cp xx MainClass
Avvisi
Se la piattaforma di destinazione di questo programma è macOS o Linux, ma è basato su Windows, eseguilo add-executable-permission.sh sulla piattaforma di destinazione per concedere l'autorizzazione di esecuzione al programma prima del primo avvio.