¿Cómo funciona Protector4J?
Problemas de la solución actual de protección de código Java
Antes de comprender 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 semántica del bytecode de la JVM, es muy fácil de analizar y leer. Con la depuración dinámica, su lógica de ejecución se puede analizar fácilmente, por lo que la ofuscación no es una solución de protección fiable.
Para obtener más información, consulte el artículo: https://protector4j.com/articles/los-problemas-de-la-ofuscacion-del-codigo/
Cifrado de archivos de clase
Debido a la existencia del mecanismo de conexión de la JVM, todo el código supuestamente cifrado que no se haya separado del JRE normal puede obtenerse fácilmente mediante herramientas de conexión. Por lo tanto, esta es la solución de protección más ineficaz.
Para obtener más información, consulte el artículo: https://protector4j.com/articles/los-problemas-del-cifrado-de-clases/
Protección VMP
La protección de virtualización es la forma más segura de proteger el código, pero debido a su grave impacto en el rendimiento, solo puede aplicarse al código crítico de un programa. El resto del código sigue estando expuesto. Al atacar otras partes del código, el atacante aún puede obtener información funcional del código virtualizado.
Consulte el artículo para obtener detalles específicos: https://protector4j.com/articles/los-problemas-de-la-proteccion-de-las-máquinas-virtuales/
Compilación de AOT
La configuración y compilación de AOT son muy complejas, y existe una alta probabilidad de fallos. Incluso si la compilación es exitosa, la lógica del código solo se transforma de la representación en bytecode a la representación en código máquina, y su lógica inherente permanece sin ninguna protección especial. Si se comprende su mecanismo de compilación y ejecución, se puede aplicar ingeniería inversa al código legible.
Para obtener más información, consulte el artículo: https://protector4j.com/articles/los-problemas-de-la-proteccion-de-aot/
¿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 entorno de ejecución de la JVM. Un archivo JAR procesado por Protector4J se transforma al formato JARX.
Realizamos una personalización y modificación profunda de la JVM
Tras un estudio exhaustivo de la JVM, hemos realizado importantes personalizaciones y modificaciones. Hemos eliminado todos los mecanismos adicionales y aplicado un importante refuerzo y optimización a la seguridad binaria. Esto impide que los piratas informáticos utilicen los métodos existentes para exportar la información de sus clases. Creemos que, con la solidez actual, la aplicación cifrada protegida por Protector4J ofrece un alto nivel de seguridad. Sin embargo, la lucha entre el cracking y la anticracking es una constante mejora. Seguiremos mejorando nuestras soluciones de cifrado y protección para optimizar la seguridad de la aplicación.