Proteger Biblioteca Java
Proteger Biblioteca Java com Ferramenta GUI
Vá para a pasta do Protector4J, execute p4j-ui[.exe], você verá a seguinte interface de usuário.

Para usuários macOS, basta clicar duas vezes em Protector4J.app como um aplicativo Mac comum.
Login
Se você já adquiriu a licença, clique no botão de login no canto superior direito e insira suas informações de usuário. Se você não tem uma licença, ainda pode experimentar esta ferramenta.
O recurso de proteção de biblioteca Java requer a edição Enterprise.

Selecionar Tipo de Aplicação
Clique no botão "Java Library" na página de tipo de aplicação

Selecione o arquivo jar/war que precisa ser criptografado
Selecione os arquivos jar/war que deseja criptografar, você pode selecionar um ou vários arquivos

Especificar o método de criptografia
Nesta página você pode selecionar o método de criptografia

Você pode selecionar as classes e métodos que precisam de proteção no diretório de estrutura à direita, ou pode inserir manualmente os itens que precisam de proteção no seguinte formato.
# Protect a method
# Class name.method name&method signature
Hello.hello&()V
# Protect all methods under the class
# Directly input the class name
Hello
Você pode inserir o conteúdo a ser excluído em Itens para excluir usando o mesmo formato.
Proteger Biblioteca Java com Ferramenta CLI
Arquivo de configuração
A ferramenta CLI precisa especificar um arquivo de tarefa como parâmetro.
Vá para a pasta protector4j/task-templates, encontre java-lib-task.yml, copie e modifique um.
# 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
Executar tarefa de criptografia
Vá para a pasta do Protector4J e execute o seguinte comando.
Linux ou macOS
Para usuários macOS, você pode encontrar a ferramenta CLI em /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
Você pode executar p4j --help para ver os parâmetros detalhados.
O resultado da Criptografia
Diferente da criptografia geral de aplicações Java, a criptografia de bibliotecas Java tem como alvo métodos específicos. Após a conclusão da criptografia, o método que você selecionou será convertido em código nativo, que pode ser usado em conjunto com um JRE padrão. Se os usuários precisarem quebrá-lo, devem fazê-lo no nível binário em vez do nível de bytecode, aumentando significativamente a dificuldade de quebra.
Antes da criptografia

Após a criptografia

Após a conclusão da criptografia, o método Main é convertido em um método nativo.
Limitações
- Não suporta blocos de código try-catch.
- Não suporta arquivos jar empacotados pelo Spring Boot.
- Não suporta arquivos war
Aplicação Demo
Atualmente, a função de criptografia de biblioteca Java não suporta teste gratuito para usuários, você pode baixar esta aplicação demo para ver o efeito da criptografia de biblioteca Java. Esta é um programa swingapp, você pode usar java -jar swingapp.jar para executá-lo. Sua função principal é convertida em um método nativo, você pode usar uma ferramenta de descompilador para verificação!
Aplicação não criptografada
Aplicação criptografada