Tiny Online Tools logoTiny Online ToolssearchBuscar herramientas…grid_viewTodas las herramientas
Iniciochevron_rightHerramientas de ingeniería inversachevron_rightAsistente de Desofuscación JavaScriptAsistente de Desofuscación JavaScript

Asistente de Desofuscación JavaScript

Revierte patrones estáticos comunes de ofuscación JavaScript: arrays de cadenas, escapes, constantes plegadas, ramas muertas y corchetes convertidos en puntos.

infoEsto revierte solo patrones de ofuscación ESTÁTICA comunes: arrays de cadenas, literales escapados, aritmética literal, ramas siempre verdaderas/falsas y acceso por corchetes. No ejecuta ningún código, así que no puede desempaquetar cargadores basados en eval, resolver condiciones que dependen del tiempo de ejecución, ni revertir el aplanado de flujo de control más allá de una prueba literal trivial. Los nombres de variables se dejan intactos.JavaScript ofuscado

Herramientas similares

Ofuscador de JavaScript

Ofuscador de JavaScript

Renombra variables locales, oculta cadenas de texto y aplana el flujo de control en JavaScript, todo en tu navegador, sin subir nada.

Analizador de Código Muerto JavaScript

Analizador de Código Muerto JavaScript

Pega un paquete JS y encuentra funciones de nivel superior sin ninguna referencia estática en el archivo — un análisis heurístico de alcanzabilidad, no una certeza.

Inspector de JavaScript en PDF

Inspector de JavaScript en PDF

Encuentra todos los scripts dentro de un PDF —acciones de documento, eventos de página y anotación y cálculos de formulario— y léelos sin ejecutarlos.

Extractor de Cadenas Binarias

Extractor de Cadenas Binarias

Extrae cadenas imprimibles ASCII y UTF-16LE de cualquier archivo binario, con desplazamientos de byte, longitud mínima configurable y filtrado en vivo.

Redactor de PDF

Redactor de PDF

Dibuja cuadros negros de censura sobre áreas sensibles de páginas PDF directamente en tu navegador.

Generador de tablas HTML

Generador de tablas HTML

Genera código de tabla HTML a partir de filas simples separadas por comas.

JSON desaplanar

JSON desaplanar

Expanda las claves JSON de notación de puntos planos nuevamente en una estructura de objetos anidados.

apps

Mas herramientas

Explora nuestra coleccion completa de herramientas gratuitas en linea.

Qué revierte esta herramienta

Muchos ofuscadores de JavaScript —incluido el de este mismo sitio— reescriben el código con un conjunto pequeño y mecánico de transformaciones estáticas: mueven cada cadena literal a un único array y sustituyen cada uso por una llamada a una función captadora, escapan caracteres normales como secuencias \xNN o \uNNNN, expanden aritmética simple en expresiones equivalentes pero más largas, envuelven código real en un if siempre verdadero o siempre falso, y reescriben a.b como a['b']. Esta herramienta revierte exactamente esas cinco cosas:

  1. Inlining de array de cadenas — encuentra var _s = ["foo", "bar"]; function _g(i){ return _s[i]; } y sustituye cada llamada tipo _g(0) cuyo índice sea un número literal por la cadena real, y luego elimina el array y la función si nada más los usa.
  2. Decodificación de escapes — muestra \x48\x69 como Hi en lugar de la forma escapada.
  3. Plegado de constantes — convierte 1 + 2 en 3, "a" + "b" en "ab" y aritmética literal similar, evitando cualquier cosa que requiera adivinar (como dividir por un literal cero).
  4. Eliminación de ramas muertasif (true) { A } else { B } se convierte en solo A; un while (false) {} desaparece por completo.
  5. Corchete a puntoobj['nombre'] se convierte en obj.nombre cuando nombre es un identificador válido.

Qué no hace

Esto es coincidencia de patrones estática sobre un AST, no un desofuscador general. No ejecuta ningún código, así que no puede desempaquetar un cargador basado en eval, resolver un predicado opaco que dependa de un valor en tiempo de ejecución, ni revertir el aplanado de flujo de control más allá del caso literal único de if/while/ternario anterior. Los nombres de variables se dejan tal cual — _0x1a2b sigue siendo _0x1a2b. Si tu archivo no coincide exactamente con la forma array-de-cadenas + función captadora, esa fase simplemente informa cero llamadas alineadas en lugar de adivinar otro patrón.

Cómo funciona

El código se analiza en un AST con acorn, se recorre y reescribe con transformaciones hechas a mano que solo actúan cuando un valor ya es demostrablemente literal, y se regenera con astring. Nada se sube a ningún servidor: el análisis y la reescritura ocurren en tu navegador.

Cómo usarlo

Pega o escribe JavaScript en el editor y ejecútalo. El resumen muestra exactamente cuántas veces se activó cada fase, para que veas qué cambió y qué no. Copia el resultado o descárgalo como archivo .js.