rymga ← Volver a Lock Master

rymga Lock Master

Protección en la nube para bytecode Java. Envía un JAR y recibe otro realmente difícil de someter a ingeniería inversa, pero que sigue funcionando exactamente igual.

Qué es

Lock Master recibe tu .jarya compilado, aplica varias capas de protección en la nube y devuelve un JAR nuevo. El código se comporta igual; lo que cambia es el esfuerzo necesario para leerlo.

Hace varias cosas a la vez: cifra las cadenas para que no quede nada legible en los archivos de clase, renombra clases y miembros, reescribe el flujo de control para que no pueda reproducirse como Java limpio, puede cifrar clases completas para que lo distribuido en disco ni siquiera sea bytecode cargable y, con el desacoplamiento de tipos, extiende ese cifrado a la mayor parte del código, no solo a las clases que ya están detrás de una interfaz. Además, marca la compilación para vincular cualquier filtración con una licencia.

Para quién es

Esta documentación está escrita para dos perfiles y ambos deberían poder seguirla:

  • Estás publicando tu primer plugin. Has creado un plugin de Minecraft —o cualquier aplicación Java—, funciona y no quieres que alguien lo abra en un descompilador y lo copie en cinco minutos. Usarás sobre todo un ajuste predefinido y un par de reglas keep básicas; no necesitas conocimientos profundos.
  • Tienes experiencia técnica y quieres control. Conoces el bytecode y quieres ajustar cada transformación, integrarla en CI, mantener estable la asignación de nombres entre versiones o activar el cifrado de clases. Todas las opciones están documentadas en Configuración.

Cómo funciona

  1. Instala la CLI y obtén una clave de plaza desde tu cuenta.
  2. Crea una pequeña configuración JSON que describa qué quieres proteger.
  3. Ejecuta java -jar rymga-cli.jar. La CLI sube el JAR, la nube lo protege y tú descargas el resultado. Cada trabajo completado cuesta un token, sea cual sea el tamaño de la compilación.
  4. Antes de entregarte cada compilación, volvemos a comprobarla con las reglas de verificación de la propia JVM, para que la protección nunca se convierta en un fallo en tu entorno.
No almacenamos tu bytecode. Lo procesamos y te devolvemos el resultado. La transformación se realiza mediante análisis estático: nunca ejecutamos tus clases en nuestros servidores.

Qué protege, con honestidad

No existe una forma honesta de hacer imposible la ingeniería inversa de software compilado. Quien afirme que su ofuscador de Java es «inquebrantable» miente. Lo que hace Lock Master es elevar el coste de revertir el código hasta que deje de compensar:

  • El análisis estático se atasca. Con las cadenas cifradas y, opcionalmente, las clases selladas, los descompiladores producen basura o se rinden.
  • También se bloquea la ejecución bajo observación. Con anti-dump activado, la presencia de un depurador o agente en el entorno de ejecución hace que las clases cifradas no puedan descifrarse. La detección forma parte de la clave, así que no hay una comprobación que pueda eliminarse con un parche.
  • Las filtraciones son atribuibles. Una marca de agua invisible vincula cada compilación con la licencia para la que se emitió.

Qué es lo que no es: una garantía. Un atacante decidido, con recursos y tiempo suficientes, todavía puede avanzar. El objetivo es que no le merezca la pena.

Por dónde empezar