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 login nell'angolo in alto a destra e inserisci le tue informazioni utente. Se non hai una licenza, puoi comunque provare questo strumento.
La funzionalità di protezione della libreria Java richiede l'edizione Enterprise.
Selezione Tipo di Applicazione
Fare clic sul pulsante "Libreria Java" nella pagina del tipo di applicazione
Selezionare 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
, copiarne e modificarne 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
Eseguire 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 della libreria Java ha come target metodi specifici. Dopo il completamento della crittografia, il metodo selezionato verrà convertito in codice nativo, che può essere utilizzato insieme a un JRE standard. Se gli utenti devono decifrarlo, devono farlo a livello binario anziché a livello di bytecode, aumentando significativamente la difficoltà di decifrarlo.
Prima della crittografia
Dopo la crittografia
Una volta completata la crittografia, il metodo Main viene convertito in un metodo nativo.
Limitazioni
- Non supporta blocchi di codice try-catch.
- Spring Boot non esegue il pacchetto dei file jar.
- Non 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 utilizzare 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