Saltar al contenido
Aback Tools Logo

Evaluación de JavaScript/Descompresor de funciones

Detecta y descomprime el código JavaScript oculto dentro de las llamadas eval(), new Function(), setTimeout() y setInterval(). Extrae recursivamente capas de evaluación anidadas de hasta 5 niveles de profundidad y muestra el código original en cada nivel de profundidad, con clasificaciones de gravedad, números de línea y vistas previas extraídas por capa. Gratis, privado y no es necesario registrarse.

JavaScript Eval/Function Unpacker

Detect and unpack JavaScript code hidden inside eval(), new Function(), setTimeout(), and setInterval() calls. Recursively extracts nested eval layers and shows the original code at each depth level — perfect for deobfuscating packed scripts and analyzing malicious code. All processing runs locally in your browser with no data uploaded.

Paste JavaScript code containing eval(), new Function(), setTimeout(), or setInterval() with string arguments above, then click Unpack Code. Nested eval layers will be recursively extracted — up to 5 levels deep. Click Load example obfuscated code to try it.

¿Por qué utilizar nuestro desempaquetador de función/evaluación de JavaScript?

  • Detección y descompresión instantánea de funciones/evaluación: detecta y descomprime instantáneamente el código JavaScript oculto dentro de las llamadas eval(), new Function(), setTimeout() y setInterval(). Nuestro desempaquetador JS eval escanea su código, identifica todos los patrones de ejecución de código dinámico y extrae la fuente oculta, sin necesidad de búsqueda manual ni depuración.
  • Análisis de código seguro y privado: el desempaquetador de función/evaluación de JavaScript se ejecuta completamente en su navegador. Su código, cadenas extraídas y resultados de análisis nunca salen de su dispositivo. No se cargan datos, no se realiza seguimiento ni se requiere registro: privacidad total para todo su trabajo de análisis de código.
  • Eval Unpacker Online - Sin instalación: Utilice JS eval/function unpacker directamente en cualquier navegador moderno sin necesidad de descargas, aplicaciones ni complementos. Cuenta con un editor de dos paneles, extracción de evaluación recursiva de hasta 5 niveles de profundidad y descompresión con un solo clic con informes de patrones detallados.
  • Extracción recursiva de evaluaciones anidadas y análisis de profundidad: a diferencia de las herramientas de búsqueda básicas, nuestro desempaquetador eval extrae código de forma recursiva de llamadas anidadas a eval(), hasta 5 niveles de profundidad. Cada capa se identifica individualmente y la salida desempaquetada muestra qué código estaba oculto dentro de cada eval(), new Function() o llamada de temporizador con anotaciones claras.

Casos de uso comunes para JavaScript Eval/Function Unpacker

  • Análisis de JavaScript empaquetado con llamadas a eval(): los desarrolladores e investigadores de seguridad utilizan el desempaquetador JS eval para analizar el código JavaScript que utiliza eval() para ejecutar cadenas construidas dinámicamente. Pegue el código empaquetado para extraer y leer instantáneamente el código oculto dentro de cada llamada a eval(), incluidas las capas de evaluación profundamente anidadas que las herramientas de búsqueda tradicionales pasarían por alto.
  • Análisis de códigos maliciosos y detección de amenazas: los profesionales de la ciberseguridad utilizan el desempaquetador de funciones/evaluación para analizar scripts potencialmente maliciosos. Los atacantes a menudo ocultan cargas útiles dentro de llamadas eval(), nuevos constructores Function() o argumentos de cadena setTimeout() para evadir el análisis estático. La herramienta detecta y extrae estas cargas útiles ocultas, revelando el código real que se está ejecutando.
  • Ingeniería inversa de JavaScript ofuscado: los ingenieros inversos utilizan el desempaquetador eval para desofuscar el código JavaScript que utiliza la generación de código en tiempo de ejecución. Muchos ofuscadores empaquetan su código como cadenas eval() o llamadas al constructor de funciones. La herramienta extrae cada capa y anota el código descomprimido con marcadores claros que muestran dónde estaba oculto.
  • Depuración de código generado dinámicamente: los desarrolladores frontend depuran JavaScript generado dinámicamente utilizando el desempaquetador eval para ver qué código se está ejecutando realmente. Cuando las bibliotecas o marcos de terceros usan eval() o new Function() internamente, la herramienta revela el código generado, lo que facilita el seguimiento de errores y la comprensión de comportamientos inesperados.
  • Investigación de vulnerabilidades y auditoría de código: los auditores de seguridad utilizan el desempaquetador de función/eval de JavaScript durante las auditorías de código para identificar usos inseguros de eval() y patrones relacionados. La herramienta destaca todas las llamadas de ejecución de código dinámico, sus niveles de gravedad y profundidad de anidamiento, lo que ayuda a los auditores a evaluar el perfil de riesgo e identificar el código que debe refactorizarse por razones de seguridad.
  • Aprenda sobre los patrones de ejecución de código JavaScript: los estudiantes y desarrolladores que aprenden sobre la seguridad de JavaScript utilizan el desempaquetador eval para comprender cómo funcionan eval(), new Function() y la ejecución de código basada en temporizador. El informe de detección de patrones muestra ejemplos del mundo real de cada técnica, lo que facilita ver cómo se utiliza (y se abusa) de la ejecución dinámica de código en la práctica.

