Resolvedor de Reemplazos de Arreglos de JavaScript
Detecta y resuelve patrones de reemplazo de cadenas basados en arreglos en código JavaScript. Nuestra herramienta identifica arreglos que almacenan cadenas y reemplaza las expresiones de acceso por índice con sus valores reales, haciendo el código ofuscado mucho más legible.
Privacy Guarantee
All processing runs entirely in your browser. Your JavaScript code never leaves your device. No data is uploaded, stored, or tracked.
¿Por qué usar nuestro resolvedor de reemplazos de arreglos de JavaScript?
- Resolución instantánea de reemplazos de arreglos: nuestro resolvedor de reemplazos de arreglos de JavaScript analiza el código ofuscado al instante en tu navegador. Detecta patrones de reemplazo de cadenas basados en arreglos, resuelve los accesos por índice a valores en línea y limpia la salida, todo con cero espera y sin llamadas al servidor.
- Procesamiento 100 % privado en el navegador: tu código JavaScript ofuscado nunca sale de tu navegador. Toda la resolución de reemplazos de arreglos ocurre localmente con JavaScript: sin subidas a servidores, sin recopilación de datos. Tu código y su contenido permanecen completamente privados.
- Sin límites de tamaño de código: analiza código JavaScript de cualquier tamaño sin restricciones. Desde pequeños fragmentos ofuscados hasta grandes paquetes minificados, nuestro resolvedor maneja cualquier tamaño de entrada con eficiencia.
- 100 % gratis para siempre: usa nuestro resolvedor de reemplazos de arreglos de JavaScript totalmente gratis y sin limitaciones. Sin registro, sin tarifas ocultas, sin planes premium: solo desofuscación ilimitada y gratuita cuando la necesites.
Casos de uso comunes del resolvedor de reemplazos de arreglos de JavaScript
- Ingeniería inversa de scripts ofuscados: los investigadores de seguridad y los ingenieros inversos pueden resolver rápidamente los reemplazos de cadenas basados en arreglos en JavaScript ofuscado, haciendo el código más legible y comprensible para un análisis posterior.
- Análisis de scripts de malware y phishing: analiza JavaScript malicioso que usa el ocultamiento de cadenas basado en arreglos para esconder cargas útiles, cadenas de comandos y URL objetivo. Resuelve los accesos a arreglos para revelar el contenido oculto y entender el comportamiento del malware.
- Auditoría de seguridad y revisión de código: los auditores de seguridad pueden desofuscar código JS durante pruebas de penetración y evaluaciones de vulnerabilidades. La resolución de reemplazos de arreglos revela cadenas ocultas como endpoints de API, tokens de autenticación y URL de puertas traseras.
- Retos CTF (Capture The Flag): los participantes de CTF se encuentran con frecuencia con JavaScript ofuscado con reemplazos de cadenas basados en arreglos. Usa esta herramienta para resolver rápidamente los arreglos de cadenas y centrarte en la lógica real del reto en lugar de en la desofuscación.
- Transparencia de scripts de terceros: analiza widgets y SDK de JavaScript de terceros que usan ofuscación basada en arreglos para entender a qué datos acceden y qué operaciones realizan en tu sitio web.
- Aprender técnicas de ofuscación: los estudiantes y desarrolladores que aprenden sobre ofuscación de JavaScript pueden usar esta herramienta para visualizar cómo funcionan las técnicas comunes de reemplazo de cadenas basadas en arreglos y ver los valores resueltos en contexto.
¿Qué es la ofuscación por reemplazo de cadenas basada en arreglos?
El reemplazo de cadenas basado en arreglos es una de las técnicas de ofuscación de JavaScript más comunes. Funciona almacenando todos los literales de cadena (nombres de funciones, mensajes, URL, etc.) en uno o más arreglos indexados por claves numéricas. Las cadenas originales se acceden entonces mediante expresiones de índice de arreglo como _0x1234[0] en lugar de las propias cadenas literales. Esta técnica dificulta mucho que las herramientas de análisis estático y los lectores humanos entiendan qué hace el código, ya que cadenas significativas como "https://api.example.com" se convierten en expresiones crípticas como _0xabcd[42].
Cómo funciona nuestro resolvedor de reemplazos de arreglos de JavaScript
Nuestro resolvedor usa un proceso de tres pasos para desofuscar los reemplazos de cadenas basados en arreglos:
- Detección de arreglos: escanea el código de entrada en busca de declaraciones de variables que contienen arreglos de valores de cadena (por ejemplo, var _0x = ["Hello", "World"]). Identifica todos esos arreglos de almacenamiento de cadenas y su contenido.
- Resolución de accesos: encuentra todas las expresiones en las que se accede a estos arreglos con notación de corchetes (por ejemplo, _0x[0]). Evalúa la expresión de índice a un valor numérico y busca la cadena correspondiente en el arreglo. Admite números directos, hexadecimal (0xFF), binario (0b1010), octal (0o77) y expresiones aritméticas simples.
- Reemplazo en línea: reemplaza cada expresión de acceso a arreglo por el literal de cadena resuelto y, opcionalmente, elimina las declaraciones de arreglos originales de la salida. Una tabla de mapeo completa muestra cada reemplazo realizado.
Detectar patrones de ofuscación basados en arreglos
El reemplazo de cadenas basado en arreglos es fácil de detectar una vez que sabes qué buscar. Los indicadores comunes incluyen declaraciones de variables que contienen arreglos de cadenas aparentemente aleatorias, patrones frecuentes de acceso con corchetes como _0x1234[0] o _0xabc["length"], y nombres de variables que parecen números hexadecimales (por ejemplo, _0xabcd, _0x1234). Muchos ofuscadores populares usan esta técnica, como javascript-obfuscator, JScrambler y varios empaquetadores personalizados. El número de cadenas por arreglo puede ir de unas pocas a varios cientos, a menudo repartidas en varios arreglos para dificultar el análisis.
Limitaciones y buenas prácticas
Aunque nuestro resolvedor maneja los patrones de reemplazo de arreglos más comunes, algunos ofuscadores avanzados usan técnicas que pueden vencer la detección simple. Estas incluyen construir arreglos dinámicamente en tiempo de ejecución, usar acceso a propiedades computadas con expresiones complejas, dividir cadenas entre varias entradas de arreglo o usar llamadas a funciones anidadas para ocultar los accesos a arreglos. Para obtener mejores resultados, combina esta herramienta con otras técnicas de desofuscación como el embellecimiento, el análisis de nombres de variables y la inspección manual del código. Verifica siempre la salida resuelta en un entorno aislado antes de usarla para análisis de seguridad.
Preguntas frecuentes
Un resolvedor de reemplazos de arreglos de JavaScript detecta y resuelve patrones de reemplazo de cadenas basados en arreglos que usan comúnmente los ofuscadores de JS. Identifica arreglos que almacenan valores de cadena (como var _0x1234 = ["Hello", "World"]) y reemplaza todas las expresiones de acceso a arreglos (como _0x1234[0]) por los valores de cadena reales ("Hello"). Este es un paso clave para desofuscar código JavaScript.
Los ofuscadores de JavaScript suelen extraer todos los literales de cadena de tu código y almacenarlos en uno o más arreglos (a menudo con nombres cortos sin significado como _0x, _0xabcd). Cada acceso a cadena se reescribe entonces como una búsqueda por índice de arreglo. Esto hace que el código sea extremadamente difícil de leer, porque en lugar de ver valores de cadena reales ves referencias crípticas a arreglos repartidas por el código.
No. Resolver los reemplazos de arreglos solo cambia cómo se accede a las cadenas: de búsquedas indirectas en arreglos a literales de cadena en línea. El comportamiento real del código se conserva. Una vez resueltos todos los accesos a arreglos y eliminados los arreglos de declaración, el código resultante es funcionalmente idéntico pero mucho más legible.
Por supuesto. Todo el procesamiento ocurre por completo en tu navegador con JavaScript. Tu código nunca se sube a ningún servidor, ni se almacena ni se transmite. Esta herramienta funciona totalmente sin conexión una vez cargada, lo que la hace segura para analizar código JavaScript propietario o sensible.
La herramienta detecta patrones de ofuscación comunes, como arreglos de cadenas var/let/const con valores entre comillas, acceso a arreglos con índice hexadecimal (como _0x[0xff]), índices aritméticos simples (como _0x[5+3]) y expresiones de índice con operaciones bit a bit. También maneja varios arreglos de cadenas en el mismo archivo y elimina los arreglos de declaración tras la resolución para obtener una salida más limpia.
La ofuscación transforma código legible en una forma difícil de entender conservando la funcionalidad. La desofuscación es el proceso inverso: restaura la legibilidad deshaciendo las transformaciones de ofuscación. La resolución de reemplazos de arreglos es una técnica específica de desofuscación que revierte la extracción de cadenas y los patrones de acceso basados en arreglos usados por los ofuscadores.
Sí. Los investigadores de seguridad, pentesters e ingenieros inversos usan herramientas como esta para analizar JavaScript ofuscado que se encuentra en malware, páginas de phishing u otro contenido web sospechoso. Resolver los reemplazos de arreglos suele ser el primer paso para entender qué hace realmente el código ofuscado.
Esta herramienta maneja el patrón más común, en el que los arreglos de cadenas se declaran con valores literales y se accede a ellos con índices simples. Los ofuscadores muy avanzados pueden usar arreglos generados en tiempo de ejecución o código automodificable que no puede resolverse estáticamente. Para la mayoría de los ofuscadores estándar e intermedios, esta herramienta ofrece excelentes resultados.