Crackear aplicaciones Java cifradas usando jhsdb (hotspot debugger)
Una solución para la protección de código Java es el cifrado de archivos class o el cifrado de archivos jar. Este tipo de solución carga el archivo class cifrado o el archivo jar cifrado a través de un cargador autodefinido, lo cual es inútil debido a la existencia del mecanismo de Adjunción del JVM y puede crackearse fácilmente con las herramientas que vienen con el JDK.
Aplicación de Ejemplo
A continuación se muestra una aplicación de ejemplo con una ventana swing simple y un botón. https://github.com/3-keys/test-swing-app

Cifrar la Aplicación
Exporte un archivo jar ejecutable con Eclipse y use una herramienta de cifrado para cifrar el archivo jar. Después del cifrado, la estructura del archivo jar es la siguiente:

test-swing-app.jar es el dato del archivo jar cifrado, las clases Launcher son las clases de carga personalizadas de esta herramienta, y el paquete jar cifrado aún se ejecuta a través del comando estándar java -jar
Crackear la aplicación cifrada
Primero, ejecute el archivo jar cifrado, luego encuentre el directorio bin del JDK y debería poder encontrar un archivo jhsdb.

Ejecute jhsdb hsdb, abra HotSpot Debugger, si está en Windows, puede necesitar ejecutar como administrador, haga clic en File para seleccionar Attach to HotSpot process…,

Use el comando ps aux | grep java en el sistema Linux, y encuentre el pid del proceso a través del Administrador de Tareas en el sistema Windows. Ingrese el pid del proceso en el cuadro de diálogo a continuación.

Después de adjuntarlo exitosamente, haga clic en Tools->Class Browser

El Class Browser contiene información sobre todas las clases cargadas, busque com.example y podrá ver todas las clases bajo com.example

Haga clic en com.example.TestWindow @0x0000…. y luego haga clic en "Create .class File"

Vaya al directorio donde se ejecutó el comando jhsdb anteriormente, puede ver el archivo class generado

Use Luyten o jadx para abrir el archivo class y podrá ver el código decompilado
