▶️ https://www.youtube.com/watch?v=MQf9IiDHQ18
Visit https://protector4j.com/download to download the latest version.
No special installation steps are required, just download and extract the archive.
Download the dmg file and drag Protector4J to Applications, the actual contents of this tool are in Protector4J.app/Contents/protector4j-mac
.
Go to the folder of Protector4J then execute p4j-ui[.exe] , you will see the interface below
For macOS, just double click the Protector4J.app
If you have got the license, please click the login button on the top-right corner and input your account information. Although you can still try this tool free without the license.
Click the “JavaSE Application” button on the app type page.
Choose the jar files to protect, you can add single or multi jar files.
If this option is selected, only the encrypted jar files will be generated and the JRE will not be deployed, this option is usually used in combination with key seed for updating existing applications.
Create the executable file to launch the application.
This option is only valid for Windows, applicable to gui applications.
Set the arguments to be passed to the JVM, such as -Xmx and -Xms, separated by spaces or newlines.
Select the target Java version, support Java 8, Java 11 and Java 17
Selected by default, the task will create a folder like p4j-[task-id]
in the output folder, the final result is in the there.
Check this option if this is a JavaFX Application.
Check this option if this is a SWT application.
Every encryption task will request a random key from the server by default, the jar files generated in different encryption tasks can’t be used together. However, the same key seed will generate the same key, this option can used in combination with “Only Encrypt Jar Files” to update existing applications. This option is only valid for Licensed user.
It will take some time to finish the encryption process. You can check the result in the output folder after it is done.
Run the executable file or the script created by the encryption task.
Use the traditional way to run java application, the encrypted jar files are stored in vlxlib folder by default.
1 | vlxjre/bin/java -jar vlxlib/xxx.jar |
or
1 | vlxjre/bin/java -cp vlxlib/xxx.jar MainClass |
If the application is for macOS or Linux and generated under Windows, please execute add-executable-permission.sh
first to give the program executable permission.
If you need to modify the JVM options, edit the exe-name.json
file, there is an array called JArgs, you can edit and add the JVM options there.
1 | "JArgs" : [ |
It needs to specify a task file as an argument to the command-line tool.
Find java-task.yml
in task-templates
folder, copy and modify a new one.
1 | # Available values: 8,11,17 |
Go to the folder of Protector4J and execute the command below to run the encryption task.
On Linux or macOS
For macOS users, you can find the cli tool in Protector4J.app/Contents/protector4j-mac
1 | ./p4j -t java -f path-of-task-file |
On Windows
1 | p4j -t java -f path-of-task-file |
-t task type
-f task file
You can execute p4j --help
to see the detail arguments.
Run with account information
1 | ./p4j -t java -f path-of-task-file -u email -p password |
After the encryption task is completed, please go to the output folder to check the result.
Run the executable file created by the encryption task
Use the traditional java method, but the encrypted jar files are stored in the vlxlib folder
1 | vlxjre/bin/java -jar vlxlib/xxx.jar |
or
1 | vlxjre/bin/java -cp xxx MainClass |
If the application is for macOS or Linux and generated under Windows, please execute add-executable-permission.sh
first to give the program executable permission.
If you need to modify the JVM options, edit the exe-name.json, there is an array called JArgs, you can edit and add the JVM options there.
1 | "JArgs" : [ |