Descifrado de aplicaciones Java cifradas mediante jhsdb (depurador de puntos de acceso)

Una solución para proteger el código Java es el cifrado de archivos de clase o jar. Este tipo de solución carga el archivo de clase o jar cifrado mediante un cargador autodefinido, lo cual es inútil debido al mecanismo de conexión de la JVM y puede descifrarse fácilmente con las herramientas incluidas en el JDK.

Solicitud de muestra

A continuación se muestra una aplicación de ejemplo con una ventana oscilante simple y un botón. https://github.com/3-keys/prueba-swing-app

img

Aplicación de cifrado

Exporte un archivo jar ejecutable con Eclipse y utilice una herramienta de cifrado para cifrarlo. Tras el cifrado, la estructura del archivo jar es la siguiente:

img

test-swing-app.jar son los datos del archivo jar cifrados, las clases del iniciador son las clases de carga personalizadas de esta herramienta y el paquete jar cifrado aún se ejecuta a través del comando java -jar estándar

Descifrar la aplicación cifrada

Primero, ejecute el archivo jar cifrado, luego busque el directorio bin de JDK y debería poder encontrar un archivo jshdb.

1_nsxbwNJrGJB4mpzsQv55VA

Ejecute jhsdb hsdb, abra HotSpot Debugger, si está en Windows, es posible que deba ejecutarlo como administrador, haga clic en Archivo para seleccionar Adjuntar al proceso HotSpot…,

img

Use el comando ps aux | grep java en Linux y busque el PID del proceso mediante el Administrador de tareas en Windows. Ingrese el PID del proceso en el cuadro de diálogo a continuación.

img

Después de adjuntarlo correctamente, haga clic en Herramientas->Explorador de clases

img

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

img

Haga clic en com.example.TestWindow @0x0000…. y luego haga clic en “Crear archivo .class”.

img

Vaya al directorio donde se ejecutó anteriormente el comando jhsdb y podrá ver el archivo de clase generado.

img

Usar Luyten O jadx Para abrir el archivo de clase y podrás ver el código descompilado

img