Bảo vệ ứng dụng Web Tomcat

Video hướng dẫn bắt đầu

▶️ YouTube

▶️ Bilibili

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 Web Tomcat 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 "Tomcat Web 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 cầ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ó.

Đầ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.

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

Đi đến thư mục đầu ra, sau đó đi đến tomcat/bin, chạy startup.sh hoặc startup.bat để khởi động ứng dụng.

META-INF/classes ở đâu

Bạn có thể tìm thấy ứng dụng của mình trong thư mục webapps, nhưng thư mục WEB-INF/classes gốc không còn tồn tại. Để bảo vệ cấu trúc ứng dụng và ngăn người dùng bên ngoài truy cập tên lớp và các thông tin khác, chúng tôi đã đóng gói WEB-INF/classes thành WEB-INF/vlxapp.jar. Đây là định dạng jarx được mã hóa riêng của chúng tôi.

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.

Mã hóa ứng dụng Web Tomcat 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ố.

Tìm tomcat-task.yml trong thư mục protector4j/task-templates, sao chép và chỉnh sửa.

# Available values: 8,11,17,21
javaVersion: 8

# Available values: 9,10
tomcatVersion: 9

# The war files that need to be encrypted
warFiles: []
# Only encrypt the jar files, do not deploy the runtime
# This option is used while upgrading an existing application
onlyEncryptJarFiles: false

## [ Output Options ]
# The output folder
outputFolder: ''
# Create a new and unique folder for the application, the folder name is like p4j-<taskId>
createNewFolder: true
# 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 emtpy for current platforms
# if you need the support for win32, linux32 and linux-aarch64, the addon need to be purchased, please visit https://protector4j.com/addons
platforms: []

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 Protector4J.app/Contents/protector4j-mac.

./p4j -t tomcat -f path-of-task-file

Windows

p4j -t tomcat -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 tomcat -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

Đi đến thư mục đầu ra, sau đó đi đến tomcat/bin, chạy startup.sh hoặc startup.bat để khởi động ứng dụng.

META-INF/classes ở đâu

Bạn có thể tìm thấy ứng dụng của mình trong thư mục webapps, nhưng thư mục WEB-INF/classes gốc không còn tồn tại. Để bảo vệ cấu trúc ứng dụng và ngăn người dùng bên ngoài truy cập tên lớp và các thông tin khác, chúng tôi đã đóng gói WEB-INF/classes thành WEB-INF/vlxapp.jar. Đây là định dạng jarx được mã hóa riêng của chúng tôi.

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.