Ofuscación VM
La ofuscación VM transforma tus funciones de JavaScript en bytecode personalizado que se ejecuta en una máquina virtual incrustada en la salida, de modo que la lógica protegida ya no se distribuye como JavaScript legible.
La protección VM se aplica a las funciones elegibles. En el modo root, vmWrapTopLevelInitializers también puede envolver los inicializadores elegibles para virtualizarlos; los preajustes VM actuales lo activan. Revisa las advertencias de cobertura como VMNoFunctionsToVirtualize y usa el modo comment para seleccionar explícitamente las funciones sensibles.
La ofuscación encarece la ingeniería inversa sin hacerla imposible, así que mantén los secretos y las decisiones de seguridad determinantes en el servidor. Consulta Buenas prácticas para saber qué puede y qué no puede garantizar la ofuscación.
¿Necesitas ayuda? Si la ofuscación VM no se comporta como esperas, consulta Diagnosticar errores de la VM en tiempo de ejecución para saber cómo acotar el problema y enviar un informe de error.
En esta sección
Compatibilidad de ejecución
Adapta la compilación al lugar donde se ejecuta: la opción Target, las defensas de ejecución y lo que el pipeline de compilación debe conservar.
Cómo transforma el código la VM
Qué deja visible la VM y qué oculta, y cómo proteger los nombres de las funciones.
Selección de funciones específicas
Aplica la ofuscación VM solo a las funciones sensibles para lograr el mejor rendimiento.
Register-Based VM
Cambia la VM a un modelo de ejecución basado en registros: más rápida en tiempo de ejecución, a cambio de un bundle algo mayor.
Async Executor
Ejecuta la VM de forma asíncrona para poder obtener la clave de descifrado del bytecode en tiempo de ejecución en lugar de incluirla en el bundle.
Compatibilidad con el modo estricto
Declara el modo estricto para que la VM compile un bytecode correcto.
Comportamiento de eval directo
Por qué el uso directo de eval() desactiva la ofuscación VM y cómo evitar este problema.
VM Self Defending
Detección de manipulaciones, comprobaciones de integridad del código y antihooking para el runtime de la VM.
VM Debug Protection
Medidas antidepuración para el código protegido con VM.
VM Domain Lock
Restringe el código VM ofuscado a dominios y subdominios concretos.
Browser Environment
Declara cómo se sirve tu compilación de producción para que el código protegido pueda ligar a ella su integridad.
