Hướng dẫn sử dụng GUI

GUI thực hiện các nhiệm vụ bảo vệ theo hình thức hướng dẫn, với quy trình như sau:

Loại ứng dụng → Thời điểm nhập/danh sách chạy/nền tảng → Tham số đơn giản hoặc nâng cao → Xác nhận kết quả → Thực thi

1. Loại ứng dụng

Tùy chọn GUIĐầu vàoĐầu raCLI tương ứng
Java ApplicationJAR có thể chạy thông thườngThư mục ứng dụng đầy đủjavaapp
Spring BootỨng dụng Spring BootThư mục ứng dụng đầy đủspringboot
Tomcat WARWARThư mục Tomcat được nhúngtomcat
Library EncryptionBất kỳ tập tin JAR nàoTập tin nén P4JX đơn lẻencode

Việc chọn loại sai có thể khiến lớp chính, các phụ thuộc, tài nguyên Web hoặc công cụ khởi động không thể được xử lý đúng cách.

Trang loại ứng dụng

2. Đầu vào, thời gian chạy và nền tảng đích

Một nhiệm vụ hướng dẫn sẽ yêu cầu chọn một tập tin JAR hoặc WAR để nhập. Sau đó, hãy chọn:

  • Bundled Java version:8, 11, 17, 21 hoặc 25, mặc định là 21.
  • Target platforms:Có thể chọn nhiều nền tảng cùng lúc.
  • Mode:Chế độ đơn giản hoặc chế độ nâng cao.

Khi chọn nhiều nền tảng, công cụ sẽ tạo ra một thư mục riêng biệt cho mỗi nền tảng.

Trang về đầu vào, phiên bản Java và nền tảng đích

3. Chế độ đơn giản

Chế độ đơn giản phù hợp với hầu hết các nhiệm vụ đóng gói lần đầu. Khi rời khỏi trang nhập liệu, công cụ sẽ tự động thực hiện việc quét khả năng tương thích, sau đó chọn phương án phù hợp dựa trên kết quả:

  • Các lớp được khuyến nghị nên loại bỏ;
  • Có kích hoạt JavaFX và WebView hay không;
  • Có kích hoạt tính năng ZIP overlay của máy quét hay không;
  • Có chuyển sang sử dụng phần mở rộng .jar hay không;
  • Bố cục được khuyến nghị cho Spring Boot;
  • Tomcat 9 hoặc 10.1.

Kết quả quét là những gợi ý từ phân tích tĩnh, chứ không phải bài kiểm thử chạy đầy đủ. Sau khi đóng gói, vẫn cần tiến hành kiểm thử ứng dụng trên nền tảng mục tiêu.

4. Chế độ nâng cao

Chế độ nâng cao cho phép cấu hình thủ công phần mở rộng tệp định dạng, thiết lập việc vô hiệu hóa JIT, thêm lớp scanner overlay, thiết lập các tham số JVM, đặt quy tắc loại trừ cũng như các tùy chọn dành riêng cho từng loại ứng dụng.

Hướng dẫn sử dụng chi tiết, ý nghĩa của các tham số, giá trị mặc định và sự khác biệt giữa các loại ứng dụng đều được trình bày thống nhất tại Cài đặt chế độ nâng cao của Protector4J.

Các tham số nâng cao cho ứng dụng Java thông thường

5. Quy tắc loại trừ

GUI và CLI đều tuân theo cùng một quy tắc:

com.example.SecretService   Tên lớp chính xác
com.example.service.*       Chỉ gói hiện tại
com.example.service.**      Gói hiện tại và tất cả các gói con

Nên loại trừ các lớp DTO, entity, Controller, lớp cấu hình, lớp kết nối JNI cũng như các lớp cần được tăng cường bằng bytecode tại thời gian chạy, chỉ giữ lại phần triển khai nghiệp vụ cốt lõi để bảo vệ.

6. Xác nhận kết quả đầu ra

Trang cuối sẽ hiển thị:

  • Thông tin về đầu vào và loại ứng dụng;
  • Phiên bản Java và nền tảng đích;
  • Trạng thái JavaFX;
  • Định dạng lưu trữ, JIT, overlay và bố cục Spring;
  • phạm vi bảo vệ, quy tắc loại trừ và Tomcat context.

Có thể chọn Create new folder để tạo thư mục con duy nhất p4jx-xxxx trong thư mục đầu ra. Tùy chọn này không thể được kích hoạt khi thêm ứng dụng vào Tomcat, vì cần phải chỉ định trực tiếp thư mục gói Tomcat hiện có.

Xác nhận xuất ra và tóm tắt các tham số

7. Xuất và tải các tệp nhiệm vụ

Trang tham số nâng cao và trang xác nhận cuối cùng có thể được xuất:

  • p4j-encrypt-run.sh
  • p4j-encrypt-run.bat

Script gọi lệnh p4j đã cài đặt và lưu các tùy chọn đã được phân tích hiện tại. Email và mật khẩu tài khoản sẽ không được ghi vào tệp.

Sử dụng Load Task File ở phía trên cửa sổ để tải lại script và khôi phục nhiệm vụ, sau đó chuyển thẳng đến trang xác nhận cuối cùng. Khi script phiên bản cũ không chứa siêu dữ liệu nhiệm vụ, giao diện người dùng sẽ cố gắng phân tích lệnh p4j bên trong.