Bảo vệ ứng dụng Spring Boot
Video hướng dẫn bắt đầu
Tải xuống
Truy cập https://protector4j.com/download để tải phiên bản mới nhất
Cài đặt
Windows và Linux
Không có bước cài đặt đặc biệt nào, chỉ cần tải gói nén về và giải nén.
macOS
Tải tệp dmg và kéo Protector4J vào Applications. Nội dung thực tế của công cụ này nằm trong /Applications/Protector4J.app/Contents/protector4j-mac

Mã hóa ứng dụng Spring Boot bằng công cụ GUI
Đi đến thư mục Protector4J, chạy p4j-ui[.exe], bạn sẽ thấy giao diện người dùng sau.
Đối với người dùng macOS, chỉ cần nhấp đúp vào Protector4J.app như một ứng dụng Mac thông thường.

Đăng nhập
Nếu bạn đã mua giấy phép, vui lòng nhấp vào nút đăng nhập ở góc trên bên phải và nhập thông tin người dùng. Nếu bạn chưa có giấy phép, bạn vẫn có thể dùng thử công cụ này.

Chọn loại ứng dụng
Nhấp vào nút "Spring Boot Application" trên trang loại ứng dụng.

Chọn tệp jar/war cần mã hóa
Chọn các tệp jar/war bạn muốn mã hóa, bạn có thể chọn một hoặc nhiều tệp

Tùy chọn
Chỉ mã hóa các tệp jar
Chỉ mã hóa các tệp jar, không triển khai toàn bộ JRE. Tùy chọn này thường được sử dụng kết hợp với tính năng KeySeed để cập nhật chương trình hiện có.
Tạo tệp thực thi
Tạo tệp thực thi để khởi chạy ứng dụng, vui lòng không thêm phần mở rộng .exe.

Ẩn Console
Tùy chọn này chỉ có hiệu lực cho các chương trình GUI trên Windows và được sử dụng để ẩn cửa sổ dòng lệnh trong quá trình chạy chương trình.
Tùy chọn JVM
Đặt tùy chọn JVM, như -Xmx và -Xms, phân tách bằng dấu cách hoặc xuống dòng.
Đầu ra

Chọn phiên bản Java
Chọn phiên bản Java, hỗ trợ Java 8, Java 11, Java 17 và Java 21
Tạo thư mục mới
Được chọn mặc định, tác vụ mã hóa sẽ tạo một thư mục có tên p4j-[task-id] trong thư mục đầu ra. Kết quả đầu ra được lưu trong thư mục này.
Bao gồm JavaFX
Nếu đây là ứng dụng JavaFX, vui lòng chọn tùy chọn này
Ứng dụng SWT
Nếu đây là ứng dụng SWT, vui lòng chọn tùy chọn này.
KeySeed
Tác vụ mã hóa sẽ yêu cầu một khóa ngẫu nhiên từ máy chủ để mã hóa theo mặc định. Các tệp được tạo trong các tác vụ mã hóa khác nhau không thể sử dụng cùng nhau. Nếu KeySeed được chỉ định, cùng một KeySeed sẽ tạo cùng một khóa mã hóa. Tùy chọn này có thể được sử dụng kết hợp với tùy chọn "Chỉ mã hóa tệp Jar" trước đó để cập nhật ứng dụng hiện có. Tùy chọn này chỉ có hiệu lực cho người dùng có giấy phép.
Thực thi tác vụ mã hóa
Vui lòng đợi một lát, sau khi tác vụ mã hóa hoàn tất, bạn có thể thấy kết quả đầu ra của ứng dụng đã mã hóa trong thư mục đầu ra.

Chạy ứng dụng đã mã hóa
Có ba cách để chạy ứng dụng đã mã hóa
- Chạy bằng tệp exe
Nếu nền tảng đích là Windows, bạn có thể chạy ứng dụng đã mã hóa bằng tệp thực thi được tạo trong quá trình mã hóa.
- Chạy bằng script
Nếu nền tảng đích là Linux hoặc macOS, bạn có thể tìm tệp script có tên exe-name.sh, bạn có thể chạy ứng dụng bằng tệp script này.
- Chạy chương trình bằng lệnh Java truyền thống
Bạn cũng có thể chạy thủ công chương trình bằng vlxjre/bin/java, định dạng lệnh này giống như lệnh java thông thường.
Chúng ta có thể thấy một thư mục có tên vlxjre trong thư mục đầu ra, đây là JRE tùy chỉnh của chúng tôi, và các tệp jar đã mã hóa được lưu trong thư mục 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 hiện tại không hỗ trợ chạy qua vlxjre/bin/java -jar. Vui lòng sử dụng vlxjre/bin/java -cp xx MainClass
Lưu ý
Nếu nền tảng đích của chương trình này là macOS hoặc Linux, nhưng được xây dựng trên Windows, vui lòng chạy add-executable-permission.sh trên nền tảng đích để cấp quyền thực thi cho chương trình trước khi khởi chạy lần đầu.
Sửa đổi tham số JVM của tệp exe
Windows
Nếu bạn cần sửa đổi tham số JVM của tệp exe, hãy chỉnh sửa exe-name.json và sửa đổi các giá trị trong mảng JArgs.
"JArgs": [
"-DParam1=value1",
"-DParam2=value2"
]
Linux và macOS
Chỉ cần mở tệp script và thêm hoặc sửa đổi các tham số JVM.
Mã hóa ứng dụng Spring Boot bằng công cụ CLI
Tệp cấu hình
Công cụ CLI cần chỉ định tệp tác vụ làm tham số.
Đi đến thư mục protector4j/task-templates, tìm spring-boot-task.yml, sao chép và chỉnh sửa.
# 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: ''
Thực thi tác vụ mã hóa
Đi đến thư mục Protector4J và chạy lệnh sau.
Linux hoặc macOS
Đối với người dùng macOS, bạn có thể tìm công cụ CLI tại /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
Bạn có thể chạy p4j --help để xem các tham số chi tiết.
Chạy với thông tin tài khoản
./p4j -t spring-boot -f path-of-task-file -u email -p password
Xem kết quả
Sau khi tác vụ mã hóa hoàn tất, vui lòng đi đến thư mục đầu ra để kiểm tra kết quả.
Chạy ứng dụng đã mã hóa
Có ba cách để chạy ứng dụng đã mã hóa
- Chạy bằng tệp exe
Nếu nền tảng đích là Windows, bạn có thể chạy ứng dụng đã mã hóa bằng tệp thực thi được tạo bởi tác vụ mã hóa.
- Chạy bằng script
Nếu nền tảng đích là Linux hoặc macOS, bạn có thể tìm tệp script có tên exe-name.sh, bạn có thể chạy ứng dụng bằng tệp script này.
- Chạy chương trình bằng lệnh Java truyền thống
Bạn cũng có thể chạy thủ công chương trình bằng vlxjre/bin/java, định dạng lệnh này giống như lệnh java thông thường.
Chúng ta có thể thấy một thư mục có tên vlxjre trong thư mục đầu ra, đây là JRE tùy chỉnh của chúng tôi, và các tệp jar đã mã hóa được lưu trong thư mục 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 hiện tại không hỗ trợ chạy qua vlxjre/bin/java -jar. Vui lòng sử dụng vlxjre/bin/java -cp xx MainClass
Lưu ý
Nếu nền tảng đích của chương trình này là macOS hoặc Linux, nhưng được xây dựng trên Windows, vui lòng chạy add-executable-permission.sh trên nền tảng đích để cấp quyền thực thi cho chương trình trước khi khởi chạy lần đầu.