¿Qué es la evaluación/descompresión de funciones de JavaScript?

El desempaquetado de funciones/eval de JavaScript es el proceso de extraer y revelar código que se ejecuta dinámicamente a través de las funciones eval() , new Function() , setTimeout() y setInterval() de JavaScript. Estas funciones aceptan código JavaScript como argumentos de cadena y lo ejecutan en tiempo de ejecución, lo que hace que el código sea invisible para las herramientas de análisis estático y la inspección informal.

Los ofuscadores y los scripts maliciosos suelen utilizar estas técnicas para ocultar su verdadera funcionalidad. El código pasado a eval() puede contener más llamadas a eval(), creando capas anidadas que deben desencapsularse de forma recursiva. Nuestro desempaquetador de funciones/evaluación de JavaScript detecta automáticamente los cuatro patrones, extrae el código oculto de cada uno y procesa recursivamente hasta 5 niveles de anidamiento para descomprimir completamente el código ofuscado.

Cómo funciona nuestro desempaquetador de función/evaluación de JavaScript

  1. 1. Pegar y escanear: pegue su código JavaScript ofuscado en el panel de entrada. El desempaquetador escanea cada carácter en busca de cuatro patrones específicos: llamadas eval() con argumentos de cadena, nuevos constructores Function() con cadenas de código, llamadas setTimeout() con código de cadena y llamadas setInterval() con código de cadena. Cada coincidencia se registra con su número de línea, nivel de gravedad y profundidad de anidamiento.
  2. 2. Extracción recursiva: cuando una llamada eval() u otra llamada dinámica contiene código que a su vez utiliza más llamadas a eval(), el desempaquetador procesa recursivamente el código extraído, hasta 5 niveles de profundidad. Cada capa se identifica y extrae de forma independiente. Por ejemplo, eval("eval('code')") se descomprime como dos capas separadas, donde el nivel 1 contiene la llamada externa y el nivel 2 contiene el código interno.
  3. 3. Revisar y exportar: el código descomprimido aparece en el panel de salida con anotaciones en línea que muestran qué se extrajo y de dónde. Las estadísticas muestran detecciones totales, tipos encontrados, profundidad máxima de anidamiento y comparación de tamaños. La tabla de detalles del patrón enumera cada coincidencia con su gravedad, número de línea y profundidad de anidamiento. Expanda el código extraído por capa para ver el código oculto en cada nivel de profundidad. Copie o descargue el resultado completamente descomprimido.

Patrones detectados e implicaciones de seguridad

  • Llamadas eval() (alta gravedad): eval(string) ejecuta código JavaScript arbitrario pasado como una cadena. Este es el patrón del que se abusa con más frecuencia en scripts ofuscados y maliciosos porque puede ejecutar cualquier código en tiempo de ejecución. También tiene importantes implicaciones de rendimiento y seguridad: eval puede acceder al ámbito local, lo que lo hace particularmente peligroso.
  • Constructor new Function() (alta gravedad): new Function('return...') crea una nueva función a partir de una cadena. Si bien es un poco más seguro que eval (se ejecuta en el ámbito global, no local), todavía se usa ampliamente para la ofuscación. El constructor de funciones se utiliza a menudo en la ofuscación multicapa para crear y ejecutar cadenas de código sin activar detectores de evaluación.
  • Argumentos de cadena setTimeout/setInterval (gravedad media): pasar cadenas a setTimeout() o setInterval() es un antipatrón que también permite la ofuscación del código. Si bien son menos comunes en el código de producción, los scripts maliciosos a veces utilizan funciones de temporizador con código de cadena para retrasar la ejecución o evadir las heurísticas de detección basadas en tiempos.

