SS Toolbox
SS Toolbox
Todos los datos se procesan localmente

Ofuscador de JavaScript — aumentar el coste de lectura, no cifrar

Ofusca JavaScript en el navegador con el preajuste predeterminado de javascript-obfuscator. Las cadenas pasan a una matriz rotatoria, los identificadores se renombran en hexadecimal y la salida se compacta y simplifica: dificulta la lectura, pero no es cifrado y el código sigue siendo reversible. Sin subidas ni opciones expuestas.

Se ve extraño, pero realmente puede ejecutarse, ¡puede copiarlo en Devtool para probarlo!

Qué hace este ofuscador y qué no hace

  1. La ofuscación es una barrera de legibilidad, no cifrado

    La salida sigue siendo JavaScript normal, que cualquier navegador ejecuta y cualquier desarrollador puede formatear. Aumenta el tiempo de lectura, pero no oculta la lógica, no protege secretos y no impide la desofuscación.

  2. Usa el preajuste predeterminado de la biblioteca

    Activo: matriz de cadenas con rotación, mezcla y desplazamiento de índices (umbral 0,75), identificadores hexadecimales, salida compacta y simplificación. Inactivo: aplanamiento del flujo de control, inyección de código muerto, protección de depuración, código autodefensivo, renombrado global y escape Unicode.

  3. Funciona por completo en el navegador

    El procesamiento usa javascript-obfuscator en esta pestaña. No se sube nada; el código de proyectos privados permanece en tu dispositivo.

  4. Un botón, comportamiento predecible

    Esta página no expone opciones a propósito: aplica siempre el mismo preajuste conservador para que la salida no crezca o se ralentice de forma inesperada.

  5. Salida lista para pegar

    El resultado es JavaScript normal. Cópialo en DevTools, un paso de compilación o un archivo, y ejecuta tus pruebas antes de publicar.

Preguntas frecuentes

¿La ofuscación hace que mi código sea seguro?

No. Solo aumenta el esfuerzo de lectura. No es cifrado, no tiene clave y alguien decidido puede formatearlo y seguirlo. No pongas claves de API, contraseñas o algoritmos críticos en JavaScript del lado del cliente: usa validación y control de acceso en el servidor.

¿Qué opciones están activas por defecto?

Esta página llama a javascript-obfuscator sin opciones personalizadas. Por defecto están activos: salida compacta, identificadores hexadecimales, simplificación y una matriz de cadenas con rotación, mezcla y desplazamiento de índices con umbral 0,75. El aplanamiento del flujo, la inyección de código muerto, la protección de depuración, la autodefensa, renameGlobals, numbersToExpressions, transformObjectKeys y unicodeEscapeSequence están desactivados.

¿Qué hace realmente la matriz de cadenas?

Los literales de cadena se mueven a una matriz y se sustituyen por accesos indexados; un pequeño arranque rota y mezcla la matriz al iniciar. Dificulta buscar un mensaje o URL en el código, pero las cadenas siguen existiendo en tiempo de ejecución y se pueden recuperar.

¿Qué es el aplanamiento del flujo de control y se usa aquí?

Reescribe ramas y bucles como una máquina de estados controlada por switch, lo que dificulta seguir el flujo. Aquí está desactivado: aumenta el tamaño y el coste de CPU y a veces rompe código. Puedes activarlo con la CLI o la biblioteca javascript-obfuscator.

¿La ofuscación puede romper o ralentizar mi código?

El preajuste predeterminado es bastante conservador, pero puede romper código que dependa de nombres de funciones, toString(), eval o reflexión de frameworks. La indirección de la matriz añade un pequeño coste de arranque; el aplanamiento del flujo (no usado aquí) añade más. Prueba siempre la versión ofuscada.

¿Cómo depuro código ofuscado? ¿Se generan source maps?

No se generan source maps. Conserva el código original, depura antes de ofuscar o en una compilación de desarrollo y publica la versión ofuscada solo después de que pasen las pruebas. Formatear ayuda a ver la estructura, pero los identificadores siguen ilegibles.

¿Puedo ofuscar varios archivos o todo un proyecto a la vez?

No. Esta página procesa un pegado cada vez. Para varios archivos usa la CLI o los plugins de compilación de javascript-obfuscator.

Herramientas relacionadas
SponsorMindElixir