Desempaquetar y empaquetar código comprimido con eval de JavaScript
CifradoTodo se ejecuta en tu navegador: no se sube nada
Trabaja con el packer de Dean Edwards — el `eval(function(p,a,c,k,e,d){…})`. Sustituye las palabras que se repiten en el código (`function`, `document`, `length`…) por nombres cortos, guarda el cuerpo comprimido como una cadena y añade la tabla de correspondencias al final. ⚠️ No es cifrado: no hay clave, la tabla está ahí mismo en el código y para desempaquetar no hace falta nada más. El formato se extendió mucho — bastantes sitios lo usan como «ofuscación ligera» — y resulta ser uno de los más fáciles de revertir.
Funciones
- Desempaquetar: devuelve `eval(function(p,a,c,k,e,d){…})` a código legible
- Empaquetar: genera el mismo formato, con base ajustable (2–62)
- ⚠️ Manipulación de cadenas de principio a fin: no se ejecuta JavaScript
- Las comillas simples, los escapes y los saltos de línea del cuerpo se analizan bien
- La sustitución va del índice mayor al menor, así que las tablas de más de diez palabras no se pisan
- Si la entrada no tiene este formato, se indica la forma esperada en vez de un simple error de análisis
Cómo se usa
- Pega el `eval(function(p,a,c,k,e,d){…})` entero en la caja, con el `eval(` inicial incluido
- Pulsa Ctrl/⌘ + Enter o haz clic en Ejecutar
- El resultado es el código recuperado
- Cambia la dirección para empaquetar si quieres lo contrario
Preguntas frecuentes
- ¿Esto ejecuta mi script?
- No. Desempaquetar aquí es pura manipulación de cadenas: se analizan los parámetros y se sustituyen los nombres cortos por sus palabras. No hay ningún `eval` en ello. Muchas herramientas en línea toman el atajo de evaluar el código, lo que equivale a ejecutar el script de un desconocido dentro de tu navegador — y el código empaquetado es justo el que nunca deberías ejecutar a ciegas. Esta implementación es segura para apuntarla a código de origen desconocido.
- ¿Se puede ejecutar directamente lo que sale?
- Normalmente sí. Lo que sale es el código original con las palabras sustituidas de vuelta y nada más cambiado, así que se puede pegar en una consola o en una página HTML. Dos advertencias: puede que el original ya estuviera minificado (nombres de variable cortos, sin saltos de línea) y desempaquetarlo no lo hará más bonito — para eso quieres un formateador; y el código recuperado sigue siendo código de terceros que no has revisado; hacerlo legible no es lo mismo que hacerlo seguro.
- ¿El empaquetado reproduce exactamente la salida del original?
- No byte a byte. El packer original recorre el código, cuenta frecuencias de palabras y asigna nombres cortos según sus propias reglas. La implementación de aquí es una versión simplificada (extrae identificadores, ordena por apariciones y reparte los índices más cortos disponibles). El formato es compatible — los navegadores lo ejecutan y esta herramienta lo desempaqueta —, pero la asignación puede diferir. Usa el script original si necesitas su salida exacta.
Herramientas relacionadas
Ofuscador JS
FormatoQuita comentarios y espacios, escapa cadenas y números y renombra variables locales: más pequeño y más difícil de hojear. Todo en local.
JS: minificar y embellecer
FormatoMinifica JavaScript (quita comentarios y espacios, conserva las licencias /*!) o lo embellece reindentando por llaves y puntos y coma. Nada se sube.
Resaltado de código
WebColorea código con sintaxis y cópialo con el color intacto a PowerPoint, Word o correo; o exporta HTML con estilos en línea para tu blog. 26 lenguajes.
Base64
CifradoConvierte texto a Base64 y al revés, con UTF-8 correcto para acentos, chino y emoji. Todo se ejecuta en tu navegador: no se sube nada.
Codificar URL
CifradoEscapa texto a la forma %XX y lo devuelve, tratando una URL completa y un valor de parámetro como trabajos distintos. Todo en tu navegador.
Entidades HTML
CifradoConvierte < > & y las comillas en entidades HTML y las devuelve en una sola pasada, así que &lt; da <, no un ángulo. En tu navegador.