Cifrado y ofuscación de Javascript

Arrastra el archivo JavaScript o haz clic para leer el archivo JavaScript.

       

Configuración de cifrado confuso


Configuración con un solo clic


Configuración básica



Generador de nombres de identificadores


prefijo de identificador




Entorno de ejecución objetivo

Configuración de protección de depuración




Configuración de cadena


Codificación de cadenas


coeficiente de encriptación de cadenas






Configuración de filtrado

Bloquear el dominio


Método de conservación


Conservar la cadena.


Configuración adicional

mapa fuente


Dirección del mapa de origen.


Nombre del archivo del mapa de origen


Identificación de ID de semilla

Descripción de la configuración de la herramienta de ofuscación de código JAVASCRIPT.


Comprimir en una línea. Comprimir los saltos de línea y los espacios en blanco.
Generador de nombres de identificadores

Utiliza esta opción para controlar cómo se ofuscan los identificadores (nombres de variables, nombres de funciones, etc.).

hexadecimal
生成使用十六进制图案随机标识符的名称(如: 0xabc123

carácter corto
使用短字符名称 (如: a, b, c 等等)

prefijo de identificador

Esta opción hace que todos los identificadores globales tengan un prefijo específico.

Cuando se confunden múltiples archivos cargados en la misma página, utilice esta opción. Esta opción ayuda a evitar conflictos entre los identificadores globales de estos archivos. Use un prefijo diferente para cada archivo.

Renombrar variables de método
Esta opción puede dañar su código. Actívela solo si sabe lo que hace.

Usa la declaración para habilitar la ofuscación de nombres de variables y funciones globales.

Protección K

Esta opción hace que el código de salida sea resistente a la formateación y a la renombración de variables. Si se intenta utilizar un formateador de JavaScript en el código ofuscado, este no funcionará correctamente, lo que dificulta su comprensión y modificación.

需要 Comprimir en una línea. 设置。

Evitar el formateo
Esta opción tiene un impacto máximo en el rendimiento, reduciendo la velocidad de ejecución en 1.5 veces.

Habilitar la aplanación del flujo de control. La aplanación del flujo de control es una transformación de la estructura del código fuente que obstaculiza la comprensión del programa.

coeficiente de formato


En bibliotecas de código más grandes, se recomienda reducir este valor, ya que una gran cantidad de conversiones de flujo de control aumentará el tamaño del código y disminuirá su velocidad (de 0 a 1).

Inyección de código mediante comandos de flores.
Esta opción aumenta enormemente el tamaño del código ofuscado (hasta un 200%).

Esta función añade bloques de código aleatorio (es decir, código que no se ejecutará) a la salida ofuscada, lo que dificulta la ingeniería inversa.

tasa de inyección de comandos


Puede utilizar esta configuración para ajustar la probabilidad de que la opción afecte al nodo (de 0 a 1).

需要 cifrado de cadena 选项支持。

cifrado de cadena

Elimina el texto de la cadena y colócalo en un array especial. Por ejemplo, en la cadena "Hello World", la cadena var m = "Hello World"; se reemplazará con una llamada a una función que recuperará su valor en tiempo de ejecución, como: var m = _0xb0c3('0x1'); Consulta a continuación sobre cómo configurar esta función con opciones más o menos flexibles.

Rotar un array de cadenas.


Mover el arreglo de cadenas a una posición fija y aleatoria (generada en la ofuscación del código). Esto hace que sea más difícil que el orden de las cadenas eliminadas coincida con su posición original. Si su código fuente original no es pequeño, se recomienda usar esta opción, ya que la funcionalidad adicional puede llamar la atención.

Si el código fuente no es pequeño, se recomienda usar esta opción.

Reordenar el arreglo de cadenas


Ordenar aleatoriamente un arreglo de cadenas.

Codificación de cadenas


Esta opción reducirá ligeramente la velocidad del script.

Codifica todos los literales de cadena usando Base64 o RC4 e inserta una función especial que se encargue de decodificarlos en tiempo de ejecución.

Tenga en cuenta que la opción RC4 es aproximadamente un 30-35% más lenta que la opción Base64, pero es más difícil recuperar la cadena.

coeficiente de encriptación de cadenas


Puede utilizar esta configuración para ajustar la probabilidad de insertar literales de cadena (de 0 a 1).

Esta configuración es útil en grandes bibliotecas de código, ya que llamar repetidamente a la función de cifrado de cadenas puede disminuir la velocidad del código.

Encriptación de variables

Convertir las claves de un objeto confuso.

Por ejemplo, después de ofuscar este código var a = {enabled: true};, este código ocultará la clave del objeto enabled: var a = {}; a[_0x2ae0[('0x0')] = true;.

Configuración de parámetros para la encriptación de cadenas.

secuencia de escape Unicode

Convertir las claves de un objeto confuso.

将所有字符串转换为它们的unicode表示形式。例如,字符串"Hello World!"将被转换为"'\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21"。

Esta conversión es muy fácil de revertir y aumentará significativamente el tamaño del código ofuscado. No se recomienda su uso en bibliotecas de código más grandes.

Desactivar la salida de la consola.

Está prohibido usar console.log, console.info, console.error y console.warn, lo que dificulta el uso del depurador.

Protección de depuración
Si abres las herramientas de desarrollador, puedes congelar el navegador.

Usar esta opción hace que sea casi imposible utilizar la pestaña de consola de las herramientas de desarrollo (en Google Chrome y Mozilla Firefox).

Intervalo de protección de depuración


Si se selecciona esta opción, se forzará el uso del modo de depuración en la pestaña "Consola" mediante un intervalo de tiempo, lo que dificultará el uso de otras funciones de las herramientas de desarrollo.

Se insertará un código especial que se llama repetidamente para funcionar en el código fuente ofuscado.

Bloquear el dominio

Bloquear el código fuente ofuscado para que funcione solo en dominios y/o subdominios específicos. Esto realmente dificulta que quienes solo copian y pegan el código fuente lo ejecuten en otros lugares.

múltiples dominios o subdominios
可以将代码锁定到多个域或子域。例如,要对其进行锁定以使代码仅在www.bejson.com上运行,请使用add www.bejson.com,使其可在bejson.com的任何子域上使用.bejson.com。

Conservar el nombre.

Desactivar la ofuscación y la generación de identificadores, estos identificadores coinciden con el patrón de RegExp (expresión regular) pasado.

Por ejemplo, si se añade ^bejsoncom, el ofuscador se asegurará de no dañar todas las variables, nombres de funciones y parámetros de funciones que comiencen con bejson.

Conservar la cadena.

Desactivar la conversión de literales de cadena que coincidan con el patrón de expresión regular (RegExp) proporcionado.

Por ejemplo, si se añade ^bejson *string, el ofuscador se asegurará de que todas las cadenas que comiencen con un determinado string no sean procesadas en la "encriptación de cadenas".

mapa fuente
Asegúrate de no subir código fuente ofuscado que contenga imágenes con código fuente embebido, ya que incluye el código fuente original.

Los mapas de origen pueden ayudarle a depurar el código fuente de JavaScript ofuscado. Si desea depurar en producción, puede subir el archivo de mapa de origen separado a un lugar secreto y luego dirigir el navegador a esa ubicación.

mapa de origen en línea
这会将源代码的源映射嵌入到混淆代码的结果中。如果只想在计算机上进行本地调试,则很有用。

Mapa fuente independiente
这将与源映射一起生成一个单独的文件。这对于调试生产中的代码很有用,因为这使您可以将源映射上载到服务器上的秘密位置,然后指向浏览器使用它。
使用“ 源地图基本URL”和“ 源地图文件名”来自定义sourceMappingURL将添加到混淆代码末尾的属性。
举例来说,如果你的设置基本URL来 "http://bejson.com:9000"和文件名来 "tool",你会得到://# sourceMappingURL=http://bejson.com:9000/tool.js.map。附加到混淆代码的末尾。

semilla

De manera predeterminada (seed = 0), cada vez que se ofusca el código, se obtiene un nuevo resultado (es decir, nombres de variables diferentes, inserciones en diferentes variables como stringArray, etc.). Si se desea obtener resultados reproducibles, se debe establecer el seed en un entero específico.

Recientemente has utilizado:

Coleccionar Menú QQ