Recetas
Guías completas y con criterio para los problemas habituales de integración de javascript-obfuscator. Cada receta se centra en cómo combinar opciones para lograr un resultado concreto, en lugar de documentar cada flag por separado.
Elige la receta que se ajuste al problema que intentas resolver. Con el tiempo se añadirán más recetas: si te has topado con un escenario de integración que aquí no se cubre, avísanos y lo documentaremos.
En esta sección
Buenas prácticas
Qué proteger, qué dejar intacto y qué no puede hacer la ofuscación por ti.
Obtener la clave del array de bytecode desde el backend
Mantén la clave de descifrado del bytecode de la VM fuera del cliente con un getter asíncrono que la obtiene de tu backend durante la carga.
Sustitución de plantillas en el servidor
Inyecta valores renderizados en el servidor dentro de JavaScript ofuscado con VM usando reservedNames y reservedStrings.
Ocultar los nombres de las funciones al análisis con LLM
Por qué el código ofuscado con VM puede filtrar nombres de funciones con significado a un LLM y cómo una envoltura IIFE elimina esa filtración.
Diagnosticar errores de la VM en tiempo de ejecución
Lista de comprobación paso a paso para errores de la VM en tiempo de ejecución como "Invalid array length", que distingue una configuración incorrecta de target o self-defending de un error real.
Evitar colisiones de identificadores
Por qué agrupar varios archivos ofuscados con VM puede provocar un "Identifier already declared" al analizar el código, y cómo solucionarlo con identificadores random o hexadecimal.
Ofuscación VM con eval y new Function
Cómo trata la ofuscación VM las llamadas a eval directo y al constructor Function, qué se convierte en bytecode y qué se omite, las advertencias que emite el ofuscador y cómo diagnosticar un ReferenceError en tiempo de ejecución.
Telemetría y reacciones de las defensas VM
Informa a tu backend de las detecciones de las defensas VM con vmDefenseHook y ajusta cómo reacciona cada categoría de detección con vmDefenseReaction.