Privacidad, seguridad y disponibilidad

El desempaquetador de función/evaluación de JavaScript es 100% gratuito y no es necesario registrarse. Todo el análisis de código se realiza localmente en su navegador mediante la coincidencia de patrones de JavaScript: su código ofuscado, las cadenas extraídas y los resultados del análisis nunca salen de su dispositivo. No hay límites de tamaño de archivo ni de uso. La herramienta detecta hasta 5 niveles de anidamiento de patrones eval, constructor de funciones, setTimeout y setInterval, proporciona vistas detalladas de extracción por capa e incluye funcionalidad de copia al portapapeles y descarga. Úselo tantas veces como necesite para descomprimir el código JavaScript ofuscado.

Preguntas frecuentes

Un desempaquetador de funciones/eval de JavaScript es una herramienta que detecta y extrae código oculto dentro de las llamadas eval(), new Function(), setTimeout() y setInterval(). Estas funciones ejecutan código JavaScript pasado como argumentos de cadena en tiempo de ejecución, lo que hace que el código sea invisible para el análisis estático. El desempaquetador encuentra automáticamente estos patrones, extrae el código oculto y procesa recursivamente capas de evaluación anidadas de hasta 5 niveles de profundidad.

El desempaquetador eval/function detecta cuatro patrones: llamadas eval() con argumentos de cadena, nuevos constructores Function() con cadenas de código, llamadas setTimeout() con código de cadena y llamadas setInterval() con código de cadena. Cada patrón se identifica por su nivel de gravedad, número de línea y profundidad de anidamiento (hasta 5 capas de recursividad).

Cuando una llamada a eval() contiene código que a su vez contiene llamadas a eval(), el desempaquetador procesa recursivamente el código extraído para descomprimir las capas internas. Por ejemplo, si tiene eval("var x = 1; eval('var y = 2');"), la herramienta primero extrae el código externo y luego lo procesa para encontrar el eval() interno como una segunda capa. Esto continúa hasta 5 niveles de anidación.

Absolutamente. El desempaquetador de función/evaluación de JavaScript se ejecuta completamente en su navegador. Su código ofuscado, cadenas extraídas y resultados de análisis nunca salen de su dispositivo. Todo el procesamiento se realiza localmente en su computadora: no se carga nada en ningún servidor.

Tanto eval() como new Function() ejecutan código a partir de cadenas, pero difieren en su alcance. eval() ejecuta código en el ámbito local actual y puede acceder a variables locales, lo que lo hace más peligroso. new Function() crea una función que se ejecuta en el ámbito global. Nuestro desempaquetador detecta ambos patrones y asigna una alta gravedad a cada uno.

Pasar cadenas a setTimeout/setInterval es un antipatrón de JavaScript porque tiene implicaciones de seguridad similares a eval(). El código ofuscado o malicioso utiliza esta técnica para ocultar la ejecución de código detrás de funciones de temporizador, a menudo para retrasar la ejecución o evadir la detección de análisis estático.

Sí. El desempaquetador procesa recursivamente llamadas a eval(), new Function(), setTimeout() y setInterval() hasta 5 niveles de profundidad. Cada capa extraída se identifica y anota de forma independiente con su nivel de profundidad. Si el código tiene más de 5 niveles, es posible que se necesiten pases adicionales.

Sí. Los investigadores de seguridad, probadores de penetración y analistas de malware utilizan el desempaquetador de función/evaluación de JavaScript para analizar scripts ofuscados. La clasificación de gravedad ayuda a priorizar los hallazgos y la vista de extracción por capa facilita el seguimiento a través de múltiples niveles de ofuscación.

Sí, el desempaquetador de función/evaluación de JavaScript es 100% gratuito, sin registro, sin cuenta y sin límites de uso. Descomprime cualquier código JavaScript ofuscado tantas veces como necesites, completamente gratis para siempre.