Proteger la biblioteca Java
Proteger la biblioteca Java con la herramienta GUI
Vaya a la carpeta Protector4J, ejecute p4j-ui[.exe]Verá la siguiente interfaz de usuario.
Para los usuarios de macOS, simplemente haga doble clic en Protector4J.app como si fuera una aplicación normal de Mac.
Acceso
Si ya ha adquirido la licencia, haga clic en el botón de inicio de sesión en la esquina superior derecha e ingrese su información de usuario. Si no tiene una licencia, aún puede probar esta herramienta.
La función de protección de la biblioteca Java requiere la edición Enterprise.
Selección del tipo de aplicación
Haga clic en el botón "Biblioteca Java" en la página de tipo de aplicación
Seleccione el archivo jar/war que necesita ser cifrado
Seleccione los archivos jar/war que desea cifrar, puede seleccionar uno o varios archivos
Especifique el método para cifrar
En esta página puedes seleccionar el método para cifrar
Puede seleccionar las clases y métodos que necesitan protección desde el directorio de estructura a la derecha, o puede ingresar manualmente los elementos que necesitan protección en el siguiente 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
Puede ingresar el contenido que desea excluir en Elementos a excluir utilizando el mismo formato.
Proteger la biblioteca Java con la herramienta CLI
Archivo de configuración
La herramienta CLI necesita especificar un archivo de tarea como parámetro.
Ir a la protector4j/task-templates
carpeta, buscar java-lib-task.yml
, copiar y modificar 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
Ejecutar tarea de cifrado
Vaya a la carpeta Protector4J y ejecute el siguiente comando.
Linux o macOS
Para los usuarios de macOS, puede encontrar la herramienta CLI en /Applictions/Protector4J.app/Contents/protector4j-mac
.
./p4j -t java-lib -f path-of-task-file -u email -p password
Ventanas
p4j -t java-lib -f path-of-task-file -u email -p password
Puedes ejecutar p4j --help
para ver los parámetros detallados.
El resultado del cifrado
A diferencia del cifrado general de las aplicaciones Java, el cifrado de la biblioteca Java se centra en métodos específicos. Una vez completado el cifrado, el método seleccionado se convertirá en código nativo, que se puede utilizar junto con un JRE estándar. Si los usuarios necesitan descifrarlo, deben hacerlo a nivel binario en lugar de a nivel de código de bytes, lo que aumenta significativamente la dificultad de descifrado.
Antes del cifrado
Después del cifrado
Una vez completado el cifrado, el método principal se convierte en un método nativo.
Limitaciones
- No admite bloques de código try-catch.
- ¿Spring Boot no empaqueta archivos jar?
- No se guardan archivos
Aplicación de demostración
Actualmente, la función de cifrado de la biblioteca Java no admite la prueba gratuita para usuarios; puede descargar esta aplicación de demostración para ver el efecto del cifrado de la biblioteca Java; este es un programa swingapp, puede usarlo java -jar swingapp.jar
Para ejecutarlo, su función principal se convierte en un método nativo. ¡Puedes usar la herramienta de descompilación para verificar!
Aplicación sin cifrar
Aplicación encriptada