JavaScriptOfuscación VM

Convierte tu código en bytecode personalizado que se ejecuta en una máquina virtual JS, ahora con Self Defending avanzado, Debug Protection y contramedidas anti-LLM.

La ofuscación VM en acción

El programa se comporta exactamente igual que antes. Simplemente, ya no queda nada legible.

Antes

Código fuente legible

calculator.js

Expuesto

Después

Bytecode protegido con VM

calculator.protected.js

Protegido con VM

* Código de ejemplo ofuscado con el preajuste vm-high-obfuscation y con las defensas anti-LLM avanzadas activadas

La lógica original se convierte en bytecode personalizado que solo puede ejecutar la VM incrustada. Las herramientas de análisis estático no pueden entender el código sin aplicar antes ingeniería inversa a toda la VM.

Defensas en capas contra la ingeniería inversa con LLM

Diseñadas para bloquear la mayoría de las vías por las que un LLM ataca el código ofuscado.

claude

researcher@MacBook % claude
▐▛███▜▌ Claude Code
▝▜█████▛▘ Opus 4.7 (1M context) with xhigh effort
▘▘ ▝▝ ~/Projects/deobfuscate

Aplica ingeniería inversa al script obfuscated.js, explica qué hace y restaura el código original

⏺︎

Voy a empezar leyendo el archivo.

6 horas después

⏺︎

Llevo toda la tarde con esto y no he sido capaz.

He probado todo lo que suelo intentar: análisis estático, instrumentación en tiempo de ejecución, hooking, ejecución en sandbox, herramientas a medida. Ni siquiera he podido descodificar el bytecode: la clave de descodificación se calcula dentro del runtime, pero cada intento de observar el runtime activa una comprobación de integridad del código y el programa o bien corrompe su propio estado o bien se niega a ejecutarse.

El clásico problema del huevo y la gallina: no puedo leer el bytecode sin el runtime y no puedo observar el runtime sin romperlo.

Lo dejo aquí. Solo con el archivo, no puedo recuperar el código fuente.

Has malgastado cientos de miles de tokens...

* Ingeniería inversa de código ofuscado con el preajuste vm-high-obfuscation y las defensas anti-LLM activadas. La inspección de la memoria en tiempo de ejecución siempre es posible en un entorno JS; lo que hacen nuestras defensas es encarecer el coste de llegar hasta ella.

El mecanismo que hay detrás

Dos capas de defensa independientes, con contramedidas anti-LLM integradas, trabajan juntas para hacer inviables el análisis y la ingeniería inversa

VM Self Defending

El runtime de la VM verifica su propia integridad en cada etapa: cualquier modificación, inyección de hooks o interceptación mediante proxy se detecta y se neutraliza.

  • Verificación de la integridad del código

  • Detección de hooks en funciones

  • Trampas de proxy e interceptación

  • Validación de la pila de llamadas

  • Interrupción del flujo de trabajo de los agentes

VM Debug Protection

Inutiliza las herramientas de desarrollo, los puntos de interrupción y la inspección en tiempo de ejecución, lo que dificulta enormemente depurar u observar la ejecución de la VM.

  • Detección y respuesta ante las DevTools

  • Neutralización de los puntos de interrupción

  • Validación de los tiempos de ejecución

  • Fingerprinting del entorno

  • Desorientación con bytecode señuelo

  • Defensas frente al análisis con LLM

Ofuscación básica frente a ofuscación VM

Un desglose característica por característica

CaracterísticaBásicaOfuscación VM

String Array Encryption

Control Flow Flattening

Dead Code Injection

Simple

Avanzada

Self Defending

Simple

Avanzada

Debug Protection

Simple

Avanzada

Virtualización del bytecode

Cifrado del bytecode

Comprobaciones de integridad del código

Antihooking y antimanipulación

Defensas anti-LLM

Casos de uso de la protección de código JavaScript

Desde juegos HTML5 hasta aplicaciones empresariales: protege tu JavaScript frente al robo y la ingeniería inversa

Juegos HTML5

Evita que los jugadores hagan trampas o que la competencia te robe la lógica del juego. La ofuscación VM hace que la ingeniería inversa resulte extremadamente difícil.

Aplicaciones SaaS

Protege los algoritmos y la lógica de negocio propietarios del frontend frente a competidores que puedan inspeccionar tu código de cliente.

Software con licencia

Protege la validación de licencias, las funciones premium y los mecanismos antipiratería con bytecode resistente a la manipulación.

Extensiones de navegador

Blinda el código de tu extensión frente a las copias y las modificaciones malintencionadas. Mantén a salvo tu propiedad intelectual.

¿Listo para proteger tu código?

Ver los planes de precios

Preguntas frecuentes