Proteger aplicações JavaSE
Vídeos de Introdução
Download
Visite https://protector4j.com/download para baixar a versão mais recente
Instalação
Windows e Linux
Não há etapas especiais de instalação, basta baixar o arquivo compactado e extraí-lo.
macOS
Baixe o arquivo dmg e arraste o Protector4J para Applications. O conteúdo real desta ferramenta está em /Applications/Protector4J.app/Contents/protector4j-mac

Criptografar aplicações JavaSE com ferramentas 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.

Selecionar Tipo de Aplicação
Clique no botão "JavaSE Application" 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

Opções
Apenas criptografar arquivos jar
Apenas criptografa os arquivos jar, sem implantar todo o jre. Esta opção é geralmente usada em combinação com o recurso KeySeed para atualizar programas existentes.
Criar arquivo executável
Cria um arquivo executável para iniciar a aplicação, por favor não adicione a extensão .exe.

Console Oculto
Esta opção é efetiva apenas para programas GUI no Windows e é usada para ocultar a janela de linha de comando durante a execução do programa.
Opções JVM
Defina as opções da JVM, como -Xmx e -Xms, separadas por espaços ou quebras de linha.
Saída

Seleção da versão Java
Escolha a versão do Java, suportando Java 8, Java 11, Java 17 e Java 21
Criar nova pasta
Selecionado por padrão, a tarefa de criptografia criará um arquivo chamado p4j-[task-id] na pasta de saída. O resultado da saída é armazenado nesta pasta.
Incluindo JavaFX
Se for uma aplicação JavaFX, selecione esta opção
Aplicação SWT
Se for uma aplicação SWT, selecione esta opção.
KeySeed
A tarefa de criptografia solicitará uma chave aleatória do servidor para criptografia por padrão. Arquivos gerados em diferentes tarefas de criptografia não podem ser usados juntos. Se o KeySeed for especificado, o mesmo KeySeed gerará a mesma chave de criptografia. Esta opção pode ser usada com a opção anterior "Apenas Criptografar Arquivos Jar" para atualizar aplicações existentes. Esta opção é válida apenas para usuários licenciados.
Executar Tarefa de Criptografia
Aguarde um momento, após a conclusão da tarefa de criptografia, você pode ver o resultado da saída da aplicação criptografada na pasta de saída.

Executar aplicações criptografadas
Existem três maneiras de executar a aplicação criptografada
- Executar com arquivo exe
Se a plataforma alvo for Windows, você pode executar a aplicação criptografada com o arquivo executável gerado durante a tarefa de criptografia.
- Executar com script
Se a plataforma alvo for Linux ou macOS, você pode encontrar um arquivo de script com o nome exe-name.sh, pode executar a aplicação com este arquivo de script.
- Executar o programa com o comando Java tradicional
Você também pode executar manualmente o programa com vlxjre/bin/java, o formato deste comando é o mesmo que o comando java normal.
Podemos ver uma pasta chamada vlxjre no diretório de saída, que é o nosso JRE personalizado, e os arquivos jar criptografados estão armazenados na pasta vlxlib.
vlxjre/bin/java -jar vlxlib/xxx.jar
vlxjre/bin/java -cp vlxlib/xxx.jar MainClass
vlxjre/bin/java -cp "vlxlib/*" MainClass
vlxjre/bin/java -Xms512M -Xmx1024m -cp "vlxlib/*" MainClass
Java 8 atualmente não suporta a execução via vlxjre/bin/java -jar. Por favor, use vlxjre/bin/java -cp xx MainClass
Observações
Se a plataforma alvo deste programa for macOS ou Linux, mas foi compilado no Windows, execute add-executable-permission.sh na plataforma alvo para conceder permissão de execução ao programa antes da primeira inicialização.
Modificar os parâmetros JVM do arquivo exe
Windows
Se você precisar modificar os parâmetros JVM do arquivo exe, edite exe-name.json e modifique os valores no array JArgs.
"JArgs": [
"-DParam1=value1",
"-DParam2=value2"
]
Linux e macOS
Basta abrir o arquivo de script e adicionar ou modificar os parâmetros JVM.
Criptografar aplicações JavaSE 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-task.yml, copie e modifique um.
# Available values: 8,11,17,21
javaVersion: 17
# The jar files that need to be encrypted
jarFiles: []
# Only encrypt the jar files, do not deploy the runtime
# This option is used while upgrading an existing application
onlyEncryptJarFiles: false
## [ Executable file information ]
# The executable file name
exeFileName: ''
# Hide command line window, only valid for Windows
hideConsole: false
# The main class of this Java Application
mainClass: ''
# The splash image
splash: ''
# JVM Options
jvmOptions: []
## [ Output Options ]
# The output folder
outputFolder: ''
# Create a new and unique folder for the application, the folder name is like p4j-<taskId>
createNewFolder: true
# Whether this is a JavaFX application
includeJavaFX: false
# Whether this a swt gui application
swtApplication: false
# 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 empty for current platform
platforms: []
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 -f path-of-task-file
Windows
p4j -t java -f path-of-task-file
Você pode executar p4j --help para ver os parâmetros detalhados.
Executar com informações da conta
./p4j -t java -f path-of-task-file -u email -p password
Ver resultados
Após a conclusão da tarefa de criptografia, vá para a pasta de saída para verificar os resultados.
Executar aplicações criptografadas
Existem três maneiras de executar a aplicação criptografada
- Executar com arquivo exe
Se a plataforma alvo for Windows, você pode executar a aplicação criptografada com o arquivo executável gerado pela tarefa de criptografia.
- Executar com script
Se a plataforma alvo for Linux ou macOS, você pode encontrar um arquivo de script com o nome exe-name.sh, pode executar a aplicação com este arquivo de script.
- Executar o programa com o comando Java tradicional
Você também pode executar manualmente o programa com vlxjre/bin/java, o formato deste comando é o mesmo que o comando java normal.
Podemos ver uma pasta chamada vlxjre no diretório de saída, que é o nosso JRE personalizado, e os arquivos jar criptografados estão armazenados na pasta vlxlib.
vlxjre/bin/java -jar vlxlib/xxx.jar
vlxjre/bin/java -cp vlxlib/xxx.jar MainClass
vlxjre/bin/java -cp "vlxlib/*" MainClass
vlxjre/bin/java -Xms512M -Xmx1024m -cp "vlxlib/*" MainClass
Java 8 atualmente não suporta a execução via vlxjre/bin/java -jar. Por favor, use vlxjre/bin/java -cp xx MainClass
Observações
Se a plataforma alvo deste programa for macOS ou Linux, mas foi compilado no Windows, execute add-executable-permission.sh na plataforma alvo para conceder permissão de execução ao programa antes da primeira inicialização.