Защита веб-приложений Tomcat

Видео для начала работы

▶️ YouTube

▶️ Bilibili

Скачать

Посетите 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 на целевой платформе для предоставления прав на выполнение.