Proteggi la libreria Java
Proteggi la libreria Java con lo strumento GUI
Vai alla cartella Protector4J, esegui p4j-ui[.exe], vedrai la seguente interfaccia utente.

Per gli utenti macOS, è sufficiente fare doppio clic su Protector4J.app come una normale applicazione Mac.
Login
Se hai già acquistato la licenza, clicca sul pulsante di accesso in alto a destra e inserisci i tuoi dati utente. Se non hai una licenza, puoi comunque provare questo strumento.
La funzionalità di protezione della libreria Java richiede l'edizione Enterprise.

Tipo di applicazione di selezione
Fare clic sul pulsante "Libreria Java" nella pagina del tipo di applicazione

Seleziona il file jar/war che deve essere crittografato
Seleziona i file jar/war che vuoi crittografare, puoi selezionare uno o più file

Specificare il metodo da crittografare
In questa pagina puoi selezionare il metodo di crittografia

È possibile selezionare le classi e i metodi che necessitano di protezione dalla directory della struttura sulla destra oppure immettere manualmente gli elementi che necessitano di protezione nel formato seguente.
# Protect a method
# Class name.method name&method signature
Hello.hello&()V
# Protect all methods under the class
# Directly input the class name
Hello
È possibile immettere il contenuto da escludere negli Elementi da escludere utilizzando lo stesso formato.
Proteggi la libreria Java con lo strumento CLI
File di configurazione
Lo strumento CLI deve specificare un file di attività come parametro.
Vai al protector4j/task-templates cartella, trova java-lib-task.yml, copiane e modificane uno.
# 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
Esegui l'attività di crittografia
Andare alla cartella Protector4J ed eseguire il seguente comando.
Linux o macOS
Per gli utenti macOS, è possibile trovare lo strumento CLI all'indirizzo /Applictions/Protector4J.app/Contents/protector4j-mac.
./p4j -t java-lib -f path-of-task-file -u email -p password
Finestre
p4j -t java-lib -f path-of-task-file -u email -p password
Puoi eseguire p4j --help per visualizzare i parametri dettagliati.
Il risultato della crittografia
A differenza della crittografia generale delle applicazioni Java, la crittografia delle librerie Java si basa su metodi specifici. Una volta completata la crittografia, il metodo selezionato verrà convertito in codice nativo, che può essere utilizzato insieme a un JRE standard. Se gli utenti hanno bisogno di decifrarlo, devono farlo a livello binario anziché a livello di bytecode, il che aumenta significativamente la difficoltà di decifratura.
Prima della crittografia

Dopo la crittografia

Una volta completata la crittografia, il metodo Main viene convertito in un metodo nativo.
Limitazioni
- Non supporta i blocchi di codice try-catch.
- Spring Boot non esegue i file jar confezionati.
- Non supporta i file di guerra
Applicazione demo
Attualmente la funzione di crittografia della libreria Java non supporta la prova gratuita per gli utenti, puoi scaricare questa applicazione demo per vedere l'effetto della crittografia della libreria Java, questo è un programma swingapp, puoi usare java -jar swingapp.jar per eseguirlo, la sua funzione principale viene convertita in un metodo nativo, puoi usare lo strumento decompilatore per la verifica!
Applicazione non crittografata
Applicazione crittografata