Bảo vệ thư viện Java
Bảo vệ thư viện Java 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.
Tính năng bảo vệ thư viện Java yêu cầu phiên bản Enterprise.

Chọn loại ứng dụng
Nhấp vào nút "Java Library" 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

Chỉ định phương thức mã hóa
Trên trang này bạn có thể chọn phương thức mã hóa

Bạn có thể chọn các lớp và phương thức cần bảo vệ từ cấu trúc thư mục bên phải, hoặc bạn có thể nhập thủ công các mục cần bảo vệ theo định dạng sau.
# Protect a method
# Class name.method name&method signature
Hello.hello&()V
# Protect all methods under the class
# Directly input the class name
Hello
Bạn có thể nhập nội dung cần loại trừ trong Items to exclude sử dụng cùng định dạng.
Bảo vệ thư viện Java 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 java-lib-task.yml, sao chép và chỉnh sửa.
# The jar files that need to be encrypted
jarFiles: []
# Protect a method: MethodName&MethodSignature, like io.test.Hello.hello&()V
# Protect all methods in a Class: ClassName, like io.test.Hello
itemsToProtect: []
# Exclude items that are not encrypted in the same format as itemsToProtect.
itemsToExclude: []
# The output folder
outputFolder: ''
# Create a new and unique folder for the application, the folder name is like p4j-<taskId>
createNewFolder: true
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 java-lib -f path-of-task-file -u email -p password
Windows
p4j -t java-lib -f path-of-task-file -u email -p password
Bạn có thể chạy p4j --help để xem các tham số chi tiết.
Kết quả mã hóa
Khác với mã hóa tổng thể ứng dụng Java, mã hóa thư viện Java nhắm vào các phương thức cụ thể. Sau khi mã hóa hoàn tất, phương thức bạn đã chọn sẽ được chuyển đổi thành mã native, có thể sử dụng kết hợp với JRE tiêu chuẩn. Nếu người dùng cần bẻ khóa, họ phải thực hiện ở cấp độ nhị phân thay vì cấp độ bytecode, tăng đáng kể độ khó của việc bẻ khóa.
Trước khi mã hóa

Sau khi mã hóa

Sau khi mã hóa hoàn tất, phương thức Main được chuyển đổi thành phương thức native.
Hạn chế
- Không hỗ trợ các khối mã try-catch.
- Không hỗ trợ các tệp jar đóng gói bởi Spring Boot.
- Không hỗ trợ các tệp war
Ứng dụng demo
Hiện tại tính năng mã hóa thư viện Java không hỗ trợ dùng thử miễn phí, bạn có thể tải ứng dụng demo này để xem hiệu quả của mã hóa thư viện Java, đây là chương trình swingapp, bạn có thể sử dụng java -jar swingapp.jar để chạy, phương thức main của nó được chuyển đổi thành phương thức native, bạn có thể sử dụng công cụ dịch ngược để xác minh!
Ứng dụng chưa mã hóa
Ứng dụng đã mã hóa