¿Cómo funciona Protector4J?

Problemas de las soluciones actuales de protección de código Java

Antes de entender cómo funciona Protector4J, primero conozcamos los problemas que existen en otras soluciones de protección de código Java.

Ofuscación de código

Debido a la alta naturaleza semántica del bytecode JVM, es muy fácil de analizar y leer. Con la depuración dinámica, su lógica de ejecución puede ser fácilmente analizada, por lo que la ofuscación no es una solución de protección confiable.

Para más información, consulte el artículo: https://protector4j.com/es/articles/the-issues-of-code-obfuscation/

Cifrado de archivos class

Debido a la existencia del mecanismo de adjunción JVM, todo el código supuestamente cifrado que no se ha separado del JRE normal puede obtenerse fácilmente mediante herramientas de adjunción. Por lo tanto, esta es la solución de protección más ineficaz.

Para más información, consulte el artículo: https://protector4j.com/es/articles/the-issues-of-class-encryption/

Protección VMP

La protección por virtualización es la forma más segura de protección de código, pero debido a su severo impacto en el rendimiento, solo puede aplicarse al código crítico de un programa. El resto del código aún permanece en riesgo de exposición. Al analizar otras partes del código, el atacante aún puede obtener información funcional del código virtualizado.

Consulte el artículo para detalles específicos: https://protector4j.com/es/articles/the-issues-of-vm-protection/

Compilación AOT

La configuración y compilación AOT es muy difícil, y hay una alta probabilidad de fallo en la compilación. Incluso si la compilación es exitosa, la lógica del código solo se transforma de representación en bytecode a representación en código máquina, y su lógica inherente aún existe sin ninguna protección especial. Si alguien puede entender su mecanismo de compilación y ejecución, aún se puede realizar ingeniería inversa para obtener código legible.

Para más información, consulte el artículo: https://protector4j.com/es/articles/the-issues-of-aot-protection/

¿Cómo funciona Protector4J?

Definimos un formato de paquete de compresión privado: JARX

Para proteger el código Java, creamos un formato de documento comprimido privado llamado JARX y lo integramos en el tiempo de ejecución de JVM. Un archivo JAR procesado por Protector4J se transforma al formato JARX.

Realizamos una personalización y modificación profunda del JVM

A través del estudio profundo del JVM, hemos realizado personalizaciones y modificaciones profundas. Hemos eliminado todos los mecanismos adicionales y aplicado una gran cantidad de endurecimiento y optimización a nivel de seguridad binaria. Esto evita que los atacantes utilicen métodos existentes para exportar la información de sus clases. Creemos que con la fortaleza actual, la aplicación cifrada protegida por Protector4J tiene un alto nivel de seguridad. Sin embargo, la batalla entre el crackeo y el anti-crackeo siempre es una mejora constante. Continuaremos mejorando nuestras soluciones de cifrado y protección para mejorar constantemente la seguridad de la aplicación.