Защита веб-приложений Tomcat
Видео для начала работы
Скачать
Посетите https://protector4j.com/download, чтобы скачать последнюю версию
Установка
Windows и Linux
Специальных шагов установки нет, просто скачайте архив и распакуйте его.
macOS
Скачайте dmg-файл и перетащите Protector4J в Applications. Фактическое содержимое этого инструмента находится в /Applications/Protector4J.app/Contents/protector4j-mac

Шифрование веб-приложений Tomcat с помощью графического инструмента
Перейдите в папку Protector4J, запустите p4j-ui[.exe], и вы увидите следующий пользовательский интерфейс.
Для пользователей macOS просто дважды щёлкните на Protector4J.app, как на обычное Mac-приложение.

Вход в систему
Если вы уже приобрели лицензию, нажмите на кнопку входа в правом верхнем углу и введите данные пользователя. Если у вас нет лицензии, вы всё равно можете попробовать этот инструмент.

Выбор типа приложения
Нажмите на кнопку «Tomcat Web Application» на странице выбора типа приложения.

Выберите jar/war-файлы для шифрования
Выберите jar/war-файлы, которые необходимо зашифровать — можно выбрать один или несколько файлов.

Опции
Только шифрование jar-файлов
Шифровать только jar-файлы без развёртывания полного JRE. Эта опция обычно используется в сочетании с функцией KeySeed для обновления существующих программ.
Вывод

Выбор версии Java
Выберите версию Java: поддерживаются Java 8, Java 11, Java 17 и Java 21.
Создать новую папку
Выбрано по умолчанию. Задача шифрования создаст файл с именем p4j-[task-id] в папке вывода. Результат сохраняется в этой папке.
KeySeed
По умолчанию задача шифрования запрашивает случайный ключ с сервера. Файлы, сгенерированные в разных задачах шифрования, не могут использоваться вместе. Если указан KeySeed, одинаковый KeySeed генерирует одинаковый ключ шифрования. Эту опцию можно использовать с предыдущей опцией «Только шифрование jar-файлов» для обновления существующих приложений. Эта опция доступна только для лицензированных пользователей.
Выполнение задачи шифрования
Подождите некоторое время. После завершения задачи шифрования вы сможете увидеть результат зашифрованного приложения в папке вывода.

Запуск зашифрованного приложения
Перейдите в папку вывода, затем в tomcat/bin, и выполните startup.sh или startup.bat для запуска приложения.
Где находится META-INF/classes
Вы можете найти своё приложение в папке webapps, но оригинальная папка WEB-INF/classes больше не существует. Для защиты структуры приложения и предотвращения доступа внешних пользователей к именам классов и другой информации, мы упаковали WEB-INF/classes в WEB-INF/vlxapp.jar. Это наш закрытый зашифрованный формат jarx.
Замечания
Если целевая платформа программы — macOS или Linux, но сборка выполнялась на Windows, перед первым запуском выполните add-executable-permission.sh на целевой платформе для предоставления прав на выполнение.
Шифрование веб-приложений Tomcat с помощью инструмента командной строки
Конфигурационный файл
Инструменту командной строки необходимо указать файл задачи в качестве параметра.
Найдите tomcat-task.yml в папке protector4j/task-templates, скопируйте и отредактируйте его.
# 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: []
Выполнение задачи шифрования
Перейдите в папку Protector4J и выполните следующую команду.
Linux или macOS
Для пользователей macOS инструмент командной строки находится в Protector4J.app/Contents/protector4j-mac.
./p4j -t tomcat -f path-of-task-file
Windows
p4j -t tomcat -f path-of-task-file
Выполните p4j --help для просмотра подробных параметров.
Запуск с данными учётной записи
./p4j -t tomcat -f path-of-task-file -u email -p password
Просмотр результатов
После завершения задачи шифрования перейдите в папку вывода, чтобы проверить результаты.
Запуск зашифрованного приложения
Перейдите в папку вывода, затем в tomcat/bin, и выполните startup.sh или startup.bat для запуска приложения.
Где находится META-INF/classes
Вы можете найти своё приложение в папке webapps, но оригинальная папка WEB-INF/classes больше не существует. Для защиты структуры приложения и предотвращения доступа внешних пользователей к именам классов и другой информации, мы упаковали WEB-INF/classes в WEB-INF/vlxapp.jar. Это наш закрытый зашифрованный формат jarx.
Замечания
Если целевая платформа программы — macOS или Linux, но сборка выполнялась на Windows, перед первым запуском выполните add-executable-permission.sh на целевой платформе для предоставления прав на выполнение.